netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 0/4 net-next] enic: add devcmd2
@ 2015-08-15 20:14 Govindarajulu Varadarajan
  2015-08-15 20:14 ` [PATCH 1/4 net-next] enic: move struct definition from .c to .h file Govindarajulu Varadarajan
                   ` (4 more replies)
  0 siblings, 5 replies; 8+ messages in thread
From: Govindarajulu Varadarajan @ 2015-08-15 20:14 UTC (permalink / raw)
  To: davem, netdev; +Cc: nalreddy, ssujith, benve, Govindarajulu Varadarajan

This series adds new devcmd2 support. The first two patches are code
refactoring.

devcmd is an interface for driver to communicate with fw/adaptor. It
involves writing data to hardware registers and waiting for the result.
This mechanism does not scale well. The queuing of "no wait" devcmds is
done in firmware memory rather than on the host. Firmware memory is a
rather more scarce and valuable resource than host memory. A devcmd storm
from one vf can disrupt the service on other pf/vf. The lack of flow
control allows for possible denial of server from one VM to another.
Devcmd2 uses work queue to post the devcmds, just like tx work queue. This
allows better flow control.

Govindarajulu Varadarajan (4):
  enic: move struct definition from .c to .h file
  enic: use netdev_<foo> or dev_<foo> instead of pr_<foo>
  enic: add devcmd2 resources
  enic: add devcmd2

 drivers/net/ethernet/cisco/enic/enic.h          |  21 +-
 drivers/net/ethernet/cisco/enic/enic_main.c     |   5 +
 drivers/net/ethernet/cisco/enic/vnic_cq.c       |   3 +-
 drivers/net/ethernet/cisco/enic/vnic_dev.c      | 275 ++++++++++++++++++------
 drivers/net/ethernet/cisco/enic/vnic_dev.h      |  44 +++-
 drivers/net/ethernet/cisco/enic/vnic_devcmd.h   |  28 +++
 drivers/net/ethernet/cisco/enic/vnic_intr.c     |   3 +-
 drivers/net/ethernet/cisco/enic/vnic_resource.h |   7 +
 drivers/net/ethernet/cisco/enic/vnic_rq.c       |   6 +-
 drivers/net/ethernet/cisco/enic/vnic_wq.c       |  31 ++-
 drivers/net/ethernet/cisco/enic/vnic_wq.h       |  17 ++
 11 files changed, 357 insertions(+), 83 deletions(-)

-- 
2.5.0

^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2015-08-21 18:26 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-08-15 20:14 [PATCH 0/4 net-next] enic: add devcmd2 Govindarajulu Varadarajan
2015-08-15 20:14 ` [PATCH 1/4 net-next] enic: move struct definition from .c to .h file Govindarajulu Varadarajan
2015-08-15 20:14 ` [PATCH 2/4 net-next] enic: use netdev_<foo> or dev_<foo> instead of pr_<foo> Govindarajulu Varadarajan
2015-08-15 20:14 ` [PATCH 3/4 net-next] enic: add devcmd2 resources Govindarajulu Varadarajan
2015-08-15 20:14 ` [PATCH 4/4 net-next] enic: add devcmd2 Govindarajulu Varadarajan
2015-08-17 22:38 ` [PATCH 0/4 " David Miller
2015-08-21 17:19   ` Brandeburg, Jesse
2015-08-21 18:40     ` David Miller

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).