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

Oliver Neukum
2002-06-11T07:39:53Z

Am Dienstag, 11. Juni 2002 08:38 schrieb David S. Miller:
> From: Oliver Neukum <oliver@neukum.name>
> Date: Tue, 11 Jun 2002 08:23:52 +0200
>
> 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.
>
> The problem is people are going to get it wrong if we expose all of
> this cacheline crap to the drivers.

You don't have to fully expose it. We make a simple rule like:
If you want to do DMA to a variable it needs "DMA_ALIGN after the
name in the declaration". Architectures could define it, with generic nop.
People will get it wrong by doing DMA to members of structures
otherwise. There's no really painless way to solve this.
You have to introduce a new rule anyway.

Regards
Oliver