cvs commit: src/sys/dev/random randomdev_soft.c

Robert Watson rwatson at FreeBSD.org
Mon Oct 11 11:44:11 PDT 2004


On Mon, 11 Oct 2004, John Baldwin wrote:

> On Saturday 09 October 2004 06:07 pm, Robert Watson wrote:
> > 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.
> 
> Like TAILQ_CONCAT? :)

Exactly like that!

Robert N M Watson             FreeBSD Core Team, TrustedBSD Projects
robert at fledge.watson.org      Principal Research Scientist, McAfee Research



More information about the cvs-all mailing list