* Re: [PATCH net-next] tcp: be more strict before accepting ECN negociation
From: Rick Jones @ 2012-05-04 20:36 UTC (permalink / raw)
To: Eric Dumazet
Cc: David Miller, netdev, Perry Lorier, Matt Mathis, Yuchung Cheng,
Neal Cardwell, Tom Herbert, Wilmer van der Gaast, Dave Täht,
Ankur Jain
In-Reply-To: <4FA43A03.4090707@hp.com>
On 05/04/2012 01:20 PM, Rick Jones wrote:
> True, I'm looking at more than the ECN bits, but in the 90 minutes the
> tcpdump has been running there have been no packets with the any of the
> 8 bits at ip[1] being 1 anyway :) Netperf.org doesn't get a massive
> quantity of traffic. It may go the entire week-end or longer without
> seeing such a packet.
I see fate is working as intended, or someone decided to try to feed me
my words :) for within 6 minutes of my sending the above I got:
13:26:16.866007 IP (tos 0x3,CE, ttl 41, id 28850, offset 0, flags [DF],
proto TCP (6), length 64)
somesystemin.de.55363 > www.netperf.org.www: Flags [S], cksum
0x4cfc (correct), seq 304457158, win 65535, options [mss 1460,nop,wscale
3,nop,nop,TS val 288116308 ecr 0,sackOK,eol], length 0
13:26:17.831880 IP (tos 0x3,CE, ttl 41, id 6911, offset 0, flags [DF],
proto TCP (6), length 64)
somesystemin.de.55367 > www.netperf.org.www: Flags [S], cksum
0x17aa (correct), seq 586073737, win 65535, options [mss 1460,nop,wscale
3,nop,nop,TS val 288117270 ecr 0,sackOK,eol], length 0
13:26:17.831929 IP (tos 0x3,CE, ttl 41, id 28924, offset 0, flags [DF],
proto TCP (6), length 64)
somesystemin.de.55368 > www.netperf.org.www: Flags [S], cksum
0x07cc (correct), seq 1513398047, win 65535, options [mss
1460,nop,wscale 3,nop,nop,TS val 288117271 ecr 0,sackOK,eol], length 0
13:26:17.831952 IP (tos 0x3,CE, ttl 41, id 2494, offset 0, flags [DF],
proto TCP (6), length 64)
somesystemin.de.55366 > www.netperf.org.www: Flags [S], cksum
0x75f4 (correct), seq 1153058420, win 65535, options [mss
1460,nop,wscale 3,nop,nop,TS val 288117270 ecr 0,sackOK,eol], length 0
13:26:17.832177 IP (tos 0x3,CE, ttl 41, id 6854, offset 0, flags [DF],
proto TCP (6), length 64)
somesystemin.de.55365 > www.netperf.org.www: Flags [S], cksum
0xfca0 (correct), seq 2332522875, win 65535, options [mss
1460,nop,wscale 3,nop,nop,TS val 288117270 ecr 0,sackOK,eol], length 0
13:26:17.832239 IP (tos 0x3,CE, ttl 41, id 64733, offset 0, flags [DF],
proto TCP (6), length 64)
somesystemin.de.55364 > www.netperf.org.www: Flags [S], cksum
0x7414 (correct), seq 1544827132, win 65535, options [mss
1460,nop,wscale 3,nop,nop,TS val 288117270 ecr 0,sackOK,eol], length 0
13:26:38.649126 IP (tos 0x3,CE, ttl 41, id 9860, offset 0, flags [DF],
proto TCP (6), length 64)
somesystemin.de.55369 > www.netperf.org.www: Flags [S], cksum
0x6270 (correct), seq 683091230, win 65535, options [mss 1460,nop,wscale
3,nop,nop,TS val 288137968 ecr 0,sackOK,eol], length 0
13:26:39.417589 IP (tos 0x3,CE, ttl 41, id 13478, offset 0, flags [DF],
proto TCP (6), length 64)
somesystemin.de.55370 > www.netperf.org.www: Flags [S], cksum
0x2862 (correct), seq 3168323595, win 65535, options [mss
1460,nop,wscale 3,nop,nop,TS val 288138734 ecr 0,sackOK,eol], length 0
rick
^ permalink raw reply
* Re: [PATCH net-next] tcp: be more strict before accepting ECN negociation
From: Rick Jones @ 2012-05-04 20:20 UTC (permalink / raw)
To: Eric Dumazet
Cc: David Miller, netdev, Perry Lorier, Matt Mathis, Yuchung Cheng,
Neal Cardwell, Tom Herbert, Wilmer van der Gaast, Dave Täht,
Ankur Jain
In-Reply-To: <1336158359.3752.382.camel@edumazet-glaptop>
On 05/04/2012 12:05 PM, Eric Dumazet wrote:
> On Fri, 2012-05-04 at 11:48 -0700, Rick Jones wrote:
>> I'll fire-up tcpdump on netperf.org:
>>
>> tcpdump -i eth0 -vvv '(tcp[tcpflags]& tcp-syn != 0)&& (ip[1] != 0x0)'
>>
>> and see what appears.
>>
>> rick
>
> of (ip[1]& 3 != 0)
True, I'm looking at more than the ECN bits, but in the 90 minutes the
tcpdump has been running there have been no packets with the any of the
8 bits at ip[1] being 1 anyway :) Netperf.org doesn't get a massive
quantity of traffic. It may go the entire week-end or longer without
seeing such a packet.
> Note that you could catch SYNACK with this filter (if your machine
> initiates some active TCP sessions), since SYNACK might have ECT bits,
> if some stacks implemented :
>
> http://tools.ietf.org/html/draft-kuzmanovic-ecn-syn-00 ( Adding
> Explicit Congestion Notification (ECN) Capability to TCP's SYN/ACK
> Packets )
>
> http://tools.ietf.org/id/draft-ietf-tcpm-ecnsyn-04.txt
True. I suspect that 99 times out of 10, the outbound connections
established by netperf.org are in response to traffic to netperf-talk,
which is itself a rather quiet list, so I'm not too worried about the
output being cluttered with false hits.
rick
^ permalink raw reply
* Re: [REGRESSION][PATCH] Fix an old sky2 WOL regression
From: dilieto @ 2012-05-04 20:17 UTC (permalink / raw)
To: Knut_Petersen
Cc: Linus Torvalds, Andrew Morton, Stephen Hemminger, David S. Miller,
arekm, Jared, linux-kernel, netdev
Dear Knut,
I am sorry it took a while to try it due to other
commitments, however I can now confirm the patch works on my ASUS P5LD2
motherboard.
Many thanks
Nicola
On 2012-03-21 12:40, Knut Petersen
wrote:
> Sky2 Wake on LAN is broken since February 2010 on a number of
systems.
> Yes. More than two years.
>
> We know about the problem and
the cause since October 2010
> (Bugzilla bug #19492). It´s commit
87b09f1f25cd1e01d7c50bf423c7fe33027d7511.
>
> Stephen, David: You
signed off that commit.
>
> Andrew: You called it a regression in
October 2010.
>
> It has been proposed to revert the commit that caused
the problem.
> Nothing happened.
>
> I proposed to re-establish the old
code for dmi_match()ed systems.
> Without success.
>
> Now it is
proposed to re-establish the old code as a configuration option.
> If
nothing happens again I will propose a module parameter ;-)
>
>
Stephen, I don´t want to be a pain in the neck, and it is not my
intention
> to offend you by my "attitude". But I simply cannot
understand why this
> know regression is not fixed. The bit we talk
about is documented,
> and in fact it was set for a number of kernel
versions unconditionally.
> Nobody complained about ruined hardware or
minor problems.
>
> The systems affected are old enough that no
manufacturer cares about
> them, but they are still quite usable for a
lot of jobs (kernel 3.3 compile
> time here is below 15 minutes).
>
>
If there is a problem in the kernel and if we do know an easy solution,
> that solution should be commited to the kernel, no matter what is
written
> in some random documentation, no matter if we could blame
some
> BIOS authors. That´s the way Linux works - at least I thought
so.
>
> cu,
> Knut
^ permalink raw reply
* Re: [PATCH] bnx2x: bug fix when loading after SAN boot
From: Eilon Greenstein @ 2012-05-04 19:15 UTC (permalink / raw)
To: David Miller; +Cc: ariele, netdev
In-Reply-To: <20120504.115753.1701261151183409987.davem@davemloft.net>
On Fri, 2012-05-04 at 11:57 -0400, David Miller wrote:
> From: "Ariel Elior" <ariele@broadcom.com>
> Date: Thu, 3 May 2012 11:22:00 +0300
>
> > + /* clear hw from errors which mnay have resulted from an interrupted
> > + * dmae transaction.
> > + */
>
> Please fix the typos in this comment.
>
Sure - thanks for pointing that out:
Subject: [PATCH net v2] bnx2x: bug fix when loading after SAN boot
From: Ariel Elior <ariele@broadcom.com>
This is a bug fix for an "interface fails to load" issue.
The issue occurs when bnx2x driver loads after UNDI driver was previously
loaded over the chip. In such a scenario the UNDI driver is loaded and operates
in the pre-boot kernel, within its own specific host memory address range.
When the pre-boot stage is complete, the real kernel is loaded, in a new and
distinct host memory address range. The transition from pre-boot stage to boot
is asynchronous from UNDI point of view.
A race condition occurs when UNDI driver triggers a DMAE transaction to valid
host addresses in the pre-boot stage, when control is diverted to the real
kernel. This results in access to illegal addresses by our HW as the addresses
which were valid in the preboot stage are no longer considered valid.
Specifically, the 'was_error' bit in the pci glue of our device is set. This
causes all following pci transactions from chip to host to timeout (in
accordance to the pci spec).
Signed-off-by: Ariel Elior <ariele@broadcom.com>
Signed-off-by: Eilon Greenstein <eilong@broadcom.com>
---
drivers/net/ethernet/broadcom/bnx2x/bnx2x_main.c | 23 +++++++++++++++++++++-
1 files changed, 22 insertions(+), 1 deletions(-)
diff --git a/drivers/net/ethernet/broadcom/bnx2x/bnx2x_main.c b/drivers/net/ethernet/broadcom/bnx2x/bnx2x_main.c
index e077d25..795fc49 100644
--- a/drivers/net/ethernet/broadcom/bnx2x/bnx2x_main.c
+++ b/drivers/net/ethernet/broadcom/bnx2x/bnx2x_main.c
@@ -9122,13 +9122,34 @@ static int __devinit bnx2x_prev_unload_common(struct bnx2x *bp)
return bnx2x_prev_mcp_done(bp);
}
+/* previous driver DMAE transaction may have occurred when pre-boot stage ended
+ * and boot began, or when kdump kernel was loaded. Either case would invalidate
+ * the addresses of the transaction, resulting in was-error bit set in the pci
+ * causing all hw-to-host pcie transactions to timeout. If this happened we want
+ * to clear the interrupt which detected this from the pglueb and the was done
+ * bit
+ */
+static void __devinit bnx2x_prev_interrupted_dmae(struct bnx2x *bp)
+{
+ u32 val = REG_RD(bp, PGLUE_B_REG_PGLUE_B_INT_STS);
+ if (val & PGLUE_B_PGLUE_B_INT_STS_REG_WAS_ERROR_ATTN) {
+ BNX2X_ERR("was error bit was found to be set in pglueb upon startup. Clearing");
+ REG_WR(bp, PGLUE_B_REG_WAS_ERROR_PF_7_0_CLR, 1 << BP_FUNC(bp));
+ }
+}
+
static int __devinit bnx2x_prev_unload(struct bnx2x *bp)
{
int time_counter = 10;
u32 rc, fw, hw_lock_reg, hw_lock_val;
BNX2X_DEV_INFO("Entering Previous Unload Flow\n");
- /* Release previously held locks */
+ /* clear hw from errors which may have resulted from an interrupted
+ * dmae transaction.
+ */
+ bnx2x_prev_interrupted_dmae(bp);
+
+ /* Release previously held locks */
hw_lock_reg = (BP_FUNC(bp) <= 5) ?
(MISC_REG_DRIVER_CONTROL_1 + BP_FUNC(bp) * 8) :
(MISC_REG_DRIVER_CONTROL_7 + (BP_FUNC(bp) - 6) * 8);
^ permalink raw reply related
* Re: [PATCH net-next] tcp: be more strict before accepting ECN negociation
From: Eric Dumazet @ 2012-05-04 19:05 UTC (permalink / raw)
To: Rick Jones
Cc: David Miller, netdev, Perry Lorier, Matt Mathis, Yuchung Cheng,
Neal Cardwell, Tom Herbert, Wilmer van der Gaast, Dave Täht,
Ankur Jain
In-Reply-To: <4FA42491.2020104@hp.com>
On Fri, 2012-05-04 at 11:48 -0700, Rick Jones wrote:
> On 05/04/2012 11:23 AM, Eric Dumazet wrote:
> > On Fri, 2012-05-04 at 11:09 -0700, Rick Jones wrote:
> >> What sort of networks were these? Any chance it was some sort of
> >> attempt to add ECN to FastOpen?
> >
> > Nothing to do with fastopen.
> >
> > Just take a look at a random http server and sample all SYN packets it
> > receives.
> >
> > Some of them have TOS bits 0 or 1 set, or even both bits set.
>
> I'll fire-up tcpdump on netperf.org:
>
> tcpdump -i eth0 -vvv '(tcp[tcpflags] & tcp-syn != 0) && (ip[1] != 0x0)'
>
> and see what appears.
>
> rick
of (ip[1] & 3 != 0)
Note that you could catch SYNACK with this filter (if your machine
initiates some active TCP sessions), since SYNACK might have ECT bits,
if some stacks implemented :
http://tools.ietf.org/html/draft-kuzmanovic-ecn-syn-00 ( Adding
Explicit Congestion Notification (ECN) Capability to TCP's SYN/ACK
Packets )
http://tools.ietf.org/id/draft-ietf-tcpm-ecnsyn-04.txt
^ permalink raw reply
* Re: [PATCH net-next] tcp: be more strict before accepting ECN negociation
From: Rick Jones @ 2012-05-04 18:48 UTC (permalink / raw)
To: Eric Dumazet
Cc: David Miller, netdev, Perry Lorier, Matt Mathis, Yuchung Cheng,
Neal Cardwell, Tom Herbert, Wilmer van der Gaast, Dave Täht,
Ankur Jain
In-Reply-To: <1336155815.3752.365.camel@edumazet-glaptop>
On 05/04/2012 11:23 AM, Eric Dumazet wrote:
> On Fri, 2012-05-04 at 11:09 -0700, Rick Jones wrote:
>> What sort of networks were these? Any chance it was some sort of
>> attempt to add ECN to FastOpen?
>
> Nothing to do with fastopen.
>
> Just take a look at a random http server and sample all SYN packets it
> receives.
>
> Some of them have TOS bits 0 or 1 set, or even both bits set.
I'll fire-up tcpdump on netperf.org:
tcpdump -i eth0 -vvv '(tcp[tcpflags] & tcp-syn != 0) && (ip[1] != 0x0)'
and see what appears.
rick
^ permalink raw reply
* Re: [PATCH v3 0/7] ARM: davinci: add support for the am1808 based enbw_cmc board
From: Sekhar Nori @ 2012-05-04 18:36 UTC (permalink / raw)
To: hs-ynQEQJNshbs
Cc: davinci-linux-open-source-VycZQUHpC/PFrsHnngEfi1aTQe2KTcn/,
linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r,
devicetree-discuss-uLR06cmDAlY/bJ5BZ2RsiQ,
linux-mtd-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r,
linux-i2c-u79uwXL29TY76Z2rM5mHXA, netdev-u79uwXL29TY76Z2rM5mHXA,
David Woodhouse, Ben Dooks, Wolfram Sang, Kevin Hilman,
Wolfgang Denk, Sergei Shtylyov, Grant Likely, Rob Herring
In-Reply-To: <4FA3F6C2.9010602-ynQEQJNshbs@public.gmane.org>
Hi Heiko,
On 5/4/2012 9:03 PM, Heiko Schocher wrote:
> Hello,
>
> this v3 patchset is now pending for more than 1 month without
> seeing comments for it. Are there no more issues?
I am yet to get to them. I have mostly cleared my backlog and will be
looking into these next. Sorry about the delay.
> Should I rebase it (if no further comments occur), as it is
> pending so long? (If so, against which tree?)
The series touches multiple subsystems, so may be each patch will go
through individual subsystem maintainer.
Also copying Grant and Rob as device tree maintainers.
Thanks,
Sekhar
>
> Thanks.
>
> bye,
> Heiko
>
> Heiko Schocher wrote:
>> This patchserie add support for the davinci am1808 based
>> enbw_cmc board.
>>
>> Important: I rebased this patchserie against the irqdomain/next
>> branch from grant likely, as he suggested to rework the OF
>> intcontroller changes to the irqdomain work, branch found here:
>>
>> http://git.secretlab.ca/?p=linux-2.6.git;a=shortlog;h=refs/heads/irqdomain/next
>>
>> git://git.secretlab.ca/git/linux-2.6.git irqdomain/next
>>
>> commit 280ad7fda5f95211857fda38960f2b6fdf6edd3e
>> Author: Grant Likely <grant.likely-s3s/WqlpOiPyB63q8FvJNQ@public.gmane.org>
>> Date: Fri Feb 24 14:58:54 2012 -0700
>>
>> mfd: twl-core: Add IRQ_DOMAIN dependency
>>
>> changes for v2:
>> Post this patchserie now as v2, as reworked in the
>> comments I got for the RFC serie.
>>
>> changes for v3:
>> - Interrupt Controller:
>> - comment from Sergei Shtylyov:
>> - rename compatible" prop to "ti,cp_intc"
>> - cp_intc_init() is now also for the of case
>> the name of the init function (it calls the
>> "new" __cp_intc_init() function, which was
>> the "old" cp_intc_init()). Through this
>> rework the changes for OF is better visible.
>> As the OF case uses the irq_domain rework from
>> Grant Likely, maybe the none OF case can use
>> this also, but this should be tested on a hw ...
>>
>> Got no comments to the following points, I noted in the
>> RFC series, so posting this patchseries with them:
>>
>> - ARM: davinci: configure davinci aemif chipselects through OF
>> not moved to mfd, as mentioned in this discussion:
>> http://davinci-linux-open-source.1494791.n2.nabble.com/PATCH-arm-davinci-configure-davinci-aemif-chipselects-through-OF-td7059739.html
>> instead use a phandle in the DTS, so drivers which
>> uses the davinci aemif, can call davinci_aemif_setup_timing_of()
>>
>> This is just thought as an RFC ... The enbw_cmc board
>> support not really need to setup this bus timings, as
>> they are setup in U-Boot ... but I want to post this,
>> as I think, it is a nice to have, and I am not really
>> sure, if this has to be a MFD device (If so, all bus
>> interfaces for other SoCs should be converted also to
>> MFD devices) ... as an example how this can be used
>> I add this to the davinci nand controller OF support
>> patch, in this patchserie.
>>
>> - ARM: davinci: mux: add OF support
>> I want to get rid of the pin setup code in board code ...
>> This patch introduces a davinci_cfg_reg_of() function,
>> which davinci drivers can call, if they found a
>> "pinmux-handle", so used in the following drivers in
>> this patchserie:
>>
>> drivers/net/ethernet/ti/davinci_emac
>> drivers/i2c/busses/i2c-davinci.c
>> drivers/mtd/nand/davinci_nand.c
>>
>> - post this board support with USB support, even though
>> USB is only working with the 10 ms "workaround", posted here:
>> http://comments.gmane.org/gmane.linux.usb.general/54505
>> I see this issue also on the AM1808 TMDXEXP1808L evalboard.
>>
>> - MMC and USB are not using OF support yet, ideas how to port
>> this are welcome. I need for USB and MMC board specific
>> callbacks, how to solve this with OF support?
>>
>> Signed-off-by: Heiko Schocher <hs-ynQEQJNshbs@public.gmane.org>
>> Cc: linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org
>> Cc: devicetree-discuss-uLR06cmDAlY/bJ5BZ2RsiQ@public.gmane.org
>> Cc: davinci-linux-open-source-VycZQUHpC/PFrsHnngEfi1aTQe2KTcn/@public.gmane.org
>> Cc: linux-mtd-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org
>> Cc: linux-i2c-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
>> Cc: netdev-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
>> Cc: David Woodhouse <dwmw2-wEGCiKHe2LqWVfeAwA7xHQ@public.gmane.org>
>> Cc: Ben Dooks <ben-linux-elnMNo+KYs3YtjvyW6yDsg@public.gmane.org>
>> Cc: Wolfram Sang <w.sang-bIcnvbaLZ9MEGnE8C9+IrQ@public.gmane.org>
>> Cc: Sekhar Nori <nsekhar-l0cyMroinI0@public.gmane.org>
>> Cc: Kevin Hilman <khilman-l0cyMroinI0@public.gmane.org>
>> Cc: Wolfgang Denk <wd-ynQEQJNshbs@public.gmane.org>
>> Cc: Sergei Shtylyov <sshtylyov-Igf4POYTYCDQT0dZR+AlfA@public.gmane.org>
>>
>> Heiko Schocher (7):
>> ARM: davinci, intc: Add OF support for TI interrupt controller
>> ARM: davinci: configure davinci aemif chipselects through OF
>> ARM: davinci: mux: add OF support
>> ARM: davinci: net: davinci_emac: add OF support
>> ARM: davinci: i2c: add OF support
>> ARM: mtd: nand: davinci: add OF support for davinci nand controller
>> ARM: davinci: add support for the am1808 based enbw_cmc board
>>
>> .../devicetree/bindings/arm/davinci/aemif.txt | 119 ++++++
>> .../bindings/arm/davinci/davinci_emac.txt | 43 +++
>> .../devicetree/bindings/arm/davinci/i2c.txt | 33 ++
>> .../devicetree/bindings/arm/davinci/intc.txt | 27 ++
>> .../devicetree/bindings/arm/davinci/mux.txt | 40 ++
>> .../devicetree/bindings/arm/davinci/nand.txt | 74 ++++
>> arch/arm/boot/dts/enbw_cmc.dts | 268 ++++++++++++++
>> arch/arm/configs/enbw_cmc_defconfig | 123 +++++++
>> arch/arm/mach-davinci/Kconfig | 9 +
>> arch/arm/mach-davinci/Makefile | 1 +
>> arch/arm/mach-davinci/aemif.c | 86 +++++-
>> arch/arm/mach-davinci/board-enbw-cmc.c | 380 ++++++++++++++++++++
>> arch/arm/mach-davinci/cp_intc.c | 87 ++++-
>> arch/arm/mach-davinci/include/mach/aemif.h | 1 +
>> arch/arm/mach-davinci/include/mach/mux.h | 2 +
>> arch/arm/mach-davinci/include/mach/uncompress.h | 1 +
>> arch/arm/mach-davinci/mux.c | 73 ++++-
>> drivers/i2c/busses/i2c-davinci.c | 37 ++
>> drivers/mtd/nand/davinci_nand.c | 85 +++++-
>> drivers/net/ethernet/ti/davinci_emac.c | 94 +++++-
>> 20 files changed, 1569 insertions(+), 14 deletions(-)
>> create mode 100644 Documentation/devicetree/bindings/arm/davinci/aemif.txt
>> create mode 100644 Documentation/devicetree/bindings/arm/davinci/davinci_emac.txt
>> create mode 100644 Documentation/devicetree/bindings/arm/davinci/i2c.txt
>> create mode 100644 Documentation/devicetree/bindings/arm/davinci/intc.txt
>> create mode 100644 Documentation/devicetree/bindings/arm/davinci/mux.txt
>> create mode 100644 Documentation/devicetree/bindings/arm/davinci/nand.txt
>> create mode 100644 arch/arm/boot/dts/enbw_cmc.dts
>> create mode 100644 arch/arm/configs/enbw_cmc_defconfig
>> create mode 100644 arch/arm/mach-davinci/board-enbw-cmc.c
>>
>
^ permalink raw reply
* Re: [PATCH] net: davinci_emac: Add pre_open, post_stop platform callbacks
From: Mark A. Greer @ 2012-05-04 18:29 UTC (permalink / raw)
To: Kevin Hilman
Cc: Bedia, Vaibhav, nsekhar, Ben Hutchings, netdev@vger.kernel.org,
linux-omap@vger.kernel.org, linux-arm-kernel@lists.infradead.org
In-Reply-To: <87fwbgdnlp.fsf@ti.com>
On Fri, May 04, 2012 at 07:31:30AM -0700, Kevin Hilman wrote:
> "Bedia, Vaibhav" <vaibhav.bedia@ti.com> writes:
Hi Kevin.
> > If it does, perhaps there should some other mechanism for letting
> > users control the system behavior.
>
> Come to think of it, the right solution here is probably to use runtime
> PM. We could then to add some custom hooks for davinci_emac in the
> device code to use enable_hlt/disable_hlt based on activity.
That was my first thought, actually, but that only works if its
okay for the driver to call enable_hlt/disable_hlt directly (i.e.,
have runtime_suspend() call enable_hlt() and runtime_resume() call
disable_hlt()). However, I assumed it would _not_ be acceptable for
the driver to issue those calls directly. Its a platform-specific
issue that we shouldn't be polluting the driver with and there are
currently no drivers that call them under the drivers directory.
If its not okay to call enable_hlt/disable_hlt directly, then we still
need callback hooks to the plaform code (i.e., some version of this
patch).
> In order to do that though, the davinci_emac driver needs to be runtime
> PM converted.
We probably should pm_runtime-ize the driver either way but we need
to resolve the question of whether its okay for the driver to call
enable_hlt/disable_hlt directly or not. If it is okay, we call them
in runtime_suspend/resume. If it isn't okay, then we still need
platform callback hooks.
Mark
^ permalink raw reply
* Re: [PATCH net-next] tcp: be more strict before accepting ECN negociation
From: Eric Dumazet @ 2012-05-04 18:23 UTC (permalink / raw)
To: Rick Jones
Cc: David Miller, netdev, Perry Lorier, Matt Mathis, Yuchung Cheng,
Neal Cardwell, Tom Herbert, Wilmer van der Gaast, Dave Täht,
Ankur Jain
In-Reply-To: <4FA41B5B.5080103@hp.com>
On Fri, 2012-05-04 at 11:09 -0700, Rick Jones wrote:
> On 05/04/2012 08:14 AM, Eric Dumazet wrote:
> > From: Eric Dumazet<edumazet@google.com>
> >
> > It appears some networks play bad games with the two bits reserved for
> > ECN. This can trigger false congestion notifications and very slow
> > transferts.
> >
> > Since RFC 3168 (6.1.1) forbids SYN packets to carry CT bits, we can
> > disable TCP ECN negociation if it happens we receive mangled CT bits in
> > the SYN packet.
>
> What sort of networks were these? Any chance it was some sort of
> attempt to add ECN to FastOpen?
Nothing to do with fastopen.
Just take a look at a random http server and sample all SYN packets it
receives.
Some of them have TOS bits 0 or 1 set, or even both bits set.
^ permalink raw reply
* Re: [PATCH 04/15] drivers/net: Do not free an IRQ if its request failed
From: Linus Walleij @ 2012-05-04 18:22 UTC (permalink / raw)
To: Lee Jones
Cc: linux, linus.walleij, arnd, netdev, grant.likely, cjb,
linux-arm-kernel
In-Reply-To: <4FA3E35B.3000604@linaro.org>
On Fri, May 4, 2012 at 4:10 PM, Lee Jones <lee.jones@linaro.org> wrote:
> On 19/04/12 21:36, Lee Jones wrote:
>> - goto out_free_irq;
>> + goto out_disable_resources;
>> }
>>
>> retval = register_netdev(dev);
>
>
> Anything on this from the Net guys?
This was merged for 3.4-rc5, check:
https://lkml.org/lkml/2012/4/29/2
Linus Walleij
^ permalink raw reply
* Re: [PATCH net-next] tcp: be more strict before accepting ECN negociation
From: Rick Jones @ 2012-05-04 18:09 UTC (permalink / raw)
To: Eric Dumazet
Cc: David Miller, netdev, Perry Lorier, Matt Mathis, Yuchung Cheng,
Neal Cardwell, Tom Herbert, Wilmer van der Gaast, Dave Täht,
Ankur Jain
In-Reply-To: <1336144442.3752.348.camel@edumazet-glaptop>
On 05/04/2012 08:14 AM, Eric Dumazet wrote:
> From: Eric Dumazet<edumazet@google.com>
>
> It appears some networks play bad games with the two bits reserved for
> ECN. This can trigger false congestion notifications and very slow
> transferts.
>
> Since RFC 3168 (6.1.1) forbids SYN packets to carry CT bits, we can
> disable TCP ECN negociation if it happens we receive mangled CT bits in
> the SYN packet.
What sort of networks were these? Any chance it was some sort of
attempt to add ECN to FastOpen?
rick jones
^ permalink raw reply
* Re: [PATCH] net: davinci_emac: Add pre_open, post_stop platform callbacks
From: Mark A. Greer @ 2012-05-04 16:35 UTC (permalink / raw)
To: Bedia, Vaibhav
Cc: Hilman, Kevin, Ben Hutchings, netdev@vger.kernel.org,
linux-omap@vger.kernel.org, linux-arm-kernel@lists.infradead.org
In-Reply-To: <B5906170F1614E41A8A28DE3B8D121433EA81B04@DBDE01.ent.ti.com>
On Fri, May 04, 2012 at 01:55:58PM +0000, Bedia, Vaibhav wrote:
Hi Vaibhav.
> Hi Kevin,
>
> On Fri, May 04, 2012 at 03:02:16, Hilman, Kevin wrote:
> > Ben Hutchings <bhutchings@solarflare.com> writes:
> >
> > > On Thu, 2012-05-03 at 19:25 +0000, Bedia, Vaibhav wrote:
> > >> On Fri, May 04, 2012 at 00:16:32, Mark A. Greer wrote:
> > >> [...]
> > >> > >
> > >> > > So, if I understood this correctly, it's effectively like blocking a low power
> > >> > > state transition (here wfi execution) when EMAC is active?
> > >> >
> > >> > Assuming "it" is my patch, correct.
> > >> >
> > >>
> > >> Recently I was thinking about how to get certain drivers to disallow some or all
> > >> low power states and to me this also seems to fall in a similar category.
> > >>
> > >> One of the suggestions that I got was to check if the 'wakeup' entry associated with
> > >> the device under sysfs could be leveraged for this. The PM code could maintain
> > >> a whitelist (or blacklist) of devices and it decides the low power state to enter
> > >> based on the 'wakeup' entries associated with these devices. In this particular case,
> > >> maybe the driver could simply set this entry to non-wakeup capable when necessary and
> > >> then let the PM code take care of skipping the wfi execution.
> > >>
> > >> Thoughts/brickbats welcome :)
> > >
> > > You can maybe (ab)use the pm_qos mechanism for this.
> >
> > I thought of using this too, but it doesn't actually solve the problem:
> >
> > Using PM QoS, you can avoid hitting the deeper idle states by setting a
> > very low wakeup latency. However, on ARM platforms, even the shallowest
> > idle states use the WFI instruction, and the EMAC would still not be
> > able to wake the system from WFI. A possibility would be define the
> > shallowest idle state to be one that doesn't call WFI and just does
> > cpu_relax(). However, that would only work for CPUidle since PM QoS
> > constraints are only checked by CPUidle. So, a non-CPUidle kernel would
> > still have this bug. :(
> >
> > Ultimately, this is just broken HW. This network HW was bolted onto an
> > existing SoC without consideration for wakeup capabilities. The result
> > is that any use of this device with networking has to completely disable
> > SoC power management.
> >
>
> I was checking with internally with some folks on the issue being addressed
> in this patch and unfortunately no one seems to be aware of this :(
This is from the TI hardware engineer that I talked to after spending many
hours trying to get the EMAC to wake up the system. It was a private
conversation so I won't share his name/email here. If you want to contact
him, please reach me privately.
"No, AM35x can't be waken up from CPGMAC. If customer need to wake AM35x
up from Ethernet, a wake up interrupt signal from Ethernet phy should be
connected to one of wakeup capable GPIO pins."
> Mark mentioned nfs mounted rootfs being slow but in my limited testing I
> didn't observe this on an AM3517 board. I am yet to go through the PSP code
> to be fully sure that wfi instruction is indeed being executed but I wanted
> to check if I need to do something specific to reproduce this at my end.
When you go through the PSP code, look for the definition & use of
omap3_can_sleep(). That routine returns '0' when either cpu_is_omap3505()
or cpu_is_omap3517() ruturns true (among other conditions). You will see
that its used in omap3_pm_idle() to exit early so pm_idle never executes
the wfi.
I expect that you don't have CONFIG_CPU_IDLE enabled, so cpuidle has no
opportunity to execute a wfi. If it is enabled, omap3_can_sleep() is
used in omap3_idle_bm_check() which is used in omap3_enter_idle_bm()
so the wfi won't be executed when omap3_enter_idle_bm() is called.
omap3_enter_idle() isn't called (in my testing--the code is very
different from current k.o.) so it doesn't execute the wfi either.
Therefore, you don't see an issue when running PSP code.
> Irrespective of the above problem being present in the h/w, I feel the approach
> of adding platform callbacks for blocking deeper idle states will create problems
> when this is required for multiple peripherals. I agree that the default behavior
> should be to support the deepest idle state based on the peripherals being used but
> IMO the user should have the flexibility to change this behavior if he wishes
> to do so.
I agree but hopefully this doesn't become common. The real issue is a
missing hardware feature that--again, hopefully--won't become common.
Mark
^ permalink raw reply
* Re: [net v2 0/4][pull request] Intel Wired LAN Driver Updates
From: Jeff Kirsher @ 2012-05-04 16:11 UTC (permalink / raw)
To: David Miller; +Cc: netdev, gospo, sassmann
In-Reply-To: <20120504.105815.2251328360345706986.davem@davemloft.net>
[-- Attachment #1: Type: text/plain, Size: 927 bytes --]
On Fri, 2012-05-04 at 10:58 -0400, David Miller wrote:
> From: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
> Date: Fri, 4 May 2012 04:05:00 -0700
>
> > This series of patches contains fixes for ixgbe, igb and e1000.
> >
> > v2: Added e1000 patch to fix sparse warnings and igb/ixgbe to
> > correct an issue of calling function to reset Tx queue in
> > init path.
> >
> > The following are changes since commit 5a8887d39e1ba5ee2d4ccb94b14d6f2dce5ddfca:
> > sungem: Fix WakeOnLan
> > and are available in the git repository at:
> > git://git.kernel.org/pub/scm/linux/kernel/git/jkirsher/net master`
>
> I pulled, but what is that "`" character doing at the end of that GIT url?
> I removed it when I pulled as you don't seem to have a "master`" branch in
> your tree as far as I can tell.
Sorry about that, not sure what happened there. Guess I missed the ESC
key when editing the cover...
[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 836 bytes --]
^ permalink raw reply
* Re: [PATCH net-next] tcp: be more strict before accepting ECN negociation
From: David Miller @ 2012-05-04 16:06 UTC (permalink / raw)
To: eric.dumazet
Cc: netdev, perryl, mattmathis, ycheng, ncardwell, therbert, wilmer,
dave.taht, jankur
In-Reply-To: <1336144442.3752.348.camel@edumazet-glaptop>
From: Eric Dumazet <eric.dumazet@gmail.com>
Date: Fri, 04 May 2012 17:14:02 +0200
> From: Eric Dumazet <edumazet@google.com>
>
> It appears some networks play bad games with the two bits reserved for
> ECN. This can trigger false congestion notifications and very slow
> transferts.
>
> Since RFC 3168 (6.1.1) forbids SYN packets to carry CT bits, we can
> disable TCP ECN negociation if it happens we receive mangled CT bits in
> the SYN packet.
>
> Signed-off-by: Eric Dumazet <edumazet@google.com>
Applied.
^ permalink raw reply
* Re: [PATCHv3 6/6] mISDN: Help to identify the card
From: Karsten Keil @ 2012-05-04 15:58 UTC (permalink / raw)
To: Paul Gortmaker; +Cc: David Miller, netdev, Karsten Keil
In-Reply-To: <CAP=VYLpKjFHx7b3oTjz7a8wvxQmPME-sK147n8CX6y8+Pii2rg@mail.gmail.com>
Am 04.05.2012 16:48, schrieb Paul Gortmaker:
> On Fri, May 4, 2012 at 10:15 AM, Karsten Keil <kkeil@linux-pingi.de> wrote:
>> From: Karsten Keil <isdn@linux-pingi.de>
>>
>> With multiple cards is hard to figure out which port caused trouble
>> int the layer2 routines (e.g. got a timeout).
>> Now we have the informations in the log output.
>
> If you are in here changing all these printk(KERN_LEVEL ...) lines anyway,
> then perhaps it is a good time to make use of pr_warn() and friends to
> help avoid some multi-line fragmentation things like this:
>
>> printk(KERN_WARNING
>> "%s: windowar[%d] is NULL\n",
>> - __func__, p1);
>> + mISDNDevName4ch(&l2->ch), p1);
>> l2->windowar[p1] = NULL;
>
Good point, but this should be consolidated over the complete project.
Will put this on TODO, after the current issues are solved.
Thanks
Karsten
^ permalink raw reply
* Re: [PATCHv3 0/6] mISDN: Collection of patches for layer1/layer2
From: David Miller @ 2012-05-04 16:02 UTC (permalink / raw)
To: kkeil; +Cc: netdev
In-Reply-To: <1336140935-25830-1-git-send-email-kkeil@linux-pingi.de>
From: Karsten Keil <kkeil@linux-pingi.de>
Date: Fri, 4 May 2012 16:15:29 +0200
> Version 3
> Implement the TIMER3 configuration in one patch.
> Fix additional issues found by checkpatch --strict
>
> Version 2
> I removed the PCM only stuff and the 2MBit test mode and will rework
> them for a later submit. I added the lowlevel driver changes for the TIMER3
> config to this series.
>
> These patches are mainly the outcome of a TBR3 recertification done
> within BT labs.
> The patches itself are very well tested more as 10000 valid/invalid
> call setup were done in preparartion for the TBR3 aproval.
>
> For net-next.
All applied, thanks.
^ permalink raw reply
* Re: [PATCH] bnx2x: bug fix when loading after SAN boot
From: David Miller @ 2012-05-04 15:57 UTC (permalink / raw)
To: ariele; +Cc: netdev, eilong
In-Reply-To: <1336033320-16440-1-git-send-email-ariele@broadcom.com>
From: "Ariel Elior" <ariele@broadcom.com>
Date: Thu, 3 May 2012 11:22:00 +0300
> + /* clear hw from errors which mnay have resulted from an interrupted
> + * dmae transaction.
> + */
Please fix the typos in this comment.
^ permalink raw reply
* Re: [PATCH net-next] tcp: be more strict before accepting ECN negociation
From: Neal Cardwell @ 2012-05-04 15:54 UTC (permalink / raw)
To: Eric Dumazet
Cc: David Miller, netdev, Perry Lorier, Matt Mathis, Yuchung Cheng,
Tom Herbert, Wilmer van der Gaast, Dave Täht, Ankur Jain
In-Reply-To: <1336144442.3752.348.camel@edumazet-glaptop>
On Fri, May 4, 2012 at 11:14 AM, Eric Dumazet <eric.dumazet@gmail.com> wrote:
> From: Eric Dumazet <edumazet@google.com>
>
> It appears some networks play bad games with the two bits reserved for
> ECN. This can trigger false congestion notifications and very slow
> transferts.
>
> Since RFC 3168 (6.1.1) forbids SYN packets to carry CT bits, we can
> disable TCP ECN negociation if it happens we receive mangled CT bits in
> the SYN packet.
>
> Signed-off-by: Eric Dumazet <edumazet@google.com>
> Cc: Perry Lorier <perryl@google.com>
> Cc: Matt Mathis <mattmathis@google.com>
> Cc: Yuchung Cheng <ycheng@google.com>
> Cc: Neal Cardwell <ncardwell@google.com>
> Cc: Wilmer van der Gaast <wilmer@google.com>
> Cc: Ankur Jain <jankur@google.com>
> Cc: Tom Herbert <therbert@google.com>
> Cc: Dave Täht <dave.taht@bufferbloat.net>
> ---
> include/net/tcp.h | 23 ++++++++++++++++-------
> net/ipv4/tcp_ipv4.c | 2 +-
> net/ipv6/tcp_ipv6.c | 2 +-
> 3 files changed, 18 insertions(+), 9 deletions(-)
Acked-by: Neal Cardwell <ncardwell@google.com>
neal
^ permalink raw reply
* Re: [PATCH net-next] net: sched: factorize code (qdisc_drop())
From: David Miller @ 2012-05-04 15:51 UTC (permalink / raw)
To: eric.dumazet; +Cc: netdev
In-Reply-To: <1336142241.3752.331.camel@edumazet-glaptop>
From: Eric Dumazet <eric.dumazet@gmail.com>
Date: Fri, 04 May 2012 16:37:21 +0200
> From: Eric Dumazet <edumazet@google.com>
>
> Use qdisc_drop() helper where possible.
>
> Signed-off-by: Eric Dumazet <edumazet@google.com>
Applied, thanks Eric.
^ permalink raw reply
* Re: [net-next 0/8][pull request] Intel Wired LAN Driver Updates
From: David Miller @ 2012-05-04 15:49 UTC (permalink / raw)
To: jeffrey.t.kirsher; +Cc: netdev, gospo, sassmann
In-Reply-To: <1336127716-20383-1-git-send-email-jeffrey.t.kirsher@intel.com>
From: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Date: Fri, 4 May 2012 03:35:08 -0700
> This series of patches contains updates for e1000e and ixgbe.
> The e1000e updates the version number and adds support for i217
> silicon. The ixgbe patches are cleanups/re-organizations to
> the driver.
>
> The following are changes since commit f19250883fe09dd2b6b5f818d84874837948c546:
> net/niu: remove one superfluous dma mask check
> and are available in the git repository at:
> git://git.kernel.org/pub/scm/linux/kernel/git/jkirsher/net-next master
Pulled, thanks Jeff.
^ permalink raw reply
* Re: [PATCH v2] RPS: Sparse connection optimizations - v2
From: Eric Dumazet @ 2012-05-04 15:47 UTC (permalink / raw)
To: Tom Herbert; +Cc: Deng-Cheng Zhu, davem, netdev
In-Reply-To: <CA+mtBx-CErRU=3ewkAjVrGN3dGzjsTz8Q-E8J+Xa+529OVEvwA@mail.gmail.com>
On Fri, 2012-05-04 at 08:31 -0700, Tom Herbert wrote:
> > I think the mechanisms of rps_dev_flow_table and cpu_flow (in this
> > patch) are different: The former works along with rps_sock_flow_table
> > whose CPU info is based on recvmsg by the application. But for the tests
> > like what I did, there's no application involved.
> >
> While rps_sock_flow_table is currently only managed by recvmsg, it
> still is the general mechanism that maps flows to CPUs for steering.
> There should be nothing preventing you from populating and managing
> entries in other ways.
It might be done from a netfilter module, activated in FORWARD chain for
example.
^ permalink raw reply
* Re: [PATCH v3 0/7] ARM: davinci: add support for the am1808 based enbw_cmc board
From: Heiko Schocher @ 2012-05-04 15:33 UTC (permalink / raw)
To: davinci-linux-open-source-VycZQUHpC/PFrsHnngEfi1aTQe2KTcn/
Cc: Kevin Hilman, Wolfgang Denk, Sergei Shtylyov,
netdev-u79uwXL29TY76Z2rM5mHXA,
devicetree-discuss-uLR06cmDAlY/bJ5BZ2RsiQ, Wolfram Sang,
linux-mtd-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r,
linux-i2c-u79uwXL29TY76Z2rM5mHXA, Ben Dooks, David Woodhouse,
linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r
In-Reply-To: <1330945804-3379-1-git-send-email-hs-ynQEQJNshbs@public.gmane.org>
Hello,
this v3 patchset is now pending for more than 1 month without
seeing comments for it. Are there no more issues?
Should I rebase it (if no further comments occur), as it is
pending so long? (If so, against which tree?)
Thanks.
bye,
Heiko
Heiko Schocher wrote:
> This patchserie add support for the davinci am1808 based
> enbw_cmc board.
>
> Important: I rebased this patchserie against the irqdomain/next
> branch from grant likely, as he suggested to rework the OF
> intcontroller changes to the irqdomain work, branch found here:
>
> http://git.secretlab.ca/?p=linux-2.6.git;a=shortlog;h=refs/heads/irqdomain/next
>
> git://git.secretlab.ca/git/linux-2.6.git irqdomain/next
>
> commit 280ad7fda5f95211857fda38960f2b6fdf6edd3e
> Author: Grant Likely <grant.likely-s3s/WqlpOiPyB63q8FvJNQ@public.gmane.org>
> Date: Fri Feb 24 14:58:54 2012 -0700
>
> mfd: twl-core: Add IRQ_DOMAIN dependency
>
> changes for v2:
> Post this patchserie now as v2, as reworked in the
> comments I got for the RFC serie.
>
> changes for v3:
> - Interrupt Controller:
> - comment from Sergei Shtylyov:
> - rename compatible" prop to "ti,cp_intc"
> - cp_intc_init() is now also for the of case
> the name of the init function (it calls the
> "new" __cp_intc_init() function, which was
> the "old" cp_intc_init()). Through this
> rework the changes for OF is better visible.
> As the OF case uses the irq_domain rework from
> Grant Likely, maybe the none OF case can use
> this also, but this should be tested on a hw ...
>
> Got no comments to the following points, I noted in the
> RFC series, so posting this patchseries with them:
>
> - ARM: davinci: configure davinci aemif chipselects through OF
> not moved to mfd, as mentioned in this discussion:
> http://davinci-linux-open-source.1494791.n2.nabble.com/PATCH-arm-davinci-configure-davinci-aemif-chipselects-through-OF-td7059739.html
> instead use a phandle in the DTS, so drivers which
> uses the davinci aemif, can call davinci_aemif_setup_timing_of()
>
> This is just thought as an RFC ... The enbw_cmc board
> support not really need to setup this bus timings, as
> they are setup in U-Boot ... but I want to post this,
> as I think, it is a nice to have, and I am not really
> sure, if this has to be a MFD device (If so, all bus
> interfaces for other SoCs should be converted also to
> MFD devices) ... as an example how this can be used
> I add this to the davinci nand controller OF support
> patch, in this patchserie.
>
> - ARM: davinci: mux: add OF support
> I want to get rid of the pin setup code in board code ...
> This patch introduces a davinci_cfg_reg_of() function,
> which davinci drivers can call, if they found a
> "pinmux-handle", so used in the following drivers in
> this patchserie:
>
> drivers/net/ethernet/ti/davinci_emac
> drivers/i2c/busses/i2c-davinci.c
> drivers/mtd/nand/davinci_nand.c
>
> - post this board support with USB support, even though
> USB is only working with the 10 ms "workaround", posted here:
> http://comments.gmane.org/gmane.linux.usb.general/54505
> I see this issue also on the AM1808 TMDXEXP1808L evalboard.
>
> - MMC and USB are not using OF support yet, ideas how to port
> this are welcome. I need for USB and MMC board specific
> callbacks, how to solve this with OF support?
>
> Signed-off-by: Heiko Schocher <hs-ynQEQJNshbs@public.gmane.org>
> Cc: linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org
> Cc: devicetree-discuss-uLR06cmDAlY/bJ5BZ2RsiQ@public.gmane.org
> Cc: davinci-linux-open-source-VycZQUHpC/PFrsHnngEfi1aTQe2KTcn/@public.gmane.org
> Cc: linux-mtd-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org
> Cc: linux-i2c-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
> Cc: netdev-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
> Cc: David Woodhouse <dwmw2-wEGCiKHe2LqWVfeAwA7xHQ@public.gmane.org>
> Cc: Ben Dooks <ben-linux-elnMNo+KYs3YtjvyW6yDsg@public.gmane.org>
> Cc: Wolfram Sang <w.sang-bIcnvbaLZ9MEGnE8C9+IrQ@public.gmane.org>
> Cc: Sekhar Nori <nsekhar-l0cyMroinI0@public.gmane.org>
> Cc: Kevin Hilman <khilman-l0cyMroinI0@public.gmane.org>
> Cc: Wolfgang Denk <wd-ynQEQJNshbs@public.gmane.org>
> Cc: Sergei Shtylyov <sshtylyov-Igf4POYTYCDQT0dZR+AlfA@public.gmane.org>
>
> Heiko Schocher (7):
> ARM: davinci, intc: Add OF support for TI interrupt controller
> ARM: davinci: configure davinci aemif chipselects through OF
> ARM: davinci: mux: add OF support
> ARM: davinci: net: davinci_emac: add OF support
> ARM: davinci: i2c: add OF support
> ARM: mtd: nand: davinci: add OF support for davinci nand controller
> ARM: davinci: add support for the am1808 based enbw_cmc board
>
> .../devicetree/bindings/arm/davinci/aemif.txt | 119 ++++++
> .../bindings/arm/davinci/davinci_emac.txt | 43 +++
> .../devicetree/bindings/arm/davinci/i2c.txt | 33 ++
> .../devicetree/bindings/arm/davinci/intc.txt | 27 ++
> .../devicetree/bindings/arm/davinci/mux.txt | 40 ++
> .../devicetree/bindings/arm/davinci/nand.txt | 74 ++++
> arch/arm/boot/dts/enbw_cmc.dts | 268 ++++++++++++++
> arch/arm/configs/enbw_cmc_defconfig | 123 +++++++
> arch/arm/mach-davinci/Kconfig | 9 +
> arch/arm/mach-davinci/Makefile | 1 +
> arch/arm/mach-davinci/aemif.c | 86 +++++-
> arch/arm/mach-davinci/board-enbw-cmc.c | 380 ++++++++++++++++++++
> arch/arm/mach-davinci/cp_intc.c | 87 ++++-
> arch/arm/mach-davinci/include/mach/aemif.h | 1 +
> arch/arm/mach-davinci/include/mach/mux.h | 2 +
> arch/arm/mach-davinci/include/mach/uncompress.h | 1 +
> arch/arm/mach-davinci/mux.c | 73 ++++-
> drivers/i2c/busses/i2c-davinci.c | 37 ++
> drivers/mtd/nand/davinci_nand.c | 85 +++++-
> drivers/net/ethernet/ti/davinci_emac.c | 94 +++++-
> 20 files changed, 1569 insertions(+), 14 deletions(-)
> create mode 100644 Documentation/devicetree/bindings/arm/davinci/aemif.txt
> create mode 100644 Documentation/devicetree/bindings/arm/davinci/davinci_emac.txt
> create mode 100644 Documentation/devicetree/bindings/arm/davinci/i2c.txt
> create mode 100644 Documentation/devicetree/bindings/arm/davinci/intc.txt
> create mode 100644 Documentation/devicetree/bindings/arm/davinci/mux.txt
> create mode 100644 Documentation/devicetree/bindings/arm/davinci/nand.txt
> create mode 100644 arch/arm/boot/dts/enbw_cmc.dts
> create mode 100644 arch/arm/configs/enbw_cmc_defconfig
> create mode 100644 arch/arm/mach-davinci/board-enbw-cmc.c
>
--
DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd-ynQEQJNshbs@public.gmane.org
^ permalink raw reply
* Re: [PATCH v2] RPS: Sparse connection optimizations - v2
From: Tom Herbert @ 2012-05-04 15:31 UTC (permalink / raw)
To: Deng-Cheng Zhu; +Cc: davem, netdev, eric.dumazet
In-Reply-To: <4FA35A3D.8000205@mips.com>
> I think the mechanisms of rps_dev_flow_table and cpu_flow (in this
> patch) are different: The former works along with rps_sock_flow_table
> whose CPU info is based on recvmsg by the application. But for the tests
> like what I did, there's no application involved.
>
While rps_sock_flow_table is currently only managed by recvmsg, it
still is the general mechanism that maps flows to CPUs for steering.
There should be nothing preventing you from populating and managing
entries in other ways.
Tom
>
> Deng-Cheng
^ permalink raw reply
* Re: [Lksctp-developers] Bug: sctp packets are dropped after IPSEC rekeying (route cache issue)
From: Nicolas Dichtel @ 2012-05-04 15:24 UTC (permalink / raw)
To: David Miller, vyasevich
Cc: babu.srinivasan, lksctp-developers, linux-sctp, netdev,
michael.kreuzer
In-Reply-To: <20120504.104812.502049217620285020.davem@davemloft.net>
[-- Attachment #1: Type: text/plain, Size: 653 bytes --]
Le 04/05/2012 16:48, David Miller a écrit :
> From: Nicolas Dichtel<nicolas.dichtel@6wind.com>
> Date: Fri, 04 May 2012 12:07:38 +0200
>
>> Finally, this patch was never integrated into the mainline. Should I
>> rebase it on the head?
>>
>> I've attach the last approved patch.
>>
>> Here is the original thread:
>> http://sourceforge.net/mailarchive/message.php?msg_id=25786006
>
> Vlad no longer works for HP so your email likely will bounce, and
> he will not see it.
Right.
>
> His new email address is vyasevich@gmail.com, as per the MAINTAINERS
> file.
I put the right email address now. I attach the patch again, for Vlad.
Thank you,
Nicolas
[-- Attachment #2: 0001-sctp-check-cached-dst-before-using-it.patch --]
[-- Type: text/x-patch, Size: 2498 bytes --]
>From a54926eded11de99a0cfcda45d852d2f6e919b77 Mon Sep 17 00:00:00 2001
From: Nicolas Dichtel <nicolas.dichtel@6wind.com>
Date: Wed, 21 Jul 2010 09:59:49 +0200
Subject: [PATCH] sctp: check cached dst before using it
dst_check() will take care of SA (and obsolete field), hence
IPsec rekeying scenario is taken into account.
Signed-off-by: Nicolas Dichtel <nicolas.dichtel@6wind.com>
---
include/net/sctp/sctp.h | 13 +++++++++++++
net/sctp/output.c | 4 +---
net/sctp/transport.c | 17 -----------------
3 files changed, 14 insertions(+), 20 deletions(-)
diff --git a/include/net/sctp/sctp.h b/include/net/sctp/sctp.h
index 65946bc..ab54df3 100644
--- a/include/net/sctp/sctp.h
+++ b/include/net/sctp/sctp.h
@@ -691,4 +691,17 @@ static inline void sctp_v4_map_v6(union sctp_addr *addr)
addr->v6.sin6_addr.s6_addr32[2] = htonl(0x0000ffff);
}
+/* The cookie is always 0 since this is how it's used in the
+ * pmtu code.
+ */
+static inline struct dst_entry *sctp_transport_dst_check(struct sctp_transport *t)
+{
+ if (t->dst && !dst_check(t->dst, 0)) {
+ dst_release(t->dst);
+ t->dst = NULL;
+ }
+
+ return t->dst;
+}
+
#endif /* __net_sctp_h__ */
diff --git a/net/sctp/output.c b/net/sctp/output.c
index a646681..93daf59 100644
--- a/net/sctp/output.c
+++ b/net/sctp/output.c
@@ -376,9 +376,7 @@ int sctp_packet_transmit(struct sctp_packet *packet)
*/
skb_set_owner_w(nskb, sk);
- /* The 'obsolete' field of dst is set to 2 when a dst is freed. */
- if (!dst || (dst->obsolete > 1)) {
- dst_release(dst);
+ if (!sctp_transport_dst_check(tp)) {
sctp_transport_route(tp, NULL, sctp_sk(sk));
if (asoc && (asoc->param_flags & SPP_PMTUD_ENABLE)) {
sctp_assoc_sync_pmtu(asoc);
diff --git a/net/sctp/transport.c b/net/sctp/transport.c
index 132046c..bce3f06 100644
--- a/net/sctp/transport.c
+++ b/net/sctp/transport.c
@@ -222,23 +222,6 @@ void sctp_transport_pmtu(struct sctp_transport *transport)
transport->pathmtu = SCTP_DEFAULT_MAXSEGMENT;
}
-/* this is a complete rip-off from __sk_dst_check
- * the cookie is always 0 since this is how it's used in the
- * pmtu code
- */
-static struct dst_entry *sctp_transport_dst_check(struct sctp_transport *t)
-{
- struct dst_entry *dst = t->dst;
-
- if (dst && dst->obsolete && dst->ops->check(dst, 0) == NULL) {
- dst_release(t->dst);
- t->dst = NULL;
- return NULL;
- }
-
- return dst;
-}
-
void sctp_transport_update_pmtu(struct sctp_transport *t, u32 pmtu)
{
struct dst_entry *dst;
--
1.5.4.5
^ permalink raw reply related
* [PATCH net-next] tcp: be more strict before accepting ECN negociation
From: Eric Dumazet @ 2012-05-04 15:14 UTC (permalink / raw)
To: David Miller
Cc: netdev, Perry Lorier, Matt Mathis, Yuchung Cheng, Neal Cardwell,
Tom Herbert, Wilmer van der Gaast, Dave Täht, Ankur Jain
From: Eric Dumazet <edumazet@google.com>
It appears some networks play bad games with the two bits reserved for
ECN. This can trigger false congestion notifications and very slow
transferts.
Since RFC 3168 (6.1.1) forbids SYN packets to carry CT bits, we can
disable TCP ECN negociation if it happens we receive mangled CT bits in
the SYN packet.
Signed-off-by: Eric Dumazet <edumazet@google.com>
Cc: Perry Lorier <perryl@google.com>
Cc: Matt Mathis <mattmathis@google.com>
Cc: Yuchung Cheng <ycheng@google.com>
Cc: Neal Cardwell <ncardwell@google.com>
Cc: Wilmer van der Gaast <wilmer@google.com>
Cc: Ankur Jain <jankur@google.com>
Cc: Tom Herbert <therbert@google.com>
Cc: Dave Täht <dave.taht@bufferbloat.net>
---
include/net/tcp.h | 23 ++++++++++++++++-------
net/ipv4/tcp_ipv4.c | 2 +-
net/ipv6/tcp_ipv6.c | 2 +-
3 files changed, 18 insertions(+), 9 deletions(-)
diff --git a/include/net/tcp.h b/include/net/tcp.h
index c826ed7..92faa6a 100644
--- a/include/net/tcp.h
+++ b/include/net/tcp.h
@@ -367,13 +367,6 @@ static inline void tcp_dec_quickack_mode(struct sock *sk,
#define TCP_ECN_DEMAND_CWR 4
#define TCP_ECN_SEEN 8
-static __inline__ void
-TCP_ECN_create_request(struct request_sock *req, struct tcphdr *th)
-{
- if (sysctl_tcp_ecn && th->ece && th->cwr)
- inet_rsk(req)->ecn_ok = 1;
-}
-
enum tcp_tw_status {
TCP_TW_SUCCESS = 0,
TCP_TW_RST = 1,
@@ -671,6 +664,22 @@ struct tcp_skb_cb {
#define TCP_SKB_CB(__skb) ((struct tcp_skb_cb *)&((__skb)->cb[0]))
+/* RFC3168 : 6.1.1 SYN packets must not have ECT/ECN bits set
+ *
+ * If we receive a SYN packet with these bits set, it means a network is
+ * playing bad games with TOS bits. In order to avoid possible false congestion
+ * notifications, we disable TCP ECN negociation.
+ */
+static inline void
+TCP_ECN_create_request(struct request_sock *req, const struct sk_buff *skb)
+{
+ const struct tcphdr *th = tcp_hdr(skb);
+
+ if (sysctl_tcp_ecn && th->ece && th->cwr &&
+ INET_ECN_is_not_ect(TCP_SKB_CB(skb)->ip_dsfield))
+ inet_rsk(req)->ecn_ok = 1;
+}
+
/* Due to TSO, an SKB can be composed of multiple actual
* packets. To keep these tracked properly, we use this.
*/
diff --git a/net/ipv4/tcp_ipv4.c b/net/ipv4/tcp_ipv4.c
index cf97e98..4ff5e1f 100644
--- a/net/ipv4/tcp_ipv4.c
+++ b/net/ipv4/tcp_ipv4.c
@@ -1368,7 +1368,7 @@ int tcp_v4_conn_request(struct sock *sk, struct sk_buff *skb)
goto drop_and_free;
if (!want_cookie || tmp_opt.tstamp_ok)
- TCP_ECN_create_request(req, tcp_hdr(skb));
+ TCP_ECN_create_request(req, skb);
if (want_cookie) {
isn = cookie_v4_init_sequence(sk, skb, &req->mss);
diff --git a/net/ipv6/tcp_ipv6.c b/net/ipv6/tcp_ipv6.c
index 57b2109..078d039 100644
--- a/net/ipv6/tcp_ipv6.c
+++ b/net/ipv6/tcp_ipv6.c
@@ -1140,7 +1140,7 @@ static int tcp_v6_conn_request(struct sock *sk, struct sk_buff *skb)
treq->rmt_addr = ipv6_hdr(skb)->saddr;
treq->loc_addr = ipv6_hdr(skb)->daddr;
if (!want_cookie || tmp_opt.tstamp_ok)
- TCP_ECN_create_request(req, tcp_hdr(skb));
+ TCP_ECN_create_request(req, skb);
treq->iif = sk->sk_bound_dev_if;
^ permalink raw reply related
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