![]() | |||||||||||||
Messages in this thread |
On Mar 19, 2005, at 11:31, Ingo Molnar wrote: >> What about allowing only as many concurrent readers as there are CPUs? > > since a reader may be preempted by a higher prio task, there is no > linear relationship between CPU utilization and the number of readers > allowed. You could easily end up having all the nr_cpus readers > preempted on one CPU. It gets pretty messy One solution I can think of, although it bloats memory usage for many-way boxen, is to just have a table in the rwlock with one entry per cpu. Each CPU would get one concurrent reader, others would need to sleep Cheers, Kyle Moffett -----BEGIN GEEK CODE BLOCK----- Version: 3.12 GCM/CS/IT/U d- s++: a18 C++++>$ UB/L/X/*++++(+)>$ P+++(++++)>$ L++++(+++) E W++(+) N+++(++) o? K? w--- O? M++ V? PS+() PE+(-) Y+ PGP+++ t+(+++) 5 X R? tv-(--) b++++(++) DI+ D+ G e->++++$ h!*()>++$ r !y?(-) ------END GEEK CODE BLOCK------ - 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/ | ||||||||||||
| Last update: 2005-03-22 14:11 [from the cache] ©2003-2008 | |||||||||||||