Mike Christie wrote:
> Hey Broadcom guys and iscsi list,
> I put up all my changes to the bnx2i driver in the bnx2i branches of the 
> open-iscsi git tree and linux-2.6-iscsi.
> It hooks bnx2i into the iscsi layers like how iser and iscsi_tcp is, 
> except that it allocates a scsi_host per net device instead of per session.
> The code is only compile tested, and I am sure it is very broken because 
> lot of code changed:
>   bnx2i.h       |  272 ------
>   bnx2i_hwi.c   |  930 +++++++++++-----------
>   bnx2i_init.c  |   15
>   bnx2i_iscsi.c | 2365 
> +++++++++++-----------------------------------------------
>   4 files changed, 947 insertions(+), 2635 deletions(-)
> There are also lots of TODO items in the code. Grep for TODO and/or mnc 
> for review comments mixed into the code, and check out the git commits 
> for some more todo items.

One thing I forgot was that in the bnx2i driver I was grabbing the 
session spin lock with spin_lock_irqsave, but in libiscsi we use 
spin_lock_bh since the software initiators recv path gets run directly 
from a softirq or tasklet.

It looked like bnx2i's bnx2i_hwi.c processing actually got run from the 
network layer's softirq instead of a driver's interrupt handler. Is that 
right? We need to sync up the driver to use spin_lock_bh or modify the 
libiscsi code to use spin_lock_irqsave.

You received this message because you are subscribed to the Google Groups 
"open-iscsi" group.
To post to this group, send email to open-iscsi@googlegroups.com
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at http://groups.google.com/group/open-iscsi

Reply via email to