Re: PCI DMA to small buffers on cache-incoherent arch

Oliver Neukum (oliver@neukum.name)
Tue, 11 Jun 2002 08:23:52 +0200


Am Dienstag, 11. Juni 2002 06:38 schrieb David S. Miller:
> From: Roland Dreier <roland@topspin.com>
> Date: 10 Jun 2002 21:39:27 -0700
>
> David> How about allocating struct something using pci_pool?
>
> The problem is the driver can't safely touch field1 or field2 near
> the DMA (it might pull the cache line back in too soon, or dirty the
> cache line and have it written back on top of DMA'ed data)
>
> Oh duh, I see, then go to making the thing a pointer to the
> dma area.

That would mean doing things like memory allocations for one single
byte. Also it would affect things like the scsi layer (sense buffer in
the structure).
And it would be additional overhead for everybody for the benefit
of a small minority. An alignment macro could be turned into a nop
on some architectures.

Regards
Oliver

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/