On 02/02/2011 09:41 PM, Bhanu Gollapudi wrote:
+ spin_unlock_bh(&fps->fp_work_lock);
+
+ /* Pending work request completion */
+ if (fps->iothread&& work)
+ wake_up_process(fps->iothread);
This looks like blk io poll but with a thread instead of a softirq. Use
what is in the kernel already.
I'll have to take a look at implementation details of blk io poll. This
will be a change in IO path, and I'll have to do a lot of testing. So, I
cannot promise I can do this change in v6 submittal. Probably will stage
it later.
Did you just add the completion in a thread code? I do not remember it
being there before.
What is the benefit?
It seems like if you just call bnx2fc_process_cq_compl from here then
you go from
network driver isr-> wake network soft irq -> network soft irq -> calls
driver then driver ends up calling bnx2fc_process_new_cqes?
Why do you want to push that to another thread? And then have that
thread push it to another soft irq (the block irq)?
Are you not supposed to do a lot of work in the network soft irq or did
I misread the code that this gets run from the network driver isr?
--
To unsubscribe from this list: send the line "unsubscribe linux-scsi" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html