* Re: [Bugme-new] [Bug 26632] New: rtl8169 slow to come up and not allowing telnetd-ssl negotiation
From: David Miller @ 2011-01-20 0:27 UTC (permalink / raw)
To: akpm; +Cc: netdev, jengelh, bugzilla-daemon, bugme-daemon, arthur.marsh
In-Reply-To: <20110119145904.d750d49d.akpm@linux-foundation.org>
From: Andrew Morton <akpm@linux-foundation.org>
Date: Wed, 19 Jan 2011 14:59:04 -0800
> This regression was bisected to
>
> 0ab03c2b1478f2438d2c80204f7fef65b1bca9cf is the first bad commit
> commit 0ab03c2b1478f2438d2c80204f7fef65b1bca9cf
> Author: Jan Engelhardt <jengelh@medozas.de>
> Date: Fri Jan 7 03:15:05 2011 +0000
>
> netlink: test for all flags of the NLM_F_DUMP composite
Which is being reverted.
^ permalink raw reply
* Re: [Bugme-new] [Bug 26632] New: rtl8169 slow to come up and not allowing telnetd-ssl negotiation
From: Jan Engelhardt @ 2011-01-20 0:12 UTC (permalink / raw)
To: Andrew Morton; +Cc: netdev, bugzilla-daemon, bugme-daemon, arthur.marsh
In-Reply-To: <20110119145904.d750d49d.akpm@linux-foundation.org>
On Wednesday 2011-01-19 23:59, Andrew Morton wrote:
>(switched to email. Please respond via emailed reply-to-all, not via the
>bugzilla web interface).
>
>On Thu, 13 Jan 2011 09:53:26 GMT
>bugzilla-daemon@bugzilla.kernel.org wrote:
>
>> https://bugzilla.kernel.org/show_bug.cgi?id=26632
>>
>> Summary: rtl8169 slow to come up and not allowing telnetd-ssl
>> negotiation
>
>This regression was bisected to
>
>0ab03c2b1478f2438d2c80204f7fef65b1bca9cf is the first bad commit
> netlink: test for all flags of the NLM_F_DUMP composite
Adressed by dave/net-next-2.6 b8f3ab4290f1e720166e888ea2a1d1d44c4d15dd
for now while it is being figured out what to really do.
^ permalink raw reply
* Re: Question on RX packet classification in ethtool userspace
From: Ben Hutchings @ 2011-01-19 23:19 UTC (permalink / raw)
To: Duyck, Alexander H
Cc: David Miller, santwona.behera@sun.com, jeff@garzik.org,
netdev@vger.kernel.org
In-Reply-To: <80769D7B14936844A23C0C43D9FBCF0F25C04CB6B2@orsmsx501.amr.corp.intel.com>
On Wed, 2011-01-19 at 14:52 -0800, Duyck, Alexander H wrote:
> So I was looking into the option of replacing the ETHTOOL_GRXNTUPLE
> call with something like ETHTOOL_GRXCLSRLALL and it seems like I
> wasn't having much luck finding the userspace implementation in the
> ethtool.
I wasn't aware until now that there was a public implementation!
> I eventually found a patch in patchwork at
> http://patchwork.ozlabs.org/patch/23223/ which is supposed to add
> support but the current ethtool git tree doesn't appear to contain
> this code. I was wondering if I am missing something and it is on a
> branch somewhere, or is this something that was not applied to the
> userspace for some specific reason?
Thanks for digging this up. It's not in any branch that I know of. I'm
about to go on vacation, but I'll look at it when I get back. I would
appreciate it if someone would refresh the patch against current ethtool
(preferably reusing some of the functions added for the RX n-tuple
operations).
Ben.
--
Ben Hutchings, Senior Software Engineer, Solarflare Communications
Not speaking for my employer; that's the marketing department's job.
They asked us to note that Solarflare product names are trademarked.
^ permalink raw reply
* Re: [Bugme-new] [Bug 26632] New: rtl8169 slow to come up and not allowing telnetd-ssl negotiation
From: Andrew Morton @ 2011-01-19 22:59 UTC (permalink / raw)
To: netdev, Jan Engelhardt; +Cc: bugzilla-daemon, bugme-daemon, arthur.marsh
In-Reply-To: <bug-26632-10286@https.bugzilla.kernel.org/>
(switched to email. Please respond via emailed reply-to-all, not via the
bugzilla web interface).
On Thu, 13 Jan 2011 09:53:26 GMT
bugzilla-daemon@bugzilla.kernel.org wrote:
> https://bugzilla.kernel.org/show_bug.cgi?id=26632
>
> Summary: rtl8169 slow to come up and not allowing telnetd-ssl
> negotiation
> Product: Drivers
> Version: 2.5
> Kernel Version: 2.6.37-git9
> Platform: All
> OS/Version: Linux
> Tree: Mainline
> Status: NEW
> Severity: high
> Priority: P1
> Component: Network
> AssignedTo: drivers_network@kernel-bugs.osdl.org
> ReportedBy: arthur.marsh@internode.on.net
> CC: arthur.marsh@internode.on.net
> Regression: Yes
>
>
> I have an ASUS M3A78 Pro motherboard (AMD64, RS780 chipset) with onboard
> Realtek 8169. Normally the ethernet connection comes up quickly, including with
> kernel 2.6.37-git7. With kernel 2.6.37-git9, I get the following in dmesg:
>
> $ dmesg|grep eth0
> [ 0.878911] r8169 0000:02:00.0: eth0: RTL8168c/8111c at 0xffffc9000007a000,
> 00:23:54:5e:5d:d5, XID 1c4000c0 IRQ 40
> [ 11.156602] r8169 0000:02:00.0: eth0: link down
> [ 11.156639] r8169 0000:02:00.0: eth0: link down
> [ 11.157333] ADDRCONF(NETDEV_UP): eth0: link is not ready
> [ 12.780948] r8169 0000:02:00.0: eth0: link up
> [ 12.783051] ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready
>
> At this stage I can connect to the internet with HTTP/HTTPS but a telnet-ssl
> <address-of-this-machine> or telnet-ssl from another machine to this one fails
> at the telnet negotiation stage. telnet-ssl from this machine to another works.
>
This regression was bisected to
0ab03c2b1478f2438d2c80204f7fef65b1bca9cf is the first bad commit
commit 0ab03c2b1478f2438d2c80204f7fef65b1bca9cf
Author: Jan Engelhardt <jengelh@medozas.de>
Date: Fri Jan 7 03:15:05 2011 +0000
netlink: test for all flags of the NLM_F_DUMP composite
^ permalink raw reply
* Question on RX packet classification in ethtool userspace
From: Duyck, Alexander H @ 2011-01-19 22:52 UTC (permalink / raw)
To: David Miller, Ben Hutchings, santwona.behera@sun.com,
jeff@garzik.org
Cc: netdev@vger.kernel.org
So I was looking into the option of replacing the ETHTOOL_GRXNTUPLE call with something like ETHTOOL_GRXCLSRLALL and it seems like I wasn't having much luck finding the userspace implementation in the ethtool.
I eventually found a patch in patchwork at http://patchwork.ozlabs.org/patch/23223/ which is supposed to add support but the current ethtool git tree doesn't appear to contain this code. I was wondering if I am missing something and it is on a branch somewhere, or is this something that was not applied to the userspace for some specific reason?
Thanks,
Alex
^ permalink raw reply
* [PATCH 1/2] linux-firmware: bnx2: Update firmware to 6.0.x.
From: Michael Chan @ 2011-01-19 21:50 UTC (permalink / raw)
To: dwmw2; +Cc: netdev
upstream kernel commit 22fa159d37efbfe781bbb99279efe83f58b87d29
- Improved flow control and simplified interface
- Use hardware RSS indirection table instead of the slower firmware-
based table
- Lower latency interrupt on 5709
Signed-off-by: Michael Chan <mchan@broadcom.com>
Reviewed-by: Benjamin Li <benli@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
---
bnx2/bnx2-mips-06-6.0.15.fw | Bin 0 -> 92780 bytes
bnx2/bnx2-mips-09-6.0.17.fw | Bin 0 -> 103488 bytes
bnx2/bnx2-rv2p-06-6.0.15.fw | Bin 0 -> 5696 bytes
bnx2/bnx2-rv2p-09-6.0.17.fw | Bin 0 -> 6104 bytes
bnx2/bnx2-rv2p-09ax-6.0.17.fw | Bin 0 -> 6616 bytes
5 files changed, 0 insertions(+), 0 deletions(-)
create mode 100644 bnx2/bnx2-mips-06-6.0.15.fw
create mode 100644 bnx2/bnx2-mips-09-6.0.17.fw
create mode 100644 bnx2/bnx2-rv2p-06-6.0.15.fw
create mode 100644 bnx2/bnx2-rv2p-09-6.0.17.fw
create mode 100644 bnx2/bnx2-rv2p-09ax-6.0.17.fw
diff --git a/bnx2/bnx2-mips-06-6.0.15.fw b/bnx2/bnx2-mips-06-6.0.15.fw
new file mode 100644
index 0000000000000000000000000000000000000000..012c972b33fe30f2c1ab91dc3ce5bba293a08db4
GIT binary patch
literal 92780
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°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
CLusA>
literal 0
HcmV?d00001
diff --git a/bnx2/bnx2-mips-09-6.0.17.fw b/bnx2/bnx2-mips-09-6.0.17.fw
new file mode 100644
index 0000000000000000000000000000000000000000..1349994d81ce9c34d397346446d795c8e8e91cb9
GIT binary patch
literal 103488
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
literal 0
HcmV?d00001
diff --git a/bnx2/bnx2-rv2p-06-6.0.15.fw b/bnx2/bnx2-rv2p-06-6.0.15.fw
new file mode 100644
index 0000000000000000000000000000000000000000..4d756e1e5c0a07de32671ccb95d211c8af0264a6
GIT binary patch
literal 5696
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
literal 0
HcmV?d00001
diff --git a/bnx2/bnx2-rv2p-09-6.0.17.fw b/bnx2/bnx2-rv2p-09-6.0.17.fw
new file mode 100644
index 0000000000000000000000000000000000000000..66932993c10086c6069c00b2eb1220f16e7ff2ce
GIT binary patch
literal 6104
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
Fe*??vd9(lk
literal 0
HcmV?d00001
diff --git a/bnx2/bnx2-rv2p-09ax-6.0.17.fw b/bnx2/bnx2-rv2p-09ax-6.0.17.fw
new file mode 100644
index 0000000000000000000000000000000000000000..e5738ce98265952094953d41b22d2eb45826e388
GIT binary patch
literal 6616
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
bc21{$Z2M1fY&ZoT*LLd7+*@qd)xLiL({ZxF
literal 0
HcmV?d00001
--
1.6.4.GIT
^ permalink raw reply
* [PATCH 2/2] linux-firmware: bnx2: Update firmware and version
From: Michael Chan @ 2011-01-19 21:50 UTC (permalink / raw)
To: dwmw2; +Cc: netdev
In-Reply-To: <1295473811-17443-1-git-send-email-mchan@broadcom.com>
upstream kernel commit 0268102d53c872b42e214f95492065c8058b042e
Update MIPS firmware to 6.2.1, with improved small packet performance
in RSS mode, and iSCSI CID allocation bug fix on 5708.
Update driver version to 2.0.21.
Signed-off-by: Michael Chan <mchan@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
---
bnx2/bnx2-mips-06-6.2.1.fw | Bin 0 -> 92792 bytes
bnx2/bnx2-mips-09-6.2.1.fw | Bin 0 -> 104104 bytes
2 files changed, 0 insertions(+), 0 deletions(-)
create mode 100644 bnx2/bnx2-mips-06-6.2.1.fw
create mode 100644 bnx2/bnx2-mips-09-6.2.1.fw
diff --git a/bnx2/bnx2-mips-06-6.2.1.fw b/bnx2/bnx2-mips-06-6.2.1.fw
new file mode 100644
index 0000000000000000000000000000000000000000..3c17b89b7041fd99d18dea972b98f9f00328d318
GIT binary patch
literal 92792
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
P2FD$6KCiS=3;p_Ekw0)s
literal 0
HcmV?d00001
diff --git a/bnx2/bnx2-mips-09-6.2.1.fw b/bnx2/bnx2-mips-09-6.2.1.fw
new file mode 100644
index 0000000000000000000000000000000000000000..bd78e3fced4cb02e318d033e3222d15f2f26b89c
GIT binary patch
literal 104104
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
ATmS$7
literal 0
HcmV?d00001
--
1.6.4.GIT
^ permalink raw reply
* Re: [PATCH] net: fix can_checksum_protocol() arguments swap
From: David Miller @ 2011-01-19 22:14 UTC (permalink / raw)
To: eric.dumazet; +Cc: netdev, jesse, jmdebruin
In-Reply-To: <1295434296.3273.18.camel@edumazet-laptop>
From: Eric Dumazet <eric.dumazet@gmail.com>
Date: Wed, 19 Jan 2011 11:51:36 +0100
> commit 0363466866d901fbc (net offloading: Convert checksums to use
> centrally computed features.) mistakenly swapped can_checksum_protocol()
> arguments.
>
> This broke IPv6 on bnx2 for instance, on NIC without TCPv6 checksum
> offloads.
>
> Reported-by: Hans de Bruin <jmdebruin@xmsnet.nl>
> Signed-off-by: Eric Dumazet <eric.dumazet@gmail.com>
> CC: Jesse Gross <jesse@nicira.com>
Applied, thanks!
^ permalink raw reply
* Re: [PATCH 00/79] netfilter: netfilter update
From: David Miller @ 2011-01-19 21:55 UTC (permalink / raw)
To: kaber; +Cc: netfilter-devel, netdev
In-Reply-To: <1295464519-21763-1-git-send-email-kaber@trash.net>
From: kaber@trash.net
Date: Wed, 19 Jan 2011 20:14:00 +0100
> Please pull from
>
> git://git.kernel.org/pub/scm/linux/kernel/git/kaber/nf-next-2.6.git master
Pulled, thanks.
^ permalink raw reply
* Re: [PATCH net-next-2.6 1/5] genirq: Add IRQ affinity notifiers
From: Thomas Gleixner @ 2011-01-19 21:53 UTC (permalink / raw)
To: David Miller; +Cc: bhutchings, netdev, linux-net-drivers, therbert
In-Reply-To: <20110119.134812.123988295.davem@davemloft.net>
On Wed, 19 Jan 2011, David Miller wrote:
> From: Thomas Gleixner <tglx@linutronix.de>
> Date: Wed, 19 Jan 2011 22:39:04 +0100 (CET)
> > Nothing will happen and no hassels at all, because your tree and my
> > tree have the exact same commit with the exact same sha1. You don't
> > have further changes in your tree which touch genirq stuff and I don't
> > have anything which touches net.
>
> You said you had stuff before Ben's patches, and that's why you needed
> to provide me with an -rc1 relative version of his commits.
Sorry, I meant other stuff pending (not yet applied) which will
interfere with that patch. And even if I would have pending patches in
git already it would not matter:
tip/irq/core some stuff based on whatever
tip/irq/for-net single patch based on rc1
tip/irq/core merges tip/irq/for-net _before_ offering it to Linus
You pull tip/irq/for-net and nothing breaks :)
> If that's not the case, then yes it would work just fine.
>
> Just give me the URL to pull from, thanks!
Will do, give me a day or two !
Thanks,
tglx
^ permalink raw reply
* Re: [PATCH net-next-2.6 1/5] genirq: Add IRQ affinity notifiers
From: David Miller @ 2011-01-19 21:48 UTC (permalink / raw)
To: tglx; +Cc: bhutchings, netdev, linux-net-drivers, therbert
In-Reply-To: <alpine.LFD.2.00.1101192229500.3211@localhost6.localdomain6>
From: Thomas Gleixner <tglx@linutronix.de>
Date: Wed, 19 Jan 2011 22:39:04 +0100 (CET)
> On Wed, 19 Jan 2011, David Miller wrote:
>> From: Thomas Gleixner <tglx@linutronix.de>
>> Date: Wed, 19 Jan 2011 22:19:04 +0100 (CET)
>>
>> > B1;2401;0cOn Wed, 19 Jan 2011, Ben Hutchings wrote:
>> >
>> >> When initiating I/O on a multiqueue and multi-IRQ device, we may want
>> >> to select a queue for which the response will be handled on the same
>> >> or a nearby CPU. This requires a reverse-map of IRQ affinity. Add a
>> >> notification mechanism to support this.
>> >>
>> >> This is based closely on work by Thomas Gleixner <tglx@linutronix.de>.
>> >>
>> >> Signed-off-by: Ben Hutchings <bhutchings@solarflare.com>
>> >> ---
>> >> Thomas, I hope this answers all your comments. If you are happy with
>> >> this, can it go into net-next-2.6 so the rest of this series can get
>> >> into 2.6.39?
>> >
>> > Looks good, but I prefer to take it via the tip/genirq branch as I
>> > have other changes pending to that code. I'll put this into a separate
>> > branch based on rc1 as a single commit so Dave can pull that branch
>> > into netdev. Dave ?
>>
>> But if you do that what happens down the line when Linus pulls our trees
>> in?
>>
>> If he takes your tip/genirq first, I have merge hassles to deal with.
>>
>> If he takes the -rc1 relative version I end up with, you'll have the
>> merge hassles.
>
> Nothing will happen and no hassels at all, because your tree and my
> tree have the exact same commit with the exact same sha1. You don't
> have further changes in your tree which touch genirq stuff and I don't
> have anything which touches net.
You said you had stuff before Ben's patches, and that's why you needed
to provide me with an -rc1 relative version of his commits.
If that's not the case, then yes it would work just fine.
Just give me the URL to pull from, thanks!
^ permalink raw reply
* Re: [PATCH net-next-2.6 1/5] genirq: Add IRQ affinity notifiers
From: Thomas Gleixner @ 2011-01-19 21:39 UTC (permalink / raw)
To: David Miller; +Cc: bhutchings, netdev, linux-net-drivers, therbert
In-Reply-To: <20110119.132730.57462002.davem@davemloft.net>
On Wed, 19 Jan 2011, David Miller wrote:
> From: Thomas Gleixner <tglx@linutronix.de>
> Date: Wed, 19 Jan 2011 22:19:04 +0100 (CET)
>
> > B1;2401;0cOn Wed, 19 Jan 2011, Ben Hutchings wrote:
> >
> >> When initiating I/O on a multiqueue and multi-IRQ device, we may want
> >> to select a queue for which the response will be handled on the same
> >> or a nearby CPU. This requires a reverse-map of IRQ affinity. Add a
> >> notification mechanism to support this.
> >>
> >> This is based closely on work by Thomas Gleixner <tglx@linutronix.de>.
> >>
> >> Signed-off-by: Ben Hutchings <bhutchings@solarflare.com>
> >> ---
> >> Thomas, I hope this answers all your comments. If you are happy with
> >> this, can it go into net-next-2.6 so the rest of this series can get
> >> into 2.6.39?
> >
> > Looks good, but I prefer to take it via the tip/genirq branch as I
> > have other changes pending to that code. I'll put this into a separate
> > branch based on rc1 as a single commit so Dave can pull that branch
> > into netdev. Dave ?
>
> But if you do that what happens down the line when Linus pulls our trees
> in?
>
> If he takes your tip/genirq first, I have merge hassles to deal with.
>
> If he takes the -rc1 relative version I end up with, you'll have the
> merge hassles.
Nothing will happen and no hassels at all, because your tree and my
tree have the exact same commit with the exact same sha1. You don't
have further changes in your tree which touch genirq stuff and I don't
have anything which touches net.
Thanks,
tglx
^ permalink raw reply
* Re: inbound connection problems when "netlink: test for all flags of the NLM_F_DUMP composite" commit applied
From: David Miller @ 2011-01-19 21:34 UTC (permalink / raw)
To: pablo; +Cc: jarkao2, arthur.marsh, jengelh, eric.dumazet, netdev, hadi
In-Reply-To: <4D372275.3000104@netfilter.org>
From: Pablo Neira Ayuso <pablo@netfilter.org>
Date: Wed, 19 Jan 2011 18:42:13 +0100
> Please, revert this patch until we find a better solution.
Ok, done.
^ permalink raw reply
* Re: [PATCH net-next-2.6 1/5] genirq: Add IRQ affinity notifiers
From: David Miller @ 2011-01-19 21:27 UTC (permalink / raw)
To: tglx; +Cc: bhutchings, netdev, linux-net-drivers, therbert
In-Reply-To: <alpine.LFD.2.00.1101192214350.3211@localhost6.localdomain6>
From: Thomas Gleixner <tglx@linutronix.de>
Date: Wed, 19 Jan 2011 22:19:04 +0100 (CET)
> B1;2401;0cOn Wed, 19 Jan 2011, Ben Hutchings wrote:
>
>> When initiating I/O on a multiqueue and multi-IRQ device, we may want
>> to select a queue for which the response will be handled on the same
>> or a nearby CPU. This requires a reverse-map of IRQ affinity. Add a
>> notification mechanism to support this.
>>
>> This is based closely on work by Thomas Gleixner <tglx@linutronix.de>.
>>
>> Signed-off-by: Ben Hutchings <bhutchings@solarflare.com>
>> ---
>> Thomas, I hope this answers all your comments. If you are happy with
>> this, can it go into net-next-2.6 so the rest of this series can get
>> into 2.6.39?
>
> Looks good, but I prefer to take it via the tip/genirq branch as I
> have other changes pending to that code. I'll put this into a separate
> branch based on rc1 as a single commit so Dave can pull that branch
> into netdev. Dave ?
But if you do that what happens down the line when Linus pulls our trees
in?
If he takes your tip/genirq first, I have merge hassles to deal with.
If he takes the -rc1 relative version I end up with, you'll have the
merge hassles.
^ permalink raw reply
* Re: [PATCH net-next-2.6 1/5] genirq: Add IRQ affinity notifiers
From: Thomas Gleixner @ 2011-01-19 21:19 UTC (permalink / raw)
To: Ben Hutchings; +Cc: netdev, linux-net-drivers, Tom Herbert, David Miller
In-Reply-To: <1295470904.11126.84.camel@bwh-desktop>
B1;2401;0cOn Wed, 19 Jan 2011, Ben Hutchings wrote:
> When initiating I/O on a multiqueue and multi-IRQ device, we may want
> to select a queue for which the response will be handled on the same
> or a nearby CPU. This requires a reverse-map of IRQ affinity. Add a
> notification mechanism to support this.
>
> This is based closely on work by Thomas Gleixner <tglx@linutronix.de>.
>
> Signed-off-by: Ben Hutchings <bhutchings@solarflare.com>
> ---
> Thomas, I hope this answers all your comments. If you are happy with
> this, can it go into net-next-2.6 so the rest of this series can get
> into 2.6.39?
Looks good, but I prefer to take it via the tip/genirq branch as I
have other changes pending to that code. I'll put this into a separate
branch based on rc1 as a single commit so Dave can pull that branch
into netdev. Dave ?
Thanks,
tglx
^ permalink raw reply
* [PATCH net-next-2.6 5/5] sfc: Implement hardware acceleration of RFS
From: Ben Hutchings @ 2011-01-19 21:06 UTC (permalink / raw)
To: Tom Herbert; +Cc: netdev, linux-net-drivers
In-Reply-To: <1295470787.11126.82.camel@bwh-desktop>
---
I consider this experimental still, so it's not signed-off.
Ben.
drivers/net/sfc/efx.c | 49 +++++++++++++++++++++-
drivers/net/sfc/efx.h | 16 +++++++
drivers/net/sfc/filter.c | 94 ++++++++++++++++++++++++++++++++++++++++++
drivers/net/sfc/net_driver.h | 3 +
4 files changed, 160 insertions(+), 2 deletions(-)
diff --git a/drivers/net/sfc/efx.c b/drivers/net/sfc/efx.c
index 002bac7..607316d 100644
--- a/drivers/net/sfc/efx.c
+++ b/drivers/net/sfc/efx.c
@@ -21,6 +21,7 @@
#include <linux/ethtool.h>
#include <linux/topology.h>
#include <linux/gfp.h>
+#include <linux/cpu_rmap.h>
#include "net_driver.h"
#include "efx.h"
#include "nic.h"
@@ -307,6 +308,8 @@ static int efx_poll(struct napi_struct *napi, int budget)
channel->irq_mod_score = 0;
}
+ efx_filter_rfs_expire(channel);
+
/* There is no race here; although napi_disable() will
* only wait for napi_complete(), this isn't a problem
* since efx_channel_processed() will have no effect if
@@ -1175,10 +1178,32 @@ static int efx_wanted_channels(void)
return count;
}
+static int
+efx_init_rx_cpu_rmap(struct efx_nic *efx, struct msix_entry *xentries)
+{
+#ifdef CONFIG_RFS_ACCEL
+ int i, rc;
+
+ efx->net_dev->rx_cpu_rmap = alloc_irq_cpu_rmap(efx->n_rx_channels);
+ if (!efx->net_dev->rx_cpu_rmap)
+ return -ENOMEM;
+ for (i = 0; i < efx->n_rx_channels; i++) {
+ rc = irq_cpu_rmap_add(efx->net_dev->rx_cpu_rmap,
+ xentries[i].vector);
+ if (rc) {
+ free_irq_cpu_rmap(efx->net_dev->rx_cpu_rmap);
+ efx->net_dev->rx_cpu_rmap = NULL;
+ return rc;
+ }
+ }
+#endif
+ return 0;
+}
+
/* Probe the number and type of interrupts we are able to obtain, and
* the resulting numbers of channels and RX queues.
*/
-static void efx_probe_interrupts(struct efx_nic *efx)
+static int efx_probe_interrupts(struct efx_nic *efx)
{
int max_channels =
min_t(int, efx->type->phys_addr_channels, EFX_MAX_CHANNELS);
@@ -1220,6 +1245,11 @@ static void efx_probe_interrupts(struct efx_nic *efx)
efx->n_tx_channels = efx->n_channels;
efx->n_rx_channels = efx->n_channels;
}
+ rc = efx_init_rx_cpu_rmap(efx, xentries);
+ if (rc) {
+ pci_disable_msix(efx->pci_dev);
+ return rc;
+ }
for (i = 0; i < n_channels; i++)
efx_get_channel(efx, i)->irq =
xentries[i].vector;
@@ -1253,6 +1283,8 @@ static void efx_probe_interrupts(struct efx_nic *efx)
efx->n_tx_channels = 1;
efx->legacy_irq = efx->pci_dev->irq;
}
+
+ return 0;
}
static void efx_remove_interrupts(struct efx_nic *efx)
@@ -1302,7 +1334,9 @@ static int efx_probe_nic(struct efx_nic *efx)
/* Determine the number of channels and queues by trying to hook
* in MSI-X interrupts. */
- efx_probe_interrupts(efx);
+ rc = efx_probe_interrupts(efx);
+ if (rc)
+ goto fail;
if (efx->n_channels > 1)
get_random_bytes(&efx->rx_hash_key, sizeof(efx->rx_hash_key));
@@ -1317,6 +1351,10 @@ static int efx_probe_nic(struct efx_nic *efx)
efx_init_irq_moderation(efx, tx_irq_mod_usec, rx_irq_mod_usec, true);
return 0;
+
+fail:
+ efx->type->remove(efx);
+ return rc;
}
static void efx_remove_nic(struct efx_nic *efx)
@@ -1849,6 +1887,9 @@ static const struct net_device_ops efx_netdev_ops = {
#ifdef CONFIG_NET_POLL_CONTROLLER
.ndo_poll_controller = efx_netpoll,
#endif
+#ifdef CONFIG_RFS_ACCEL
+ .ndo_rx_flow_steer = efx_filter_rfs,
+#endif
};
static void efx_update_name(struct efx_nic *efx)
@@ -2288,6 +2329,10 @@ static void efx_fini_struct(struct efx_nic *efx)
*/
static void efx_pci_remove_main(struct efx_nic *efx)
{
+#ifdef CONFIG_RFS_ACCEL
+ free_irq_cpu_rmap(efx->net_dev->rx_cpu_rmap);
+ efx->net_dev->rx_cpu_rmap = NULL;
+#endif
efx_nic_fini_interrupt(efx);
efx_fini_channels(efx);
efx_fini_port(efx);
diff --git a/drivers/net/sfc/efx.h b/drivers/net/sfc/efx.h
index d43a7e5..82c6c53 100644
--- a/drivers/net/sfc/efx.h
+++ b/drivers/net/sfc/efx.h
@@ -74,6 +74,22 @@ extern int efx_filter_remove_filter(struct efx_nic *efx,
struct efx_filter_spec *spec);
extern void efx_filter_clear_rx(struct efx_nic *efx,
enum efx_filter_priority priority);
+#ifdef CONFIG_RFS_ACCEL
+extern int efx_filter_rfs(struct net_device *net_dev, const struct sk_buff *skb,
+ u16 rxq_index, u32 flow_id);
+extern unsigned __efx_filter_rfs_expire(struct efx_nic *efx, unsigned quota);
+static inline void efx_filter_rfs_expire(struct efx_channel *channel)
+{
+ if (channel->rfs_filters_added >= 100) {
+ channel->rfs_filters_added -=
+ __efx_filter_rfs_expire(channel->efx, 100);
+ }
+}
+#define efx_filter_rfs_enabled() 1
+#else
+static inline void efx_filter_rfs_expire(struct efx_channel *channel) {}
+#define efx_filter_rfs_enabled() 0
+#endif
/* Channels */
extern void efx_process_channel_now(struct efx_channel *channel);
diff --git a/drivers/net/sfc/filter.c b/drivers/net/sfc/filter.c
index 47a1b79..987cae4 100644
--- a/drivers/net/sfc/filter.c
+++ b/drivers/net/sfc/filter.c
@@ -8,6 +8,7 @@
*/
#include <linux/in.h>
+#include <net/ip.h>
#include "efx.h"
#include "filter.h"
#include "io.h"
@@ -51,6 +52,10 @@ struct efx_filter_table {
struct efx_filter_state {
spinlock_t lock;
struct efx_filter_table table[EFX_FILTER_TABLE_COUNT];
+#ifdef CONFIG_RFS_ACCEL
+ u32 *rps_flow_id;
+ unsigned rps_expire_index;
+#endif
};
/* The filter hash function is LFSR polynomial x^16 + x^3 + 1 of a 32-bit
@@ -567,6 +572,13 @@ int efx_probe_filters(struct efx_nic *efx)
spin_lock_init(&state->lock);
if (efx_nic_rev(efx) >= EFX_REV_FALCON_B0) {
+#ifdef CONFIG_RFS_ACCEL
+ state->rps_flow_id = kcalloc(FR_BZ_RX_FILTER_TBL0_ROWS,
+ sizeof(*state->rps_flow_id),
+ GFP_KERNEL);
+ if (!state->rps_flow_id)
+ goto fail;
+#endif
table = &state->table[EFX_FILTER_TABLE_RX_IP];
table->id = EFX_FILTER_TABLE_RX_IP;
table->offset = FR_BZ_RX_FILTER_TBL0;
@@ -612,5 +624,87 @@ void efx_remove_filters(struct efx_nic *efx)
kfree(state->table[table_id].used_bitmap);
vfree(state->table[table_id].spec);
}
+#ifdef CONFIG_RFS_ACCEL
+ kfree(state->rps_flow_id);
+#endif
kfree(state);
}
+
+#ifdef CONFIG_RFS_ACCEL
+
+int efx_filter_rfs(struct net_device *net_dev, const struct sk_buff *skb,
+ u16 rxq_index, u32 flow_id)
+{
+ struct efx_nic *efx = netdev_priv(net_dev);
+ struct efx_channel *channel;
+ struct efx_filter_state *state = efx->filter_state;
+ struct efx_filter_spec spec;
+ const struct iphdr *ip;
+ const __be16 *ports;
+ int nhoff;
+ int rc;
+
+ nhoff = skb_network_offset(skb);
+
+ if (skb->protocol != htons(ETH_P_IP))
+ return -EPROTONOSUPPORT;
+
+ /* RFS must validate the IP header length before calling us */
+ EFX_BUG_ON_PARANOID(!pskb_may_pull(skb, nhoff + sizeof(*ip)));
+ ip = (const struct iphdr *)(skb->data + nhoff);
+ if (ip->frag_off & htons(IP_MF | IP_OFFSET))
+ return -EPROTONOSUPPORT;
+ EFX_BUG_ON_PARANOID(!pskb_may_pull(skb, nhoff + 4 * ip->ihl + 4));
+ ports = (const __be16 *)(skb->data + nhoff + 4 * ip->ihl);
+
+ efx_filter_init_rx(&spec, EFX_FILTER_PRI_HINT, 0, rxq_index);
+ rc = efx_filter_set_ipv4_full(&spec, ip->protocol,
+ ip->daddr, ports[1], ip->saddr, ports[0]);
+ if (rc)
+ return rc;
+
+ rc = efx_filter_insert_filter(efx, &spec, true);
+ if (rc < 0)
+ return rc;
+
+ /* Remember this so we can check whether to expire the filter later */
+ state->rps_flow_id[rc] = flow_id;
+ channel = efx_get_channel(efx, skb_get_rx_queue(skb));
+ ++channel->rfs_filters_added;
+
+ return rc;
+}
+
+unsigned __efx_filter_rfs_expire(struct efx_nic *efx, unsigned quota)
+{
+ struct efx_filter_state *state = efx->filter_state;
+ struct efx_filter_table *table = &state->table[EFX_FILTER_TABLE_RX_IP];
+ unsigned mask = table->size - 1;
+ unsigned index;
+ unsigned stop;
+
+ if (!spin_trylock_bh(&state->lock))
+ return 0;
+
+ index = state->rps_expire_index;
+ stop = (index + quota) & mask;
+
+ while (index != stop) {
+ if (test_bit(index, table->used_bitmap) &&
+ table->spec[index].priority == EFX_FILTER_PRI_HINT &&
+ rps_may_expire_flow(efx->net_dev,
+ table->spec[index].dmaq_id,
+ state->rps_flow_id[index], index))
+ efx_filter_table_clear_entry(efx, table, index);
+ index = (index + 1) & mask;
+ }
+
+ state->rps_expire_index = stop;
+ if (table->used == 0)
+ efx_filter_table_reset_search_depth(table);
+
+ spin_unlock_bh(&state->lock);
+ return quota;
+}
+
+#endif /* CONFIG_RFS_ACCEL */
diff --git a/drivers/net/sfc/net_driver.h b/drivers/net/sfc/net_driver.h
index 28df866..b92f442 100644
--- a/drivers/net/sfc/net_driver.h
+++ b/drivers/net/sfc/net_driver.h
@@ -358,6 +358,9 @@ struct efx_channel {
unsigned int irq_count;
unsigned int irq_mod_score;
+#ifdef CONFIG_RFS_ACCEL
+ unsigned int rfs_filters_added;
+#endif
int rx_alloc_level;
int rx_alloc_push_pages;
--
1.7.3.4
--
Ben Hutchings, Senior Software Engineer, Solarflare Communications
Not speaking for my employer; that's the marketing department's job.
They asked us to note that Solarflare product names are trademarked.
^ permalink raw reply related
* [PATCH net-next-2.6 4/5] sfc: Limit filter search depth further for performance hints (i.e. RFS)
From: Ben Hutchings @ 2011-01-19 21:06 UTC (permalink / raw)
To: Tom Herbert; +Cc: netdev, linux-net-drivers
In-Reply-To: <1295470787.11126.82.camel@bwh-desktop>
---
I consider this experimental still; so it's not signed-off.
Ben.
drivers/net/sfc/filter.c | 13 +++++++++----
1 files changed, 9 insertions(+), 4 deletions(-)
diff --git a/drivers/net/sfc/filter.c b/drivers/net/sfc/filter.c
index d4722c4..47a1b79 100644
--- a/drivers/net/sfc/filter.c
+++ b/drivers/net/sfc/filter.c
@@ -27,6 +27,10 @@
*/
#define FILTER_CTL_SRCH_MAX 200
+/* Don't try very hard to find space for performance hints, as this is
+ * counter-productive. */
+#define FILTER_CTL_SRCH_HINT_MAX 5
+
enum efx_filter_table_id {
EFX_FILTER_TABLE_RX_IP = 0,
EFX_FILTER_TABLE_RX_MAC,
@@ -325,15 +329,16 @@ static int efx_filter_search(struct efx_filter_table *table,
struct efx_filter_spec *spec, u32 key,
bool for_insert, int *depth_required)
{
- unsigned hash, incr, filter_idx, depth;
+ unsigned hash, incr, filter_idx, depth, depth_max;
struct efx_filter_spec *cmp;
hash = efx_filter_hash(key);
incr = efx_filter_increment(key);
+ depth_max = (spec->priority <= EFX_FILTER_PRI_HINT ?
+ FILTER_CTL_SRCH_HINT_MAX : FILTER_CTL_SRCH_MAX);
for (depth = 1, filter_idx = hash & (table->size - 1);
- depth <= FILTER_CTL_SRCH_MAX &&
- test_bit(filter_idx, table->used_bitmap);
+ depth <= depth_max && test_bit(filter_idx, table->used_bitmap);
++depth) {
cmp = &table->spec[filter_idx];
if (efx_filter_equal(spec, cmp))
@@ -342,7 +347,7 @@ static int efx_filter_search(struct efx_filter_table *table,
}
if (!for_insert)
return -ENOENT;
- if (depth > FILTER_CTL_SRCH_MAX)
+ if (depth > depth_max)
return -EBUSY;
found:
*depth_required = depth;
--
1.7.3.4
--
Ben Hutchings, Senior Software Engineer, Solarflare Communications
Not speaking for my employer; that's the marketing department's job.
They asked us to note that Solarflare product names are trademarked.
^ permalink raw reply related
* [PATCH net-next-2.6 3/5] net: RPS: Enable hardware acceleration of RFS
From: Ben Hutchings @ 2011-01-19 21:03 UTC (permalink / raw)
To: David Miller; +Cc: netdev, linux-net-drivers, Tom Herbert
In-Reply-To: <1295470787.11126.82.camel@bwh-desktop>
Allow drivers for multiqueue hardware with flow filter tables to
accelerate RFS. The driver must:
1. Set net_device::rx_cpu_rmap to a cpu_rmap of the RX completion
IRQs (in queue order). This will provide a mapping from CPUs to the
queues for which completions are handled nearest to them.
2. Implement net_device_ops::ndo_rx_flow_steer. This operation adds
or replaces a filter steering the given flow to the given RX queue, if
possible.
3. Periodically remove filters for which rps_may_expire_flow() returns
true.
Signed-off-by: Ben Hutchings <bhutchings@solarflare.com>
---
include/linux/netdevice.h | 33 ++++++++++++++-
net/Kconfig | 6 +++
net/core/dev.c | 97 ++++++++++++++++++++++++++++++++++++++++++---
3 files changed, 127 insertions(+), 9 deletions(-)
diff --git a/include/linux/netdevice.h b/include/linux/netdevice.h
index d971346..abe8b2d 100644
--- a/include/linux/netdevice.h
+++ b/include/linux/netdevice.h
@@ -551,14 +551,16 @@ struct rps_map {
#define RPS_MAP_SIZE(_num) (sizeof(struct rps_map) + (_num * sizeof(u16)))
/*
- * The rps_dev_flow structure contains the mapping of a flow to a CPU and the
- * tail pointer for that CPU's input queue at the time of last enqueue.
+ * The rps_dev_flow structure contains the mapping of a flow to a CPU, the
+ * tail pointer for that CPU's input queue at the time of last enqueue, and
+ * a hardware filter index.
*/
struct rps_dev_flow {
u16 cpu;
- u16 fill;
+ u16 filter;
unsigned int last_qtail;
};
+#define RPS_NO_FILTER 0xffff
/*
* The rps_dev_flow_table structure contains a table of flow mappings.
@@ -608,6 +610,11 @@ static inline void rps_reset_sock_flow(struct rps_sock_flow_table *table,
extern struct rps_sock_flow_table __rcu *rps_sock_flow_table;
+#ifdef CONFIG_RFS_ACCEL
+extern bool rps_may_expire_flow(struct net_device *dev, u16 rxq_index,
+ u32 flow_id, u16 filter_id);
+#endif
+
/* This structure contains an instance of an RX queue. */
struct netdev_rx_queue {
struct rps_map __rcu *rps_map;
@@ -753,6 +760,13 @@ struct xps_dev_maps {
* int (*ndo_set_vf_port)(struct net_device *dev, int vf,
* struct nlattr *port[]);
* int (*ndo_get_vf_port)(struct net_device *dev, int vf, struct sk_buff *skb);
+ *
+ * RFS acceleration.
+ * int (*ndo_rx_flow_steer)(struct net_device *dev, const struct sk_buff *skb,
+ * u16 rxq_index, u32 flow_id);
+ * Set hardware filter for RFS. rxq_index is the target queue index;
+ * flow_id is a flow ID to be passed to rps_may_expire_flow() later.
+ * Return the filter ID on success, or a negative error code.
*/
#define HAVE_NET_DEVICE_OPS
struct net_device_ops {
@@ -825,6 +839,12 @@ struct net_device_ops {
int (*ndo_fcoe_get_wwn)(struct net_device *dev,
u64 *wwn, int type);
#endif
+#ifdef CONFIG_RFS_ACCEL
+ int (*ndo_rx_flow_steer)(struct net_device *dev,
+ const struct sk_buff *skb,
+ u16 rxq_index,
+ u32 flow_id);
+#endif
};
/*
@@ -1039,6 +1059,13 @@ struct net_device {
/* Number of RX queues currently active in device */
unsigned int real_num_rx_queues;
+
+#ifdef CONFIG_RFS_ACCEL
+ /* CPU reverse-mapping for RX completion interrupts, indexed
+ * by RX queue number. Assigned by driver. This must only be
+ * set if the ndo_rx_flow_steer operation is defined. */
+ struct cpu_rmap *rx_cpu_rmap;
+#endif
#endif
rx_handler_func_t __rcu *rx_handler;
diff --git a/net/Kconfig b/net/Kconfig
index 7284062..79cabf1 100644
--- a/net/Kconfig
+++ b/net/Kconfig
@@ -221,6 +221,12 @@ config RPS
depends on SMP && SYSFS && USE_GENERIC_SMP_HELPERS
default y
+config RFS_ACCEL
+ boolean
+ depends on RPS && GENERIC_HARDIRQS
+ select CPU_RMAP
+ default y
+
config XPS
boolean
depends on SMP && SYSFS && USE_GENERIC_SMP_HELPERS
diff --git a/net/core/dev.c b/net/core/dev.c
index 7741507..3c18d9c 100644
--- a/net/core/dev.c
+++ b/net/core/dev.c
@@ -132,6 +132,7 @@
#include <trace/events/skb.h>
#include <linux/pci.h>
#include <linux/inetdevice.h>
+#include <linux/cpu_rmap.h>
#include "net-sysfs.h"
@@ -2532,6 +2533,53 @@ EXPORT_SYMBOL(__skb_get_rxhash);
struct rps_sock_flow_table __rcu *rps_sock_flow_table __read_mostly;
EXPORT_SYMBOL(rps_sock_flow_table);
+static struct rps_dev_flow *
+set_rps_cpu(struct net_device *dev, struct sk_buff *skb,
+ struct rps_dev_flow *rflow, u16 next_cpu)
+{
+ u16 tcpu;
+
+ tcpu = rflow->cpu = next_cpu;
+ if (tcpu != RPS_NO_CPU) {
+#ifdef CONFIG_RFS_ACCEL
+ struct netdev_rx_queue *rxqueue;
+ struct rps_dev_flow_table *flow_table;
+ struct rps_dev_flow *old_rflow;
+ u32 flow_id;
+ u16 rxq_index;
+ int rc;
+
+ /* Should we steer this flow to a different hardware queue? */
+ if (!skb_rx_queue_recorded(skb) || !dev->rx_cpu_rmap)
+ goto out;
+ rxq_index = cpu_rmap_lookup_index(dev->rx_cpu_rmap, next_cpu);
+ if (rxq_index == skb_get_rx_queue(skb))
+ goto out;
+
+ rxqueue = dev->_rx + rxq_index;
+ flow_table = rcu_dereference(rxqueue->rps_flow_table);
+ if (!flow_table)
+ goto out;
+ flow_id = skb->rxhash & flow_table->mask;
+ rc = dev->netdev_ops->ndo_rx_flow_steer(dev, skb,
+ rxq_index, flow_id);
+ if (rc < 0)
+ goto out;
+ old_rflow = rflow;
+ rflow = &flow_table->flows[flow_id];
+ rflow->cpu = next_cpu;
+ rflow->filter = rc;
+ if (old_rflow->filter == rflow->filter)
+ old_rflow->filter = RPS_NO_FILTER;
+ out:
+#endif
+ rflow->last_qtail =
+ per_cpu(softnet_data, tcpu).input_queue_head;
+ }
+
+ return rflow;
+}
+
/*
* get_rps_cpu is called from netif_receive_skb and returns the target
* CPU from the RPS map of the receiving queue for a given skb.
@@ -2602,12 +2650,9 @@ static int get_rps_cpu(struct net_device *dev, struct sk_buff *skb,
if (unlikely(tcpu != next_cpu) &&
(tcpu == RPS_NO_CPU || !cpu_online(tcpu) ||
((int)(per_cpu(softnet_data, tcpu).input_queue_head -
- rflow->last_qtail)) >= 0)) {
- tcpu = rflow->cpu = next_cpu;
- if (tcpu != RPS_NO_CPU)
- rflow->last_qtail = per_cpu(softnet_data,
- tcpu).input_queue_head;
- }
+ rflow->last_qtail)) >= 0))
+ rflow = set_rps_cpu(dev, skb, rflow, next_cpu);
+
if (tcpu != RPS_NO_CPU && cpu_online(tcpu)) {
*rflowp = rflow;
cpu = tcpu;
@@ -2628,6 +2673,46 @@ done:
return cpu;
}
+#ifdef CONFIG_RFS_ACCEL
+
+/**
+ * rps_may_expire_flow - check whether an RFS hardware filter may be removed
+ * @dev: Device on which the filter was set
+ * @rxq_index: RX queue index
+ * @flow_id: Flow ID passed to ndo_rx_flow_steer()
+ * @filter_id: Filter ID returned by ndo_rx_flow_steer()
+ *
+ * Drivers that implement ndo_rx_flow_steer() should periodically call
+ * this function for each installed filter and remove the filters for
+ * which it returns %true.
+ */
+bool rps_may_expire_flow(struct net_device *dev, u16 rxq_index,
+ u32 flow_id, u16 filter_id)
+{
+ struct netdev_rx_queue *rxqueue = dev->_rx + rxq_index;
+ struct rps_dev_flow_table *flow_table;
+ struct rps_dev_flow *rflow;
+ bool expire = true;
+ int cpu;
+
+ rcu_read_lock();
+ flow_table = rcu_dereference(rxqueue->rps_flow_table);
+ if (flow_table && flow_id <= flow_table->mask) {
+ rflow = &flow_table->flows[flow_id];
+ cpu = ACCESS_ONCE(rflow->cpu);
+ if (rflow->filter == filter_id && cpu != RPS_NO_CPU &&
+ ((int)(per_cpu(softnet_data, cpu).input_queue_head -
+ rflow->last_qtail) <
+ (int)(10 * flow_table->mask)))
+ expire = false;
+ }
+ rcu_read_unlock();
+ return expire;
+}
+EXPORT_SYMBOL(rps_may_expire_flow);
+
+#endif /* CONFIG_RFS_ACCEL */
+
/* Called from hardirq (IPI) context */
static void rps_trigger_softirq(void *data)
{
--
1.7.3.4
--
Ben Hutchings, Senior Software Engineer, Solarflare Communications
Not speaking for my employer; that's the marketing department's job.
They asked us to note that Solarflare product names are trademarked.
^ permalink raw reply related
* [PATCH net-next-2.6 2/5] lib: cpu_rmap: CPU affinity reverse-mapping
From: Ben Hutchings @ 2011-01-19 21:03 UTC (permalink / raw)
To: David Miller, Thomas Gleixner
Cc: netdev, linux-net-drivers, Tom Herbert, linux-kernel
In-Reply-To: <1295470787.11126.82.camel@bwh-desktop>
When initiating I/O on a multiqueue and multi-IRQ device, we may want
to select a queue for which the response will be handled on the same
or a nearby CPU. This requires a reverse-map of IRQ affinity. Add
library functions to support a generic reverse-mapping from CPUs to
objects with affinity and the specific case where the objects are
IRQs.
Signed-off-by: Ben Hutchings <bhutchings@solarflare.com>
---
include/linux/cpu_rmap.h | 73 +++++++++++++
lib/Kconfig | 4 +
lib/Makefile | 2 +
lib/cpu_rmap.c | 269 ++++++++++++++++++++++++++++++++++++++++++++++
4 files changed, 348 insertions(+), 0 deletions(-)
create mode 100644 include/linux/cpu_rmap.h
create mode 100644 lib/cpu_rmap.c
diff --git a/include/linux/cpu_rmap.h b/include/linux/cpu_rmap.h
new file mode 100644
index 0000000..473771a
--- /dev/null
+++ b/include/linux/cpu_rmap.h
@@ -0,0 +1,73 @@
+/*
+ * cpu_rmap.c: CPU affinity reverse-map support
+ * Copyright 2011 Solarflare Communications Inc.
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 as published
+ * by the Free Software Foundation, incorporated herein by reference.
+ */
+
+#include <linux/cpumask.h>
+#include <linux/gfp.h>
+#include <linux/slab.h>
+
+/**
+ * struct cpu_rmap - CPU affinity reverse-map
+ * @size: Number of objects to be reverse-mapped
+ * @used: Number of objects added
+ * @obj: Pointer to array of object pointers
+ * @near: For each CPU, the index and distance to the nearest object,
+ * based on affinity masks
+ */
+struct cpu_rmap {
+ u16 size, used;
+ void **obj;
+ struct {
+ u16 index;
+ u16 dist;
+ } near[0];
+};
+#define CPU_RMAP_DIST_INF 0xffff
+
+extern struct cpu_rmap *alloc_cpu_rmap(unsigned int size, gfp_t flags);
+
+/**
+ * free_cpu_rmap - free CPU affinity reverse-map
+ * @rmap: Reverse-map allocated with alloc_cpu_rmap(), or %NULL
+ */
+static inline void free_cpu_rmap(struct cpu_rmap *rmap)
+{
+ kfree(rmap);
+}
+
+extern int cpu_rmap_add(struct cpu_rmap *rmap, void *obj);
+extern int cpu_rmap_update(struct cpu_rmap *rmap, u16 index,
+ const struct cpumask *affinity);
+
+static inline u16 cpu_rmap_lookup_index(struct cpu_rmap *rmap, unsigned int cpu)
+{
+ return rmap->near[cpu].index;
+}
+
+static inline void *cpu_rmap_lookup_obj(struct cpu_rmap *rmap, unsigned int cpu)
+{
+ return rmap->obj[rmap->near[cpu].index];
+}
+
+#ifdef CONFIG_GENERIC_HARDIRQS
+
+/**
+ * alloc_irq_cpu_rmap - allocate CPU affinity reverse-map for IRQs
+ * @size: Number of objects to be mapped
+ *
+ * Must be called in process context.
+ */
+static inline struct cpu_rmap *alloc_irq_cpu_rmap(unsigned int size)
+{
+ return alloc_cpu_rmap(size, GFP_KERNEL);
+}
+extern void free_irq_cpu_rmap(struct cpu_rmap *rmap);
+
+extern int irq_cpu_rmap_add(struct cpu_rmap *rmap, int irq);
+
+#endif
diff --git a/lib/Kconfig b/lib/Kconfig
index 0ee67e0..8334342 100644
--- a/lib/Kconfig
+++ b/lib/Kconfig
@@ -201,6 +201,10 @@ config DISABLE_OBSOLETE_CPUMASK_FUNCTIONS
bool "Disable obsolete cpumask functions" if DEBUG_PER_CPU_MAPS
depends on EXPERIMENTAL && BROKEN
+config CPU_RMAP
+ bool
+ depends on SMP
+
#
# Netlink attribute parsing support is select'ed if needed
#
diff --git a/lib/Makefile b/lib/Makefile
index cbb774f..b73ba01 100644
--- a/lib/Makefile
+++ b/lib/Makefile
@@ -110,6 +110,8 @@ obj-$(CONFIG_ATOMIC64_SELFTEST) += atomic64_test.o
obj-$(CONFIG_AVERAGE) += average.o
+obj-$(CONFIG_CPU_RMAP) += cpu_rmap.o
+
hostprogs-y := gen_crc32table
clean-files := crc32table.h
diff --git a/lib/cpu_rmap.c b/lib/cpu_rmap.c
new file mode 100644
index 0000000..987acfa
--- /dev/null
+++ b/lib/cpu_rmap.c
@@ -0,0 +1,269 @@
+/*
+ * cpu_rmap.c: CPU affinity reverse-map support
+ * Copyright 2011 Solarflare Communications Inc.
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 as published
+ * by the Free Software Foundation, incorporated herein by reference.
+ */
+
+#include <linux/cpu_rmap.h>
+#ifdef CONFIG_GENERIC_HARDIRQS
+#include <linux/interrupt.h>
+#endif
+#include <linux/module.h>
+
+/*
+ * These functions maintain a mapping from CPUs to some ordered set of
+ * objects with CPU affinities. This can be seen as a reverse-map of
+ * CPU affinity. However, we do not assume that the object affinities
+ * cover all CPUs in the system. For those CPUs not directly covered
+ * by object affinities, we attempt to find a nearest object based on
+ * CPU topology.
+ */
+
+/**
+ * alloc_cpu_rmap - allocate CPU affinity reverse-map
+ * @size: Number of objects to be mapped
+ * @flags: Allocation flags e.g. %GFP_KERNEL
+ */
+struct cpu_rmap *alloc_cpu_rmap(unsigned int size, gfp_t flags)
+{
+ struct cpu_rmap *rmap;
+ unsigned int cpu;
+ size_t obj_offset;
+
+ /* This is a silly number of objects, and we use u16 indices. */
+ if (size > 0xffff)
+ return NULL;
+
+ /* Offset of object pointer array from base structure */
+ obj_offset = ALIGN(offsetof(struct cpu_rmap, near[nr_cpu_ids]),
+ sizeof(void *));
+
+ rmap = kzalloc(obj_offset + size * sizeof(rmap->obj[0]), flags);
+ if (!rmap)
+ return NULL;
+
+ rmap->obj = (void **)((char *)rmap + obj_offset);
+
+ /* Initially assign CPUs to objects on a rota, since we have
+ * no idea where the objects are. Use infinite distance, so
+ * any object with known distance is preferable. Include the
+ * CPUs that are not present/online, since we definitely want
+ * any newly-hotplugged CPUs to have some object assigned.
+ */
+ for_each_possible_cpu(cpu) {
+ rmap->near[cpu].index = cpu % size;
+ rmap->near[cpu].dist = CPU_RMAP_DIST_INF;
+ }
+
+ rmap->size = size;
+ return rmap;
+}
+EXPORT_SYMBOL(alloc_cpu_rmap);
+
+/* Reevaluate nearest object for given CPU, comparing with the given
+ * neighbours at the given distance.
+ */
+static bool cpu_rmap_copy_neigh(struct cpu_rmap *rmap, unsigned int cpu,
+ const struct cpumask *mask, u16 dist)
+{
+ int neigh;
+
+ for_each_cpu(neigh, mask) {
+ if (rmap->near[cpu].dist > dist &&
+ rmap->near[neigh].dist <= dist) {
+ rmap->near[cpu].index = rmap->near[neigh].index;
+ rmap->near[cpu].dist = dist;
+ return true;
+ }
+ }
+ return false;
+}
+
+#ifdef DEBUG
+static void debug_print_rmap(const struct cpu_rmap *rmap, const char *prefix)
+{
+ unsigned index;
+ unsigned int cpu;
+
+ pr_info("cpu_rmap %p, %s:\n", rmap, prefix);
+
+ for_each_possible_cpu(cpu) {
+ index = rmap->near[cpu].index;
+ pr_info("cpu %d -> obj %u (distance %u)\n",
+ cpu, index, rmap->near[cpu].dist);
+ }
+}
+#else
+static inline void
+debug_print_rmap(const struct cpu_rmap *rmap, const char *prefix)
+{
+}
+#endif
+
+/**
+ * cpu_rmap_add - add object to a rmap
+ * @rmap: CPU rmap allocated with alloc_cpu_rmap()
+ * @obj: Object to add to rmap
+ *
+ * Return index of object.
+ */
+int cpu_rmap_add(struct cpu_rmap *rmap, void *obj)
+{
+ u16 index;
+
+ BUG_ON(rmap->used >= rmap->size);
+ index = rmap->used++;
+ rmap->obj[index] = obj;
+ return index;
+}
+EXPORT_SYMBOL(cpu_rmap_add);
+
+/**
+ * cpu_rmap_update - update CPU rmap following a change of object affinity
+ * @rmap: CPU rmap to update
+ * @index: Index of object whose affinity changed
+ * @affinity: New CPU affinity of object
+ */
+int cpu_rmap_update(struct cpu_rmap *rmap, u16 index,
+ const struct cpumask *affinity)
+{
+ cpumask_var_t update_mask;
+ unsigned int cpu;
+
+ if (unlikely(!zalloc_cpumask_var(&update_mask, GFP_KERNEL)))
+ return -ENOMEM;
+
+ /* Invalidate distance for all CPUs for which this used to be
+ * the nearest object. Mark those CPUs for update.
+ */
+ for_each_online_cpu(cpu) {
+ if (rmap->near[cpu].index == index) {
+ rmap->near[cpu].dist = CPU_RMAP_DIST_INF;
+ cpumask_set_cpu(cpu, update_mask);
+ }
+ }
+
+ debug_print_rmap(rmap, "after invalidating old distances");
+
+ /* Set distance to 0 for all CPUs in the new affinity mask.
+ * Mark all CPUs within their NUMA nodes for update.
+ */
+ for_each_cpu(cpu, affinity) {
+ rmap->near[cpu].index = index;
+ rmap->near[cpu].dist = 0;
+ cpumask_or(update_mask, update_mask,
+ cpumask_of_node(cpu_to_node(cpu)));
+ }
+
+ debug_print_rmap(rmap, "after updating neighbours");
+
+ /* Update distances based on topology */
+ for_each_cpu(cpu, update_mask) {
+ if (cpu_rmap_copy_neigh(rmap, cpu,
+ topology_thread_cpumask(cpu), 1))
+ continue;
+ if (cpu_rmap_copy_neigh(rmap, cpu,
+ topology_core_cpumask(cpu), 2))
+ continue;
+ if (cpu_rmap_copy_neigh(rmap, cpu,
+ cpumask_of_node(cpu_to_node(cpu)), 3))
+ continue;
+ /* We could continue into NUMA node distances, but for now
+ * we give up.
+ */
+ }
+
+ debug_print_rmap(rmap, "after copying neighbours");
+
+ free_cpumask_var(update_mask);
+ return 0;
+}
+EXPORT_SYMBOL(cpu_rmap_update);
+
+#ifdef CONFIG_GENERIC_HARDIRQS
+
+/* Glue between IRQ affinity notifiers and CPU rmaps */
+
+struct irq_glue {
+ struct irq_affinity_notify notify;
+ struct cpu_rmap *rmap;
+ u16 index;
+};
+
+/**
+ * free_irq_cpu_rmap - free a CPU affinity reverse-map used for IRQs
+ * @rmap: Reverse-map allocated with alloc_irq_cpu_map(), or %NULL
+ *
+ * Must be called in process context, before freeing the IRQs, and
+ * without holding any locks required by global workqueue items.
+ */
+void free_irq_cpu_rmap(struct cpu_rmap *rmap)
+{
+ struct irq_glue *glue;
+ u16 index;
+
+ if (!rmap)
+ return;
+
+ for (index = 0; index < rmap->used; index++) {
+ glue = rmap->obj[index];
+ irq_set_affinity_notifier(glue->notify.irq, NULL);
+ }
+ irq_run_affinity_notifiers();
+
+ kfree(rmap);
+}
+EXPORT_SYMBOL(free_irq_cpu_rmap);
+
+static void
+irq_cpu_rmap_notify(struct irq_affinity_notify *notify, const cpumask_t *mask)
+{
+ struct irq_glue *glue =
+ container_of(notify, struct irq_glue, notify);
+ int rc;
+
+ rc = cpu_rmap_update(glue->rmap, glue->index, mask);
+ if (rc)
+ pr_warning("irq_cpu_rmap_notify: update failed: %d\n", rc);
+}
+
+static void irq_cpu_rmap_release(struct kref *ref)
+{
+ struct irq_glue *glue =
+ container_of(ref, struct irq_glue, notify.kref);
+ kfree(glue);
+}
+
+/**
+ * irq_cpu_rmap_add - add an IRQ to a CPU affinity reverse-map
+ * @rmap: The reverse-map
+ * @irq: The IRQ number
+ *
+ * This adds an IRQ affinity notifier that will update the reverse-map
+ * automatically.
+ *
+ * Must be called in process context, after the IRQ is allocated but
+ * before it is bound with request_irq().
+ */
+int irq_cpu_rmap_add(struct cpu_rmap *rmap, int irq)
+{
+ struct irq_glue *glue = kzalloc(sizeof(*glue), GFP_KERNEL);
+ int rc;
+
+ if (!glue)
+ return -ENOMEM;
+ glue->notify.notify = irq_cpu_rmap_notify;
+ glue->notify.release = irq_cpu_rmap_release;
+ glue->rmap = rmap;
+ glue->index = cpu_rmap_add(rmap, glue);
+ rc = irq_set_affinity_notifier(irq, &glue->notify);
+ if (rc)
+ kfree(glue);
+ return rc;
+}
+EXPORT_SYMBOL(irq_cpu_rmap_add);
+
+#endif /* CONFIG_GENERIC_HARDIRQS */
--
1.7.3.4
--
Ben Hutchings, Senior Software Engineer, Solarflare Communications
Not speaking for my employer; that's the marketing department's job.
They asked us to note that Solarflare product names are trademarked.
^ permalink raw reply related
* [PATCH net-next-2.6 1/5] genirq: Add IRQ affinity notifiers
From: Ben Hutchings @ 2011-01-19 21:01 UTC (permalink / raw)
To: Thomas Gleixner; +Cc: netdev, linux-net-drivers, Tom Herbert, David Miller
In-Reply-To: <1295470787.11126.82.camel@bwh-desktop>
When initiating I/O on a multiqueue and multi-IRQ device, we may want
to select a queue for which the response will be handled on the same
or a nearby CPU. This requires a reverse-map of IRQ affinity. Add a
notification mechanism to support this.
This is based closely on work by Thomas Gleixner <tglx@linutronix.de>.
Signed-off-by: Ben Hutchings <bhutchings@solarflare.com>
---
Thomas, I hope this answers all your comments. If you are happy with
this, can it go into net-next-2.6 so the rest of this series can get
into 2.6.39?
Ben.
include/linux/interrupt.h | 31 +++++++++++++++++
include/linux/irqdesc.h | 3 ++
kernel/irq/manage.c | 82 +++++++++++++++++++++++++++++++++++++++++++++
3 files changed, 116 insertions(+), 0 deletions(-)
diff --git a/include/linux/interrupt.h b/include/linux/interrupt.h
index 55e0d42..9823e37 100644
--- a/include/linux/interrupt.h
+++ b/include/linux/interrupt.h
@@ -14,6 +14,8 @@
#include <linux/smp.h>
#include <linux/percpu.h>
#include <linux/hrtimer.h>
+#include <linux/kref.h>
+#include <linux/workqueue.h>
#include <asm/atomic.h>
#include <asm/ptrace.h>
@@ -240,6 +242,35 @@ extern int irq_can_set_affinity(unsigned int irq);
extern int irq_select_affinity(unsigned int irq);
extern int irq_set_affinity_hint(unsigned int irq, const struct cpumask *m);
+
+/**
+ * struct irq_affinity_notify - context for notification of IRQ affinity changes
+ * @irq: Interrupt to which notification applies
+ * @kref: Reference count, for internal use
+ * @work: Work item, for internal use
+ * @notify: Function to be called on change. This will be
+ * called in process context.
+ * @release: Function to be called on release. This will be
+ * called in process context. Once registered, the
+ * structure must only be freed when this function is
+ * called or later.
+ */
+struct irq_affinity_notify {
+ unsigned int irq;
+ struct kref kref;
+ struct work_struct work;
+ void (*notify)(struct irq_affinity_notify *, const cpumask_t *mask);
+ void (*release)(struct kref *ref);
+};
+
+extern int
+irq_set_affinity_notifier(unsigned int irq, struct irq_affinity_notify *notify);
+
+static inline void irq_run_affinity_notifiers(void)
+{
+ flush_scheduled_work();
+}
+
#else /* CONFIG_SMP */
static inline int irq_set_affinity(unsigned int irq, const struct cpumask *m)
diff --git a/include/linux/irqdesc.h b/include/linux/irqdesc.h
index 6a64c6f..b98ffa4 100644
--- a/include/linux/irqdesc.h
+++ b/include/linux/irqdesc.h
@@ -8,6 +8,7 @@
* For now it's included from <linux/irq.h>
*/
+struct irq_affinity_notify;
struct proc_dir_entry;
struct timer_rand_state;
/**
@@ -24,6 +25,7 @@ struct timer_rand_state;
* @last_unhandled: aging timer for unhandled count
* @irqs_unhandled: stats field for spurious unhandled interrupts
* @lock: locking for SMP
+ * @affinity_notify: context for notification of affinity changes
* @pending_mask: pending rebalanced interrupts
* @threads_active: number of irqaction threads currently running
* @wait_for_threads: wait queue for sync_irq to wait for threaded handlers
@@ -70,6 +72,7 @@ struct irq_desc {
raw_spinlock_t lock;
#ifdef CONFIG_SMP
const struct cpumask *affinity_hint;
+ struct irq_affinity_notify *affinity_notify;
#ifdef CONFIG_GENERIC_PENDING_IRQ
cpumask_var_t pending_mask;
#endif
diff --git a/kernel/irq/manage.c b/kernel/irq/manage.c
index 0caa59f..e48019e 100644
--- a/kernel/irq/manage.c
+++ b/kernel/irq/manage.c
@@ -134,6 +134,10 @@ int irq_set_affinity(unsigned int irq, const struct cpumask *cpumask)
irq_set_thread_affinity(desc);
}
#endif
+ if (desc->affinity_notify) {
+ kref_get(&desc->affinity_notify->kref);
+ schedule_work(&desc->affinity_notify->work);
+ }
desc->status |= IRQ_AFFINITY_SET;
raw_spin_unlock_irqrestore(&desc->lock, flags);
return 0;
@@ -155,6 +159,79 @@ int irq_set_affinity_hint(unsigned int irq, const struct cpumask *m)
}
EXPORT_SYMBOL_GPL(irq_set_affinity_hint);
+static void irq_affinity_notify(struct work_struct *work)
+{
+ struct irq_affinity_notify *notify =
+ container_of(work, struct irq_affinity_notify, work);
+ struct irq_desc *desc = irq_to_desc(notify->irq);
+ cpumask_var_t cpumask;
+ unsigned long flags;
+
+ if (!desc)
+ goto out;
+
+ if (!alloc_cpumask_var(&cpumask, GFP_KERNEL))
+ goto out;
+
+ raw_spin_lock_irqsave(&desc->lock, flags);
+#ifdef CONFIG_GENERIC_PENDING_IRQ
+ if (desc->status & IRQ_MOVE_PENDING)
+ cpumask_copy(cpumask, desc->pending_mask);
+ else
+#endif
+ cpumask_copy(cpumask, desc->affinity);
+ raw_spin_unlock_irqrestore(&desc->lock, flags);
+
+ notify->notify(notify, cpumask);
+
+ free_cpumask_var(cpumask);
+out:
+ kref_put(¬ify->kref, notify->release);
+}
+
+/**
+ * irq_set_affinity_notifier - control notification of IRQ affinity changes
+ * @irq: Interrupt for which to enable/disable notification
+ * @notify: Context for notification, or %NULL to disable
+ * notification. Function pointers must be initialised;
+ * the other fields will be initialised by this function.
+ *
+ * Must be called in process context. Notification may only be enabled
+ * after the IRQ is allocated and must be disabled before the IRQ is
+ * freed using free_irq().
+ */
+int
+irq_set_affinity_notifier(unsigned int irq, struct irq_affinity_notify *notify)
+{
+ struct irq_desc *desc = irq_to_desc(irq);
+ struct irq_affinity_notify *old_notify;
+ unsigned long flags;
+
+ /* The release function is promised process context */
+ might_sleep();
+
+ if (!desc)
+ return -EINVAL;
+
+ /* Complete initialisation of *notify */
+ if (notify) {
+ notify->irq = irq;
+ kref_init(¬ify->kref);
+ INIT_WORK(¬ify->work, irq_affinity_notify);
+ }
+
+ raw_spin_lock_irqsave(&desc->lock, flags);
+ old_notify = desc->affinity_notify;
+ desc->affinity_notify = notify;
+ raw_spin_unlock_irqrestore(&desc->lock, flags);
+
+ if (old_notify)
+ kref_put(&old_notify->kref, old_notify->release);
+
+ return 0;
+}
+EXPORT_SYMBOL_GPL(irq_set_affinity_notifier);
+
#ifndef CONFIG_AUTO_IRQ_AFFINITY
/*
* Generic version of the affinity autoselector.
@@ -1004,6 +1081,11 @@ void free_irq(unsigned int irq, void *dev_id)
if (!desc)
return;
+#ifdef CONFIG_SMP
+ if (WARN_ON(desc->affinity_notify))
+ desc->affinity_notify = NULL;
+#endif
+
chip_bus_lock(desc);
kfree(__free_irq(irq, dev_id));
chip_bus_sync_unlock(desc);
--
1.7.3.4
--
Ben Hutchings, Senior Software Engineer, Solarflare Communications
Not speaking for my employer; that's the marketing department's job.
They asked us to note that Solarflare product names are trademarked.
^ permalink raw reply related
* [PATCH net-next-2.6 0/5] RFS hardware acceleration (v3)
From: Ben Hutchings @ 2011-01-19 20:59 UTC (permalink / raw)
To: David Miller, Thomas Gleixner, Tom Herbert
Cc: netdev, linux-net-drivers, linux-kernel
This patch series extends RFS to use hardware RX filters where
available. Depending on the number of hardware RX queues and their
IRQs' affinity, this should reduce the need for IPIs or at least get
packets delivered to the right NUMA node.
The first patch implements IRQ affinity notifiers, based on the outline
that Thomas Gleixner wrote in response to the previous version of this
patch series. This has been updated based on Thomas's previous comments.
The second patch is a generalisation of the CPU affinity reverse-
mapping, plus functions to maintain such a mapping based on the new IRQ
affinity notifiers. This has been updated based on Eric Dumazet's
comments.
The remaining patches add the RFS acceleration hooks and an
implementation in the sfc driver. I have changed the sfc driver's
strategy for reclaiming entries in the filter table entry from the
previous version. The table can now be scanned at the end of each NAPI
polling interval, based on the rate at which filters are being added.
However, I haven't yet constructed a good test case that involves
turnover of flows so I have yet to settle on a good strategy for this.
Ben.
Ben Hutchings (5):
genirq: Add IRQ affinity notifiers
lib: cpu_rmap: CPU affinity reverse-mapping
net: RPS: Enable hardware acceleration of RFS
sfc: Limit filter search depth further for performance hints (i.e.
RFS)
sfc: Implement hardware acceleration of RFS
drivers/net/sfc/efx.c | 49 ++++++++-
drivers/net/sfc/efx.h | 16 +++
drivers/net/sfc/filter.c | 107 ++++++++++++++++-
drivers/net/sfc/net_driver.h | 3 +
include/linux/cpu_rmap.h | 73 ++++++++++++
include/linux/interrupt.h | 31 +++++
include/linux/irqdesc.h | 3 +
include/linux/netdevice.h | 33 +++++-
kernel/irq/manage.c | 82 +++++++++++++
lib/Kconfig | 4 +
lib/Makefile | 2 +
lib/cpu_rmap.c | 269 ++++++++++++++++++++++++++++++++++++++++++
net/Kconfig | 6 +
net/core/dev.c | 97 ++++++++++++++-
14 files changed, 760 insertions(+), 15 deletions(-)
create mode 100644 include/linux/cpu_rmap.h
create mode 100644 lib/cpu_rmap.c
--
1.7.3.4
--
Ben Hutchings, Senior Software Engineer, Solarflare Communications
Not speaking for my employer; that's the marketing department's job.
They asked us to note that Solarflare product names are trademarked.
^ permalink raw reply
* Re: [PATCH] scm: provide full privilege set via SCM_PRIVILEGE
From: Casey Schaufler @ 2011-01-19 20:40 UTC (permalink / raw)
To: Eric W. Biederman
Cc: LKLM, xemul, David Miller, Sakkinen Jarkko.2 (EXT-Tieto/Tampere),
Janne Karhunen, Reshetova Elena (Nokia-D/Helsinki), netdev,
Serge E. Hallyn, Casey Schaufler
In-Reply-To: <m1lj2g7tph.fsf@fess.ebiederm.org>
On 1/19/2011 8:18 AM, Eric W. Biederman wrote:
> Casey Schaufler <casey@schaufler-ca.com> writes:
>
>> On 1/18/2011 9:45 PM, Eric W. Biederman wrote:
Quite a bit of work to do here, it would appear.
>>> Casey Schaufler <casey@schaufler-ca.com> writes:
>>>
>>>> Subject: [PATCH] scm: provide full privilege set via SCM_PRIVILEGE
>>>>
>>>> The SCM mechanism currently provides interfaces for delivering
>>>> the uid/gid and the "security context" (LSM information) of the
>>>> peer on a UDS socket. All of the security credential information
>>>> is available, but there is no interface available to obtain it.
>>>> Further, the existing interfaces require that the user chose
>>>> between the uid/gid and the context as the existing interfaces
>>>> are exclusive.
>>>>
>>>> This patch introduces an additional interface that provides
>>>> a complete set of security information from the peer credential.
>>>> No additional work is required to provide the information
>>>> internally, it is all being passed, just not exposed.
>>> In ascii text?
>> As is commonly done in /proc interfaces.
>>
>>> A bitmap in hex?
>> As is done in /proc/<pid>/status. I seriously doubt
>> that anyone would want the kernel doing the capability
>> set to text conversion.
> But when you have a perfectly good binary interface when reducing the
> encoding efficiency for effectively no gain.
Problem is that with a group list, capability sets, and LSM "context"
I don't have a perfectly good binary interface.
>>> Maybe it is just me, but this seems harder to deal with than
>>> if the data had been transferred in binary.
>> There are a couple of issues with passing a binary structure
>> in the modern cred case. First is the capability set, which
>> has been proven to grow over time. Sure, it took a while to
>> get past 32 bits, and hopefully will never go beyond 64, but
>> given the long term problems caused by 16 bit uids (some of
>> us still remember) I would hate to get bitten by this in my
>> old age. Second is the LSM specific security context, which
>> may not be there at all and if it is the size will depend on
>> the LSM in use.
> Sure but you have to use an interface that properly handles variable
> length binary data, to get to the string. It feels like you are
> violating the even more classic one value per file rule.
This way leaves all parsing to user space, and uses well understood
facilities to create something that isn't going to require internal
counters and the like.
> Maybe I am missing something but is there any reason you can't have
> multiple cmsg types?
Sure, there could be a cmsg for each value, but if you know that
you're going to always use them all, why make them separate?
>> There are classic C language techniques for dealing with
>> both of these issues, and I've used them enough times to
>> want to avoid them where possible. This is the same logic
>> that the aforementioned /proc interface implementers have
>> been using for some time. And while there are problems
>> with formatting, passing and parsing a string they pale
>> in comparison to maintaining multiple versions of kernel
>> interface structures that are themselves variable depending
>> on the kernel configuration.
> If you are worrying about variable size structures that vary
> depending on kernel configuration I pretty certain you are doing
> it wrong.
I'm seriously more concerned with the maintainability of cap sets.
I saw the pain level when they went to 2x32bit and any structure
that includes a cap set, especially a user visible interface, is
going to be an issue. Not to mention that there's a group list in
there as well.
> The use of sprintf (not snprintf) and the crazy size computation needed
> for your string also worries me. That part of the implementation
> appears to be just asking for trouble.
snprintf would be a simple change. The computation is just arithmetic.
> Having a giant function like your scm_passpriv inline in
> include/net/scm.h also seems very questionable.
>
> I think there is a real impedance mismatch here between the interface
> you are using and the way you are returning the data.
>
> There is a show stopper bug. You don't translate uid/gid in the
> receivers user namespace so passing a message between two processes in
> different user namespaces can pass deceptive credentials. Given that the
> reason we have the struct cred on unix domain sockets in the first place
> is that we handled the user namespace conversion issues so we could
> cross namespaces without security issues not handling that case in a new
> scm cred is just inexcusable.
The issues with uid and gid translation appear to be easy to fix,
assuming that the cred_to_ucred() function provides a reasonable
example.
> On that note Serge and I are slowly working to get credentials to be
> namespace local as well, so shortly the credentials will also need to be
> translated as well as just uid's and gid's.
Oh dear. Does that include capability sets and LSM blobs?
> The scm->secid is if I understand correctly a per packet label. Is that
> what you want here? I thought you were interested in the information
> off of struct cred.
The intent is to pull in the access control information so
that the (trusted) application can make decisions based on
its own set of criteria. The kernel is making access checks
(in SELinux and Smack at any rate) based on the packet label,
but it might make sense to provide both.
> In principle returning all of the credential should be fine. In
> practice I think this patch has a lot of poorly thought through details
> that will be a nightmare to maintain in practice.
>
> Eric
>
>
>>>> Signed-off-by: Casey Schaufler <casey@schaufler-ca.com>
>>>> ---
>>>>
>>>> include/asm-generic/socket.h | 1 +
>>>> include/linux/net.h | 1 +
>>>> include/linux/socket.h | 1 +
>>>> include/net/scm.h | 80 +++++++++++++++++++++++++++++++++++++++++-
>>>> net/core/sock.c | 11 ++++++
>>>> 5 files changed, 93 insertions(+), 1 deletions(-)
>>>> diff --git a/include/asm-generic/socket.h b/include/asm-generic/socket.h
>>>> index 9a6115e..7aa8e84 100644
>>>> --- a/include/asm-generic/socket.h
>>>> +++ b/include/asm-generic/socket.h
>>>> @@ -64,4 +64,5 @@
>>>> #define SO_DOMAIN 39
>>>>
>>>> #define SO_RXQ_OVFL 40
>>>> +#define SO_PASSPRIV 41
>>>> #endif /* __ASM_GENERIC_SOCKET_H */
>>>> diff --git a/include/linux/net.h b/include/linux/net.h
>>>> index 16faa13..159a929 100644
>>>> --- a/include/linux/net.h
>>>> +++ b/include/linux/net.h
>>>> @@ -71,6 +71,7 @@ struct net;
>>>> #define SOCK_NOSPACE 2
>>>> #define SOCK_PASSCRED 3
>>>> #define SOCK_PASSSEC 4
>>>> +#define SOCK_PASSPRIV 5
>>>>
>>>> #ifndef ARCH_HAS_SOCKET_TYPES
>>>> /**
>>>> diff --git a/include/linux/socket.h b/include/linux/socket.h
>>>> index 86b652f..e9cfd68 100644
>>>> --- a/include/linux/socket.h
>>>> +++ b/include/linux/socket.h
>>>> @@ -147,6 +147,7 @@ static inline struct cmsghdr * cmsg_nxthdr (struct msghdr *__msg, struct cmsghdr
>>>> #define SCM_RIGHTS 0x01 /* rw: access rights (array of int) */
>>>> #define SCM_CREDENTIALS 0x02 /* rw: struct ucred */
>>>> #define SCM_SECURITY 0x03 /* rw: security label */
>>>> +#define SCM_PRIVILEGES 0x04 /* rw: privilege set */
>>>>
>>>> struct ucred {
>>>> __u32 pid;
>>>> diff --git a/include/net/scm.h b/include/net/scm.h
>>>> index 3165650..4b8db21 100644
>>>> --- a/include/net/scm.h
>>>> +++ b/include/net/scm.h
>>>> @@ -101,6 +101,83 @@ static inline void scm_passec(struct socket *sock, struct msghdr *msg, struct sc
>>>> { }
>>>> #endif /* CONFIG_SECURITY_NETWORK */
>>>>
>>>> +static __inline__ void scm_passpriv(struct socket *sock, struct msghdr *msg,
>>>> + struct scm_cookie *scm)
>>>> +{
>>>> + const struct cred *credp = scm->cred;
>>>> + const struct group_info *gip;
>>>> + char *result;
>>>> + char *cp;
>>>> + int i;
>>>> +#ifdef CONFIG_SECURITY_NETWORK
>>>> + char *secdata;
>>>> + u32 seclen;
>>>> + int err;
>>>> +#endif /* CONFIG_SECURITY_NETWORK */
>>>> +
>>>> + if (!test_bit(SOCK_PASSPRIV, &sock->flags))
>>>> + return;
>>>> +
>>>> + gip = credp->group_info;
>>>> +
>>>> + /*
>>>> + * uid + euid + gid + egid + group-list + capabilities
>>>> + * + "uid=" + "euid=" + "gid=" + "egid=" + "grps="
>>>> + * + "cap-e=" + "cap-p=" + "cap-i="
>>>> + * 10 + 10 + 10 + 10 + (ngrps * 10) + ecap + pcap + icap
>>>> + * + 4 + 5 + 4 + 5 + 5 + 6 + 6 + 6
>>>> + */
>>>> + i = ((4 + gip->ngroups) * 11) + (3 * (_KERNEL_CAPABILITY_U32S * 8 + 1))
>>>> + + 41;
>>>> +
>>>> +#ifdef CONFIG_SECURITY_NETWORK
>>>> + err = security_secid_to_secctx(scm->secid, &secdata, &seclen);
>>>> + if (!err)
>>>> + /*
>>>> + * " context="
>>>> + */
>>>> + i += seclen + 10;
>>>> +#endif /* CONFIG_SECURITY_NETWORK */
>>>> +
>>>> + result = kzalloc(i, GFP_KERNEL);
>>>> + if (result == NULL)
>>>> + return;
>>>> +
>>>> + cp = result + sprintf(result, "euid=%d uid=%d egid=%d gid=%d",
>>>> + credp->euid, credp->uid,
>>>> + credp->egid, credp->gid);
>>>> +
>>>> + if (gip != NULL && gip->ngroups > 0) {
>>>> + cp += sprintf(cp, " grps=%d", GROUP_AT(gip, 0));
>>>> + for (i = 1 ; i < gip->ngroups; i++)
>>>> + cp += sprintf(cp, ",%d", GROUP_AT(gip, i));
>>>> + }
>>>> +
>>>> + cp += sprintf(cp, " cap-e=");
>>>> + CAP_FOR_EACH_U32(i)
>>>> + cp += sprintf(cp, "%08x", credp->cap_effective.cap[i]);
>>>> + cp += sprintf(cp, " cap-p=");
>>>> + CAP_FOR_EACH_U32(i)
>>>> + cp += sprintf(cp, "%08x", credp->cap_permitted.cap[i]);
>>>> + cp += sprintf(cp, " cap-i=");
>>>> + CAP_FOR_EACH_U32(i)
>>>> + cp += sprintf(cp, "%08x", credp->cap_inheritable.cap[i]);
>>>> +
>>>> +#ifdef CONFIG_SECURITY_NETWORK
>>>> + cp += sprintf(cp, " context=");
>>>> + strncpy(cp, secdata, seclen);
>>>> + cp += seclen;
>>>> + *cp = '\0';
>>>> +
>>>> + security_release_secctx(secdata, seclen);
>>>> +#endif /* CONFIG_SECURITY_NETWORK */
>>>> +
>>>> + put_cmsg(msg, SOL_SOCKET, SCM_PRIVILEGES, strlen(result)+1, result);
>>>> +
>>>> + kfree(result);
>>>> +}
>>>> +
>>>> +
>>>> static __inline__ void scm_recv(struct socket *sock, struct msghdr *msg,
>>>> struct scm_cookie *scm, int flags)
>>>> {
>>>> @@ -114,6 +191,8 @@ static __inline__ void scm_recv(struct socket *sock, struct msghdr *msg,
>>>> if (test_bit(SOCK_PASSCRED, &sock->flags))
>>>> put_cmsg(msg, SOL_SOCKET, SCM_CREDENTIALS, sizeof(scm->creds), &scm->creds);
>>>>
>>>> + scm_passpriv(sock, msg, scm);
>>>> +
>>>> scm_destroy_cred(scm);
>>>>
>>>> scm_passec(sock, msg, scm);
>>>> @@ -124,6 +203,5 @@ static __inline__ void scm_recv(struct socket *sock, struct msghdr *msg,
>>>> scm_detach_fds(msg, scm);
>>>> }
>>>>
>>>> -
>>>> #endif /* __LINUX_NET_SCM_H */
>>>>
>>>> diff --git a/net/core/sock.c b/net/core/sock.c
>>>> index fb60801..f134126 100644
>>>> --- a/net/core/sock.c
>>>> +++ b/net/core/sock.c
>>>> @@ -725,6 +725,13 @@ set_rcvbuf:
>>>> else
>>>> clear_bit(SOCK_PASSSEC, &sock->flags);
>>>> break;
>>>> +
>>>> + case SO_PASSPRIV:
>>>> + if (valbool)
>>>> + set_bit(SOCK_PASSPRIV, &sock->flags);
>>>> + else
>>>> + clear_bit(SOCK_PASSPRIV, &sock->flags);
>>>> + break;
>>>> case SO_MARK:
>>>> if (!capable(CAP_NET_ADMIN))
>>>> ret = -EPERM;
>>>> @@ -950,6 +957,10 @@ int sock_getsockopt(struct socket *sock, int level, int optname,
>>>> v.val = test_bit(SOCK_PASSSEC, &sock->flags) ? 1 : 0;
>>>> break;
>>>>
>>>> + case SO_PASSPRIV:
>>>> + v.val = test_bit(SOCK_PASSPRIV, &sock->flags) ? 1 : 0;
>>>> + break;
>>>> +
>>>> case SO_PEERSEC:
>>>> return security_socket_getpeersec_stream(sock, optval, optlen, len);
>>>>
>
^ permalink raw reply
* Re: Bonding on bond
From: Nicolas de Pesloüan @ 2011-01-19 20:33 UTC (permalink / raw)
To: Jiri Bohac
Cc: Jay Vosburgh, bonding-devel@lists.sourceforge.net,
netdev@vger.kernel.org
Le 19/01/2011 16:49, Jiri Bohac a écrit :
> On Tue, Jan 18, 2011 at 09:07:20AM +0100, Nicolas de Pesloüan wrote:
>> Staking bond is not supported. Currently, no setup is know to
>> require stacking bond.
> I agree. This question and weird bugreports from people trying
> this come up over and over. How about this patch?
Why not. Adding this to the documentation should also help.
> bonding: prohibit enslaving of bonding masters
>
> Nested bonding is not supported and will result in strange problems, e.g.:
> - netif_receive_skb() will not properly change skb->dev to point to the
> uppoer-most bonding master
> - arp monitor will not work (dev->last_rx is only updated by hardware drivers)
> - accidentally enslaving a bonding master to itself will cause an infinite
> recursion in the TX path
>
> This patch prevents this by prohibiting a bonding master from being further enslaved.
>
> Signed-off-by: Jiri Bohac <jbohac@suse.cz>
>
> diff --git a/drivers/net/bonding/bond_main.c b/drivers/net/bonding/bond_main.c
> index b1025b8..d4d5f42 100644
> --- a/drivers/net/bonding/bond_main.c
> +++ b/drivers/net/bonding/bond_main.c
> @@ -1448,8 +1448,8 @@ int bond_enslave(struct net_device *bond_dev, struct net_device *slave_dev)
> }
>
> /* already enslaved */
> - if (slave_dev->flags & IFF_SLAVE) {
> - pr_debug("Error, Device was already enslaved\n");
> + if (slave_dev->priv_flags & IFF_BONDING) {
> + pr_debug("Error, Device already enslaved or a bonding master\n");
Even if it is possible to test for slave and for master with a single condition (IFF_BONDING), I
suggest to split the tests and the error messages, to give end user the best possible diagnostic.
If the device is already a master, let's say it.
If the device is already enslaved, let's continue to say it. It might even be better to give the
name of the other master that already own this slave.
> return -EBUSY;
> }
>
>
>
> --
> Jiri Bohac <jbohac@suse.cz>
> SUSE Labs, SUSE CZ
^ permalink raw reply
* Re: [Xen-devel] Re: [PATCH] xen network backend driver
From: Ben Hutchings @ 2011-01-19 20:16 UTC (permalink / raw)
To: Pasi Kärkkäinen
Cc: Jeremy Fitzhardinge, Ian Campbell, netdev@vger.kernel.org,
xen-devel, Konrad Rzeszutek Wilk
In-Reply-To: <20110119195839.GO2754@reaktio.net>
On Wed, 2011-01-19 at 21:58 +0200, Pasi Kärkkäinen wrote:
> On Wed, Jan 19, 2011 at 07:48:19PM +0000, Ben Hutchings wrote:
[...]
> > It was possible to use multiple receive queues per device long before
> > this since the networking core is not involved in locking them. (Though
> > it did require some hacks to create multiple NAPI contexts, before
> > 2.6.24.) This is mostly useful useful in conjunction with separate IRQs
> > per RX queue, spread across multiple CPUs (sometimes referred to as
> > Receive Side Scaling or RSS).
> >
>
> Ok. I should read changelogs more closely.. I thought both the receive/transmit
> multiqueue features appeared 'recently', but it seems I was wrong.
There was a relatively recent change that allows drivers to record which
receive queue each packet came in on. This is used by RPS/RFS, and for
transmit queue selection when bridging/forwarding. But multiple receive
queues were still usable before that.
> I think Linux 2.6.32 added multiqueue VLAN support..
VLAN devices and several other types of software device don't have
queues of their own, but they can now use all transmit queues of the
underlying device rather than just one.
Ben.
--
Ben Hutchings, Senior Software Engineer, Solarflare Communications
Not speaking for my employer; that's the marketing department's job.
They asked us to note that Solarflare product names are trademarked.
^ permalink raw reply
* Re: [PATCH] bonding: added 802.3ad round-robin hashing policy for single TCP session balancing
From: Nicolas de Pesloüan @ 2011-01-19 20:12 UTC (permalink / raw)
To: Oleg V. Ukhno
Cc: Jay Vosburgh, John Fastabend, David S. Miller,
netdev@vger.kernel.org, Sébastien Barré,
Christophe Paasch
In-Reply-To: <4D370DC7.6000500@yandex-team.ru>
Le 19/01/2011 17:13, Oleg V. Ukhno a écrit :
> On 01/18/2011 11:24 PM, Jay Vosburgh wrote:
[snip]
>> I haven't done much testing with this lately, but I suspect this
>> behavior hasn't really changed. Raising the tcp_reordering sysctl value
>> can mitigate this somewhat (by making TCP more tolerant of this), but
>> that doesn't help non-TCP protocols.
>>
>> Barring evidence to the contrary, I presume that Oleg's system
>> delivers out of order at the receiver. That's not automatically a
>> reason to reject it, but this entire proposal is sufficiently complex to
>> configure that very explicit documentation will be necessary.
>>
>> -J
>>
>> ---
>> -Jay Vosburgh, IBM Linux Technology Center, fubar@us.ibm.com
>>
>
> Jay,
[snip]
>
> What is your opinion on my idea with patch?
>
> I will come back with results for VLAN tunneling case, if this is
> necessary (Nicolas, shall I do that test - I think it will show similar
> results for performance?)
If you have time for that, then yes, please, do the same test using balance-rr+vlan to segregate
path. With those results, we whould have the opportunity to enhance the documentation with some well
tested cases of TCP load balancing on a LAN, not limited to 802.3ad automatic setup. Both setups
make sense, and assuming the results would be similar is probably true, but not reliable enough to
assert it into the documentation.
Thanks,
Nicolas.
^ permalink raw reply
page: next (older) | prev (newer) | latest
- recent:[subjects (threaded)|topics (new)|topics (active)]
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox