myri10ge: DCA update (resubmit)
authorAndrew Gallatin <gallatin@myri.com>
Tue, 28 Sep 2010 08:13:12 +0000 (08:13 +0000)
committerDavid S. Miller <davem@davemloft.net>
Thu, 30 Sep 2010 02:45:37 +0000 (19:45 -0700)
commitef09aadf7bf1a17f4d4938855238c0fd8749a99f
treeeb30777402c9f8f36e0751d1a6854bdc7abe02c1
parent8681dc3abd54e845a2effab441921b4c4457c241
myri10ge: DCA update (resubmit)

This patch contains the following DCA improvements to myri10ge:

1) Finally move myri10ge to use dca3 API

2) Disable PCIe relaxed ordering when enabling DCA on
     myri10ge.  This provides a performance boost on Nehalem
     based Xeons

3) Make sure to properly initialize NIC's DCA state when it is enabled,
     rather than giving the NIC a bogus tag (0) and waiting for
     the first received packet to trigger an update.  Not using a
     real tag can cause hardware exceptions on some motherboards
     when a CPU socket is empty.

3) Always update the cached CPU when our interrupt affinity changes
     so as to avoid excessive calls to dca3_get_tag()

Signed-off-by: Andrew Gallatin <gallatin@myri.com>
Signed-off-by: Loic Prylli <loic@myri.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/myri10ge/myri10ge.c