be2net: Add MCC queue mechanism for BE cmds
Currenlty all cmds use the blocking MCC mbox to post cmds. An mbox cmd is protected via a spin_lock(cmd_lock) and not spin_lock_bh() as it is undesirable to disable BHs while a blocking mbox cmd is in progress (and take long to finish.) This can lockup a cmd in progress in process context. Instead cmds that may be called in BH context must use the MCC queue to post cmds. The cmd completions are rcvd in a separate completion queue and the events are placed in the tx-event queue. Signed-off-by:Sathya Perla <sathyap@serverengines.com> Signed-off-by:
David S. Miller <davem@davemloft.net>
Showing
- drivers/net/benet/be.h 64 additions, 31 deletionsdrivers/net/benet/be.h
- drivers/net/benet/be_cmds.c 200 additions, 58 deletionsdrivers/net/benet/be_cmds.c
- drivers/net/benet/be_cmds.h 39 additions, 1 deletiondrivers/net/benet/be_cmds.h
- drivers/net/benet/be_hw.h 7 additions, 1 deletiondrivers/net/benet/be_hw.h
- drivers/net/benet/be_main.c 145 additions, 70 deletionsdrivers/net/benet/be_main.c
Loading
Please register or sign in to comment