Problem of concurrency in arch/ppc/8260_io/uart.c
Dan Malek
dan at embeddededge.com
Sat Sep 27 09:12:20 EST 2003
Joakim Tjernlund wrote:
> Yes, thats correct. I did try different ways around that but the only thing that
> would work is to make copy_from_user() copy to i tmp buf and then copy the
> tmp buf into the BD. Would that be better?
I wonder what happens if we mark a buffer ready with a count of zero?
Since the typical case is no page fault, I would just update the BD ptr
early, use the buffer, mark it ready. If you get a fault, put a zero
for the count and mark it ready. If that freaks out the CPM, put one
byte of zero into the buffer and give it a count of 1. Then you just have
to hold the lock across the update of the BD ptr, just like everywhere else.
-- Dan
** Sent via the linuxppc-embedded mail list. See http://lists.linuxppc.org/
More information about the Linuxppc-embedded
mailing list