> lis_head_put_fcn() is the deepest and most contorted
> atomic_dec_and_test that I have seen.
Agreed. I simplified it and eliminated the use of the lock.
I have some similar concerns about lis_setqsched()function.
It takes lis_spin_lock_irqsave() at the beginning and then it is
possible that it will do a number of lis_up() calls while still
holding that lock. (inside ... /* find a sleeping thread */ loop)
I rewrote and simplified this routine. It will now always wake up the queue runner thread. It will never call the queue processing directly. This will also allow me to drop some credentials manipulation that was caused by running queues from a user thread.
-- Dave
--- Outgoing mail is certified Virus Free. Checked by AVG anti-virus system (http://www.grisoft.com). Version: 6.0.655 / Virus Database: 420 - Release Date: 4/8/2004
