Messages in this thread | | | Date | Mon, 14 Apr 2008 19:05:05 +0200 | From | Jens Axboe <> | Subject | Re: [patch] cciss: Fix race between disk-adding code and interrupt handler |
| |
On Mon, Apr 14 2008, scameron@beardog.cca.cpqcorp.net wrote: > > > Fix race condition between cciss_init_one(), cciss_update_drive_info(), > and cciss_check_queues(). cciss_softirq_done would try to start > queues which were not quite ready to be started, as its checks for > readiness were not sufficiently synchronized with the queue initializing > code in cciss_init_one and cciss_update_drive_info. Slow cpu and > large numbers of logical drives seem to make the race more likely > to cause a problem.
Hmm, this seems backwards to me. cciss_softirq_done() isn't going to start the queues, until an irq has triggered for instance. Why isn't the init properly ordered instead of band-aiding around this with a 'queue_ready' variable?
-- Jens Axboe
| |