Navdeep Parhar d6f9d028c8 cxgbe/cxgbei: Various changes in the rx path.
- In the iSCSI CPL handlers, do not rely on the ulpcb/icl_conn when in
  the middle of assembling a PDU.  This is so we don't have to grab
  various locks and evaluate the kernel state of the connection multiple
  times.  Instead, the state is evaluated once after the entire PDU is
  received.  This requires another ULP specific item in toepcb (ulpcb2).

- If there is data in the so_rcv sockbuf of a connection in iSCSI ULP
  mode it must be from before the connection got promoted to ULP mode.
  Convert the contents of the sockbuf to PDUs and deliver them to ICL.
  Do this before delivering the PDUs received on the "normal" ULP path.

- The receive path within ICL is allowed to sleep so it's not
  appropriate to deliver PDUs to ICL from the driver's ithread, or from
  any other thread with any mutex held.  Use worker threads (created
  back in r285650 but unused till now) to dispatch received PDUs to ICL.
  Assign a worker thread to each connection.  For now everything goes to
  the first thread.

- Prevent various bad races that are possible when more than one of
  a) rx ithread, b) worker thread, and c) icl_conn_close are active at
  the same time.
2015-11-24 02:37:16 +00:00
..
2015-11-19 16:28:42 +00:00
2015-11-19 08:04:05 +00:00
2015-11-19 05:50:22 +00:00
2015-11-12 10:31:14 +00:00