On Tue, Feb 13, 2007 at 11:41:31PM +0100, Ingo Molnar ([EMAIL PROTECTED]) wrote: > > Then limit it to a single page and use gup > > 1024 (512 on 64-bit) is alot but not ALOT. It is also certainly not > ALOOOOT :-) Really, people will want to have more than 512 > disks/spindles in the same box. I have used such a beast myself. For Tux > workloads and benchmarks we had parallelism levels of millions of > pending requests (!) on a single system - networking, socket limits, > disk IO combined with thousands of clients do create such scenarios. I > really think that such 'pinned pages' are a pretty natural fit for > sys_mlock() and RLIMIT_MEMLOCK, and since the kernel side is careful to > use the _inatomic() uaccess methods, it's safe (and fast) as well.
This will end up badly - I used the same approach in the early kevent days and was proven to have swapable memory for the ring. I think it would be much better to have userspace allocated ring and use copy_to_user() there. Btw, as a bit of advertisement, the whole completion part can be done through kevent which already has ring buffer, queue operations and non-racy updates... :) > Ingo -- Evgeniy Polyakov - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/