Date: Sat, 9 Oct 2004 18:07:34 -0400 (EDT) From: Robert Watson <rwatson@FreeBSD.org> To: src-committers@FreeBSD.org, cvs-src@FreeBSD.org, cvs-all@FreeBSD.org Subject: Re: cvs commit: src/sys/dev/random randomdev_soft.c Message-ID: <Pine.NEB.3.96L.1041009180630.14314A-100000@fledge.watson.org> In-Reply-To: <200410092204.i99M4Dl7026960@repoman.freebsd.org>
next in thread | previous in thread | raw e-mail | index | archive | help
On Sat, 9 Oct 2004, Robert Watson wrote: > - When reaping harvested entries from the queue, move all entries from > the queue at once, and when done with them, insert them all into a > thread-local queue for processing; then insert them all into the > empty fifo at once. This reduces O(4n) mutex operations to O(2) > mutex operations per wakeup. Right now we do a slightly harmful O(2N) walk of the records to move them to a thread-local queue. It would be very nice to have an O(1) tailq (and other list) "move them all" operation to move all entries to a local head. This would also be useful when dealing with other work queues in worker threads, such as bio queues, etc. Robert N M Watson FreeBSD Core Team, TrustedBSD Projects robert@fledge.watson.org Principal Research Scientist, McAfee Research
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?Pine.NEB.3.96L.1041009180630.14314A-100000>