Skip site navigation (1)Skip section navigation (2)
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>