Re: tbench regression in 2.6.25-rc1

2008-02-20 Thread David Miller
From: Eric Dumazet [EMAIL PROTECTED] Date: Wed, 20 Feb 2008 08:38:17 +0100 Thanks very much Yanmin, I think we can apply your patch as is, if no regression was found for 32bits. Great. Can I get a resubmission of the patch with a cleaned up changelog entry that describes in the regression

Re: [Lksctp-developers] [PATCH][SCTP]: Pick up an orphaned sctp_sockets_allocated counter.

2008-02-20 Thread David Miller
From: Vlad Yasevich [EMAIL PROTECTED] Date: Tue, 19 Feb 2008 11:43:44 -0500 Pavel Emelyanov wrote: This counter is currently write-only. Drawing an analogy with the similar tcp counter, I think that this one should be pointed by the sockets_allocated members of sctp_prot and

Re: [2.6.25 patch] fix broken error handling in ieee80211_sta_process_addba_request()

2008-02-20 Thread Tomas Winkler
On Feb 20, 2008 8:46 AM, Jarek Poplawski [EMAIL PROTECTED] wrote: On 19-02-2008 23:58, Adrian Bunk wrote: ... --- a/net/mac80211/ieee80211_sta.c +++ b/net/mac80211/ieee80211_sta.c @@ -1116,9 +1116,10 @@ static void ieee80211_sta_process_addba_request(struct net_device *dev, ... +

Re: tbench regression in 2.6.25-rc1

2008-02-20 Thread Zhang, Yanmin
Comparing with kernel 2.6.24, tbench result has regression with 2.6.25-rc1. 1) On 2 quad-core processor stoakley: 4%. 2) On 4 quad-core processor tigerton: more than 30%. bisect located below patch. b4ce92775c2e7ff9cf79cca4e0a19c8c5fd6287b is first bad commit commit

RE: e1000: Question about polling

2008-02-20 Thread Brandeburg, Jesse
Badalian Vyacheslav wrote: Hello all. Interesting think: Have PC that do NAT. Bandwidth about 600 mbs. Have 4 CPU (2xCoRe 2 DUO HT OFF 3.2 HZ). irqbalance in kernel is off. nat2 ~ # cat /proc/irq/217/smp_affinity 0001 this binds all 217 irq interrupts to cpu 0 nat2 ~ # cat

Re: [PATCH] [NETNS]: Namespace leak in pneigh_lookup.

2008-02-20 Thread David Miller
From: Denis V. Lunev [EMAIL PROTECTED] Date: Tue, 19 Feb 2008 16:12:38 +0300 release_net is missed on the error path in pneigh_lookup. Signed-off-by: Denis V. Lunev [EMAIL PROTECTED] Applied, thanks a lot. -- To unsubscribe from this list: send the line unsubscribe netdev in the body of a

Re: [PATCH] [NETLABEL] Minor cleanup: remove unused method definition

2008-02-20 Thread David Miller
From: Paul Moore [EMAIL PROTECTED] Date: Tue, 19 Feb 2008 11:08:27 -0500 On Tuesday 19 February 2008 9:25:31 am Rami Rosen wrote: Hi, This patch removes definition of netlbl_cfg_cipsov4_del() method in netlabel/netlabel_kapi.c and in include/net/netlabel.h as it is not used.

Re: [net-2.6][DRIVER][VETH] fix dev refcount race

2008-02-20 Thread David Miller
From: Daniel Lezcano [EMAIL PROTECTED] Date: Tue, 19 Feb 2008 17:18:00 +0100 veth: fix dev refcount race When deleting the veth driver, veth_close calls netif_carrier_off for the two extremities of the network device. netif_carrier_off on the peer device will fire an event and hold a

Re: e1000: Question about polling

2008-02-20 Thread Badalian Vyacheslav
Very big thanks for this answer. You ask for all my questions and for all future questions too. Thanks Again! Badalian Vyacheslav wrote: Hello all. Interesting think: Have PC that do NAT. Bandwidth about 600 mbs. Have 4 CPU (2xCoRe 2 DUO HT OFF 3.2 HZ). irqbalance in kernel is off.

Re: e1000: Question about polling

2008-02-20 Thread Badalian Vyacheslav
Sorry for little information and mistakes in letter. Jesse Brandeburg ask for all my questions. In future i will try to be more accurate then write letters and post more info. Please not think that it disrespect for you. Its simple language barrier =( On 18-02-2008 10:18, Badalian Vyacheslav

Re: e1000: Question about polling

2008-02-20 Thread Jarek Poplawski
On Wed, Feb 20, 2008 at 12:25:32PM +0300, Badalian Vyacheslav wrote: ... Please not think that it disrespect for you. Its simple language barrier =( OK! Don't disrespect for me - I'll try fix my English next time!) Jarek P. -- To unsubscribe from this list: send the line unsubscribe netdev in

[PATCH 03/04] smc91x: make superh use default config

2008-02-20 Thread Magnus Damm
Removes superh board specific configuration from the header file. These boards will instead be configured using platform data. Signed-off-by: Magnus Damm [EMAIL PROTECTED] --- drivers/net/smc91x.h | 30 -- 1 file changed, 30 deletions(-) ---

[PATCH 04/04] smc91x: add insw/outsw to default config

2008-02-20 Thread Magnus Damm
This patch makes sure SMC_insw()/SMC_outsw() are defined for the default configuration. Without this change BUG()s will be triggered when using 16-bit only platform data and the default configuration. Signed-off-by: Magnus Damm [EMAIL PROTECTED] --- drivers/net/smc91x.h |2 ++ 1 file

[PATCH 02/04] smc91x: introduce platform data flags

2008-02-20 Thread Magnus Damm
This patch introduces struct smc91x_platdata and modifies the driver so bus width is checked during run time using SMC_nBIT() instead of SMC_CAN_USE_nBIT. Signed-off-by: Magnus Damm [EMAIL PROTECTED] --- drivers/net/smc91x.c | 31 - drivers/net/smc91x.h | 50

[PATCH 00/04] smc91x: request bus width using platform data

2008-02-20 Thread Magnus Damm
These patches make it possible to request bus width in the platform data. Instead of keep on updating smc91x.h with board specific configuration, use platform data to pass along bus width and irq flags to the driver. This change is designed to be backwards-compatible, so all boards configured in

[PATCH 01/04] smc91x: pass along private data

2008-02-20 Thread Magnus Damm
Pass a private data pointer to macros and functions. This makes it easy to later on make run time decisions. This patch does not change any logic. These changes should be optimized away during compilation. Signed-off-by: Magnus Damm [EMAIL PROTECTED] --- drivers/net/smc91x.c | 309

Re: [NETFILTER]: Introduce nf_inet_address

2008-02-20 Thread Jan Engelhardt
On Feb 19 2008 15:45, Patrick McHardy wrote: It's in busybox 1.9.1. Just including netinet/in.h seems to be sufficient to make it happy again. I wonder if netfilter.h should include that for itself? That would break iptables compilation, which already includes linux/in.h in some files. I

Re: e1000: Question about polling

2008-02-20 Thread Badalian Vyacheslav
Khrm i try to say that i have language barrier and some time may wrong compose clauses. Example below =) I'll try fix my English next time! Vyacheslav On Wed, Feb 20, 2008 at 12:25:32PM +0300, Badalian Vyacheslav wrote: ... Please not think that it disrespect for you. Its simple

Re: [VLAN] vlan_skb_recv

2008-02-20 Thread Patrick McHardy
Ben Greear wrote: Stephen Anderson wrote: Hello, To help increase throughput and bypass the backlog queue, I changed the netif_rx() to netif_receive_skb() in vlan_skb_recv(). What's the argument for using netif_rx() other than legacy maintenance? At this point, interrupt context should not

Re: e1000: Question about polling

2008-02-20 Thread Jarek Poplawski
On Wed, Feb 20, 2008 at 02:54:27PM +0300, Badalian Vyacheslav wrote: Khrm i try to say that i have language barrier and some time may wrong compose clauses. Example below =) No, only a bit joking... I'll try fix my English next time! Don't worry Vyacheslav: I think your message was

[PATCH] [net] use PCI_DEVICE_TABLE: makes struct pci_device_id array const and adds section attribute __devinitconst

2008-02-20 Thread Jonas Bonn
Signed-off-by: Jonas Bonn [EMAIL PROTECTED] --- drivers/net/sk98lin/skge.c |2 +- 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/drivers/net/sk98lin/skge.c b/drivers/net/sk98lin/skge.c index 20890e4..eedcbeb 100644 --- a/drivers/net/sk98lin/skge.c +++

Re: pci_device_id cleanups

2008-02-20 Thread Sam Ravnborg
On Wed, Feb 20, 2008 at 01:53:36PM +0100, Jonas Bonn wrote: The PCI_DEVICE_TABLE patch I sent earlier doesn't necessarily make much sense by itself... here is a set of patches that apply this macro, in turn moving a lot of this data into __devinitconst which is discardable in certain

[PATCH] [net] use PCI_DEVICE_TABLE: makes struct pci_device_id array const and adds section attribute __devinitconst

2008-02-20 Thread Jonas Bonn
Signed-off-by: Jonas Bonn [EMAIL PROTECTED] --- drivers/net/starfire.c |2 +- 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/drivers/net/starfire.c b/drivers/net/starfire.c index c49214f..a67bac5 100644 --- a/drivers/net/starfire.c +++ b/drivers/net/starfire.c @@ -337,7 +337,7

[PATCH] [net] use PCI_DEVICE_TABLE: makes struct pci_device_id array const and adds section attribute __devinitconst

2008-02-20 Thread Jonas Bonn
Signed-off-by: Jonas Bonn [EMAIL PROTECTED] --- drivers/net/skfp/skfddi.c |2 +- 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/drivers/net/skfp/skfddi.c b/drivers/net/skfp/skfddi.c index 7cf9b9f..2a8386b 100644 --- a/drivers/net/skfp/skfddi.c +++ b/drivers/net/skfp/skfddi.c

[PATCH] [net] use PCI_DEVICE_TABLE: makes struct pci_device_id array const and adds section attribute __devinitconst

2008-02-20 Thread Jonas Bonn
Signed-off-by: Jonas Bonn [EMAIL PROTECTED] --- drivers/net/wan/dscc4.c |2 +- 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/drivers/net/wan/dscc4.c b/drivers/net/wan/dscc4.c index c6f26e2..16d3a4c 100644 --- a/drivers/net/wan/dscc4.c +++ b/drivers/net/wan/dscc4.c @@ -2048,7

[PATCH] [net] use PCI_DEVICE_TABLE: makes struct pci_device_id array const and adds section attribute __devinitconst

2008-02-20 Thread Jonas Bonn
Signed-off-by: Jonas Bonn [EMAIL PROTECTED] --- drivers/net/niu.c |2 +- 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/drivers/net/niu.c b/drivers/net/niu.c index e98ce1e..ab8148a 100644 --- a/drivers/net/niu.c +++ b/drivers/net/niu.c @@ -62,7 +62,7 @@ static void writeq(u64

[PATCH] [net] use PCI_DEVICE_TABLE: makes struct pci_device_id array const and adds section attribute __devinitconst

2008-02-20 Thread Jonas Bonn
Signed-off-by: Jonas Bonn [EMAIL PROTECTED] --- drivers/net/wan/lmc/lmc_main.c |2 +- 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/drivers/net/wan/lmc/lmc_main.c b/drivers/net/wan/lmc/lmc_main.c index 6635ece..e85cfe7 100644 --- a/drivers/net/wan/lmc/lmc_main.c +++

[PATCH] [net] use PCI_DEVICE_TABLE: makes struct pci_device_id array const and adds section attribute __devinitconst

2008-02-20 Thread Jonas Bonn
Signed-off-by: Jonas Bonn [EMAIL PROTECTED] --- drivers/net/hamachi.c |2 +- 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/drivers/net/hamachi.c b/drivers/net/hamachi.c index b53f6b6..d8056e9 100644 --- a/drivers/net/hamachi.c +++ b/drivers/net/hamachi.c @@ -1987,7 +1987,7 @@

RE: Dealing with limited resources and DMA Engine copies

2008-02-20 Thread Sosnowski, Maciej
-- Original message -- From: Olof Johansson [EMAIL PROTECTED] Date: Feb 14, 2008 3:38 AM Subject: Dealing with limited resources and DMA Engine copies To: [EMAIL PROTECTED], [EMAIL PROTECTED] Cc: netdev@vger.kernel.org Hi, My DMA Engine has a limited resource: It's got a

[PATCH] [net] use PCI_DEVICE_TABLE: makes struct pci_device_id array const and adds section attribute __devinitconst

2008-02-20 Thread Jonas Bonn
Signed-off-by: Jonas Bonn [EMAIL PROTECTED] --- drivers/net/amd8111e.c |2 +- 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/drivers/net/amd8111e.c b/drivers/net/amd8111e.c index 85f7276..a4ad2fb 100644 --- a/drivers/net/amd8111e.c +++ b/drivers/net/amd8111e.c @@ -113,7 +113,7

[PATCH] [net] use PCI_DEVICE_TABLE: makes struct pci_device_id array const and adds section attribute __devinitconst

2008-02-20 Thread Jonas Bonn
Signed-off-by: Jonas Bonn [EMAIL PROTECTED] --- drivers/net/arcnet/com20020-pci.c |2 +- 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/drivers/net/arcnet/com20020-pci.c b/drivers/net/arcnet/com20020-pci.c index b8c0fa6..87ee0db 100644 --- a/drivers/net/arcnet/com20020-pci.c

pci_device_id cleanups

2008-02-20 Thread Jonas Bonn
The PCI_DEVICE_TABLE patch I sent earlier doesn't necessarily make much sense by itself... here is a set of patches that apply this macro, in turn moving a lot of this data into __devinitconst which is discardable in certain situations. Hopefully the benefit of this approach is a bit clearer

[PATCH] [net] use PCI_DEVICE_TABLE: makes struct pci_device_id array const and adds section attribute __devinitconst

2008-02-20 Thread Jonas Bonn
Signed-off-by: Jonas Bonn [EMAIL PROTECTED] --- drivers/net/tlan.c |2 +- 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/drivers/net/tlan.c b/drivers/net/tlan.c index 3af5b92..bea59c6 100644 --- a/drivers/net/tlan.c +++ b/drivers/net/tlan.c @@ -253,7 +253,7 @@ static struct

[PATCH] [net] use PCI_DEVICE_TABLE: makes struct pci_device_id array const and adds section attribute __devinitconst

2008-02-20 Thread Jonas Bonn
Signed-off-by: Jonas Bonn [EMAIL PROTECTED] --- drivers/net/defxx.c |2 +- 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/drivers/net/defxx.c b/drivers/net/defxx.c index ddc30c4..84a3ce5 100644 --- a/drivers/net/defxx.c +++ b/drivers/net/defxx.c @@ -3630,7 +3630,7 @@ static

[PATCH] [net] use PCI_DEVICE_TABLE: makes struct pci_device_id array const and adds section attribute __devinitconst

2008-02-20 Thread Jonas Bonn
Signed-off-by: Jonas Bonn [EMAIL PROTECTED] --- drivers/net/sunhme.c |2 +- 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/drivers/net/sunhme.c b/drivers/net/sunhme.c index b4e7f30..beb0d27 100644 --- a/drivers/net/sunhme.c +++ b/drivers/net/sunhme.c @@ -3247,7 +3247,7 @@

[PATCH] [net] use PCI_DEVICE_TABLE: makes struct pci_device_id array const and adds section attribute __devinitconst

2008-02-20 Thread Jonas Bonn
Signed-off-by: Jonas Bonn [EMAIL PROTECTED] --- drivers/net/pasemi_mac.c |2 +- 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/drivers/net/pasemi_mac.c b/drivers/net/pasemi_mac.c index 2e39e02..069fa7c 100644 --- a/drivers/net/pasemi_mac.c +++ b/drivers/net/pasemi_mac.c @@

[PATCH] Add PCI_DEVICE_TABLE macro

2008-02-20 Thread Jonas Bonn
The definitions of struct pci_device_id arrays should generally follow the same pattern across the entire kernel. This macro defines this array as const and puts it into the __devinitconst section. Signed-off-by: Jonas Bonn [EMAIL PROTECTED] --- include/linux/pci.h |9 + 1 files

[PATCH] [net] use PCI_DEVICE_TABLE: makes struct pci_device_id array const and adds section attribute __devinitconst

2008-02-20 Thread Jonas Bonn
Signed-off-by: Jonas Bonn [EMAIL PROTECTED] --- drivers/net/3c59x.c |2 +- 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/drivers/net/3c59x.c b/drivers/net/3c59x.c index 6f8e7d4..d2045d4 100644 --- a/drivers/net/3c59x.c +++ b/drivers/net/3c59x.c @@ -372,7 +372,7 @@ static

Re: pci_device_id cleanups

2008-02-20 Thread Jonas Bonn
Sam Ravnborg wrote: On Wed, Feb 20, 2008 at 01:53:36PM +0100, Jonas Bonn wrote: The PCI_DEVICE_TABLE patch I sent earlier doesn't necessarily make much sense by itself... here is a set of patches that apply this macro, in turn moving a lot of this data into __devinitconst which is discardable

[RFC PATCH 0/8]: uninline uninline

2008-02-20 Thread Ilpo Järvinen
Hi all, I run some lengthy tests to measure cost of inlines in headers under include/, simple coverage calculations yields to 89% but most of the failed compiles are due to preprocessor cutting the tested block away anyway. Test setup: v2.6.24-mm1, make allyesconfig, 32-bit x86, gcc (GCC) 4.1.2

[RFC PATCH 0/8]: uninline uninline

2008-02-20 Thread Ilpo Järvinen
Hi all, I run some lengthy tests to measure cost of inlines in headers under include/, simple coverage calculations yields to 89% but most of the failed compiles are due to preprocessor cutting the tested block away anyway. Test setup: v2.6.24-mm1, make allyesconfig, 32-bit x86, gcc (GCC) 4.1.2

[RFC PATCH 1/8] [NET]: uninline skb_put, de-bloats a lot

2008-02-20 Thread Ilpo Järvinen
~500 files changed ... kernel/uninlined.c: skb_put | +104 1 function changed, 104 bytes added, diff: +104 vmlinux.o: 869 functions changed, 198 bytes added, 111003 bytes removed, diff: -110805 This change is INCOMPLETE, I think that the call to current_text_addr()

[RFC PATCH 4/8] [NET]: uninline skb_push, de-bloats a lot

2008-02-20 Thread Ilpo Järvinen
-21593 356 funcs, 2418 +, 24011 -, diff: -21593 --- skb_push Again, current_text_addr() needs to addressed. Signed-off-by: Ilpo Järvinen [EMAIL PROTECTED] --- include/linux/skbuff.h | 18 +- net/core/skbuff.c | 19 +++ 2 files changed, 20 insertions(+),

[RFC PATCH 3/8] [NET]: uninline dev_alloc_skb, de-bloats a lot

2008-02-20 Thread Ilpo Järvinen
-23668 392 funcs, 104 +, 23772 -, diff: -23668 --- dev_alloc_skb Signed-off-by: Ilpo Järvinen [EMAIL PROTECTED] --- include/linux/skbuff.h | 17 + net/core/skbuff.c | 18 ++ 2 files changed, 19 insertions(+), 16 deletions(-) diff --git

[RFC PATCH 2/8] [NET]: uninline skb_pull, de-bloats a lot

2008-02-20 Thread Ilpo Järvinen
-28162 354 funcs, 3005 +, 31167 -, diff: -28162 --- skb_pull Signed-off-by: Ilpo Järvinen [EMAIL PROTECTED] --- include/linux/skbuff.h | 15 +-- net/core/skbuff.c | 16 2 files changed, 17 insertions(+), 14 deletions(-) diff --git a/include/linux/skbuff.h

[RFC PATCH 6/8] [NET]: uninline skb_trim, de-bloats

2008-02-20 Thread Ilpo Järvinen
-10976 209 funcs, 123 +, 11099 -, diff: -10976 --- skb_trim Signed-off-by: Ilpo Järvinen [EMAIL PROTECTED] --- include/linux/skbuff.h | 16 +--- net/core/skbuff.c | 16 2 files changed, 17 insertions(+), 15 deletions(-) diff --git a/include/linux/skbuff.h

[RFC PATCH 7/8] [SCTP]: uninline sctp_add_cmd_sf

2008-02-20 Thread Ilpo Järvinen
I added inline to sctp_add_cmd and appropriate comment there to avoid adding another call into the call chain. This works at least with gcc (GCC) 4.1.2 20070626 (Red Hat 4.1.2-13). Alternatively, __sctp_add_cmd could be introduced to .h. net/sctp/sm_statefuns.c: sctp_sf_cookie_wait_prm_abort

[RFC PATCH 8/8] Jhash in too big for inlining, move under lib/

2008-02-20 Thread Ilpo Järvinen
vmlinux.o: 62 functions changed, 66 bytes added, 10935 bytes removed, diff: -10869 ...+ these to lib/jhash.o: jhash_3words: 112 jhash2: 276 jhash: 475 select for networking code might need a more fine-grained approach. Signed-off-by: Ilpo Järvinen [EMAIL PROTECTED] ---

[RFC PATCH 5/8] [NET]: uninline dst_release

2008-02-20 Thread Ilpo Järvinen
Codiff stats: -16420 187 funcs, 103 +, 16523 -, diff: -16420 --- dst_release Signed-off-by: Ilpo Järvinen [EMAIL PROTECTED] --- include/net/dst.h | 10 +- net/core/dst.c| 10 ++ 2 files changed, 11 insertions(+), 9 deletions(-) diff --git a/include/net/dst.h

Re: PowerPC toolchain for x86 [Was: pci_device_id cleanups]

2008-02-20 Thread Jonas Bonn
Sam Ravnborg wrote: On Wed, Feb 20, 2008 at 02:27:19PM +0100, Jonas Bonn wrote: Sam Ravnborg wrote: On Wed, Feb 20, 2008 at 01:53:36PM +0100, Jonas Bonn wrote: The PCI_DEVICE_TABLE patch I sent earlier doesn't necessarily make much sense by itself... here is a set of patches that apply this

Re: [RFC PATCH 1/8] [NET]: uninline skb_put, de-bloats a lot

2008-02-20 Thread Patrick McHardy
Ilpo Järvinen wrote: ~500 files changed ... kernel/uninlined.c: skb_put | +104 1 function changed, 104 bytes added, diff: +104 vmlinux.o: 869 functions changed, 198 bytes added, 111003 bytes removed, diff: -110805 This change is INCOMPLETE, I think that the call to

[PATCH] SUNRPC: Mark buffer used for debug printks with __maybe_unused

2008-02-20 Thread Pavel Emelyanov
There are tree places, which declare the char buf[...] on the stack to push it later into dprintk(). Since the dprintk sometimes (if the CONFIG_SYSCTL=n) becomes an empty do { } while (0) stub, these buffers cause gcc to produce appropriate warnings. Mark them as __maybe_unused. Signed-off-by:

Re: [RFC PATCH 1/8] [NET]: uninline skb_put, de-bloats a lot

2008-02-20 Thread Eric Dumazet
On Wed, 20 Feb 2008 15:47:11 +0200 Ilpo Järvinen [EMAIL PROTECTED] wrote: ~500 files changed ... kernel/uninlined.c: skb_put | +104 1 function changed, 104 bytes added, diff: +104 vmlinux.o: 869 functions changed, 198 bytes added, 111003 bytes removed, diff:

PowerPC toolchain for x86 [Was: pci_device_id cleanups]

2008-02-20 Thread Sam Ravnborg
On Wed, Feb 20, 2008 at 02:27:19PM +0100, Jonas Bonn wrote: Sam Ravnborg wrote: On Wed, Feb 20, 2008 at 01:53:36PM +0100, Jonas Bonn wrote: The PCI_DEVICE_TABLE patch I sent earlier doesn't necessarily make much sense by itself... here is a set of patches that apply this macro, in turn moving

Re: TG3 network data corruption regression 2.6.24/2.6.23.4

2008-02-20 Thread Tony Battersby
Michael Chan wrote: On Tue, 2008-02-19 at 17:14 -0500, Tony Battersby wrote: Update: when I revert Herbert's patch in addition to applying your patch, the iSCSI performance goes back up to 115 MB/s again in both directions. So it looks like turning off SG for TX didn't itself cause the

[PATCH 03/28] mm: slb: add knowledge of reserve pages

2008-02-20 Thread Peter Zijlstra
Restrict objects from reserve slabs (ALLOC_NO_WATERMARKS) to allocation contexts that are entitled to it. This is done to ensure reserve pages don't leak out and get consumed. Signed-off-by: Peter Zijlstra [EMAIL PROTECTED] --- include/linux/slub_def.h |1 mm/slab.c| 60

[PATCH 02/28] mm: tag reseve pages

2008-02-20 Thread Peter Zijlstra
Tag pages allocated from the reserves with a non-zero page-reserve. This allows us to distinguish and account reserve pages. Signed-off-by: Peter Zijlstra [EMAIL PROTECTED] --- include/linux/mm_types.h |1 + mm/page_alloc.c |4 +++- 2 files changed, 4 insertions(+), 1

[PATCH 04/28] mm: kmem_estimate_pages()

2008-02-20 Thread Peter Zijlstra
Provide a method to get the upper bound on the pages needed to allocate a given number of objects from a given kmem_cache. This lays the foundation for a generic reserve framework as presented in a later patch in this series. This framework needs to convert object demand (kmalloc() bytes,

[PATCH 12/28] net: wrap sk-sk_backlog_rcv()

2008-02-20 Thread Peter Zijlstra
Wrap calling sk-sk_backlog_rcv() in a function. This will allow extending the generic sk_backlog_rcv behaviour. Signed-off-by: Peter Zijlstra [EMAIL PROTECTED] --- include/net/sock.h |5 + include/net/tcp.h|2 +- net/core/sock.c |4 ++-- net/ipv4/tcp.c |2 +-

[PATCH 07/28] mm: emergency pool

2008-02-20 Thread Peter Zijlstra
Provide means to reserve a specific amount of pages. The emergency pool is separated from the min watermark because ALLOC_HARDER and ALLOC_HIGH modify the watermark in a relative way and thus do not ensure a strict minimum. Signed-off-by: Peter Zijlstra [EMAIL PROTECTED] ---

[PATCH 10/28] mm: memory reserve management

2008-02-20 Thread Peter Zijlstra
Generic reserve management code. It provides methods to reserve and charge. Upon this, generic alloc/free style reserve pools could be build, which could fully replace mempool_t functionality. It should also allow for a Banker's algorithm replacement of __GFP_NOFAIL. Signed-off-by: Peter

[PATCH 13/28] net: packet split receive api

2008-02-20 Thread Peter Zijlstra
Add some packet-split receive hooks. For one this allows to do NUMA node affine page allocs. Later on these hooks will be extended to do emergency reserve allocations for fragments. Signed-off-by: Peter Zijlstra [EMAIL PROTECTED] --- drivers/net/bnx2.c |8 +++-

[PATCH 15/28] netvm: network reserve infrastructure

2008-02-20 Thread Peter Zijlstra
Provide the basic infrastructure to reserve and charge/account network memory. We provide the following reserve tree: 1) total network reserve 2)network TX reserve 3) protocol TX pages 4)network RX reserve 5) SKB data reserve [1] is used to make all the network reserves a

[PATCH 08/28] mm: system wide ALLOC_NO_WATERMARK

2008-02-20 Thread Peter Zijlstra
Change ALLOC_NO_WATERMARK page allocation such that the reserves are system wide - which they are per setup_per_zone_pages_min(), when we scrape the barrel, do it properly. Signed-off-by: Peter Zijlstra [EMAIL PROTECTED] --- mm/page_alloc.c |6 ++ 1 file changed, 6 insertions(+) Index:

[PATCH 23/28] mm: methods for teaching filesystems about PG_swapcache pages

2008-02-20 Thread Peter Zijlstra
In order to teach filesystems to handle swap cache pages, two new page functions are introduced: pgoff_t page_file_index(struct page *); struct address_space *page_file_mapping(struct page *); page_file_index - gives the offset of this page in the file in PAGE_CACHE_SIZE blocks. Like

[PATCH 27/28] nfs: enable swap on NFS

2008-02-20 Thread Peter Zijlstra
Implement all the new swapfile a_ops for NFS. This will set the NFS socket to SOCK_MEMALLOC and run socket reconnect under PF_MEMALLOC as well as reset SOCK_MEMALLOC before engaging the protocol -connect() method. PF_MEMALLOC should allow the allocation of struct socket and related objects and

[PATCH 25/28] nfs: teach the NFS client how to treat PG_swapcache pages

2008-02-20 Thread Peter Zijlstra
Replace all relevant occurences of page-index and page-mapping in the NFS client with the new page_file_index() and page_file_mapping() functions. Signed-off-by: Peter Zijlstra [EMAIL PROTECTED] --- fs/nfs/file.c |6 +++--- fs/nfs/internal.h |7 --- fs/nfs/pagelist.c |6

[PATCH 17/28] netvm: hook skb allocation to reserves

2008-02-20 Thread Peter Zijlstra
Change the skb allocation api to indicate RX usage and use this to fall back to the reserve when needed. SKBs allocated from the reserve are tagged in skb-emergency. Teach all other skb ops about emergency skbs and the reserve accounting. Use the (new) packet split API to allocate and track

[PATCH 00/28] Swap over NFS -v16

2008-02-20 Thread Peter Zijlstra
Hi, Another posting of the full swap over NFS series. Andrew/Linus, could we start thinking of sticking this in -mm? [ patches against 2.6.25-rc2-mm1, also to be found online at: http://programming.kicks-ass.net/kernel-patches/vm_deadlock/v2.6.25-rc2-mm1/ ] The patch-set can be split in

[PATCH 11/28] selinux: tag avc cache alloc as non-critical

2008-02-20 Thread Peter Zijlstra
Failing to allocate a cache entry will only harm performance not correctness. Do not consume valuable reserve pages for something like that. Signed-off-by: Peter Zijlstra [EMAIL PROTECTED] Acked-by: James Morris [EMAIL PROTECTED] --- security/selinux/avc.c |2 +- 1 file changed, 1

[PATCH 01/28] mm: gfp_to_alloc_flags()

2008-02-20 Thread Peter Zijlstra
Factor out the gfp to alloc_flags mapping so it can be used in other places. Signed-off-by: Peter Zijlstra [EMAIL PROTECTED] --- mm/internal.h | 11 ++ mm/page_alloc.c | 98 2 files changed, 67 insertions(+), 42 deletions(-)

[PATCH 14/28] net: sk_allocation() - concentrate socket related allocations

2008-02-20 Thread Peter Zijlstra
Introduce sk_allocation(), this function allows to inject sock specific flags to each sock related allocation. Signed-off-by: Peter Zijlstra [EMAIL PROTECTED] --- include/net/sock.h|5 + net/ipv4/tcp.c|3 ++- net/ipv4/tcp_output.c | 12 +++- net/ipv6/tcp_ipv6.c

[PATCH 19/28] netvm: prevent a stream specific deadlock

2008-02-20 Thread Peter Zijlstra
It could happen that all !SOCK_MEMALLOC sockets have buffered so much data that we're over the global rmem limit. This will prevent SOCK_MEMALLOC buffers from receiving data, which will prevent userspace from running, which is needed to reduce the buffered data. Fix this by exempting the

[PATCH 21/28] netvm: skb processing

2008-02-20 Thread Peter Zijlstra
In order to make sure emergency packets receive all memory needed to proceed ensure processing of emergency SKBs happens under PF_MEMALLOC. Use the (new) sk_backlog_rcv() wrapper to ensure this for backlog processing. Skip taps, since those are user-space again. Signed-off-by: Peter Zijlstra

Re: TG3 network data corruption regression 2.6.24/2.6.23.4

2008-02-20 Thread Tony Battersby
Herbert Xu wrote: On Tue, Feb 19, 2008 at 05:14:26PM -0500, Tony Battersby wrote: Update: when I revert Herbert's patch in addition to applying your patch, the iSCSI performance goes back up to 115 MB/s again in both directions. So it looks like turning off SG for TX didn't itself cause

[PATCH 20/28] netfilter: NF_QUEUE vs emergency skbs

2008-02-20 Thread Peter Zijlstra
Avoid memory getting stuck waiting for userspace, drop all emergency packets. This of course requires the regular storage route to not include an NF_QUEUE target ;-) Signed-off-by: Peter Zijlstra [EMAIL PROTECTED] --- net/netfilter/core.c |3 +++ 1 file changed, 3 insertions(+) Index:

[PATCH 16/28] netvm: INET reserves.

2008-02-20 Thread Peter Zijlstra
Add reserves for INET. The two big users seem to be the route cache and ip-fragment cache. Reserve the route cache under generic RX reserve, its usage is bounded by the high reclaim watermark, and thus does not need further accounting. Reserve the ip-fragement caches under SKB data reserve,

[PATCH 26/28] nfs: disable data cache revalidation for swapfiles

2008-02-20 Thread Peter Zijlstra
Do as Trond suggested: http://lkml.org/lkml/2006/8/25/348 Disable NFS data cache revalidation on swap files since it doesn't really make sense to have other clients change the file while you are using it. Thereby we can stop setting PG_private on swap pages, since there ought to be no further

[PATCH 18/28] netvm: filter emergency skbs.

2008-02-20 Thread Peter Zijlstra
Toss all emergency packets not for a SOCK_MEMALLOC socket. This ensures our precious memory reserve doesn't get stuck waiting for user-space. The correctness of this approach relies on the fact that networks must be assumed lossy. Signed-off-by: Peter Zijlstra [EMAIL PROTECTED] ---

[PATCH 09/28] mm: __GFP_MEMALLOC

2008-02-20 Thread Peter Zijlstra
__GFP_MEMALLOC will allow the allocation to disregard the watermarks, much like PF_MEMALLOC. Signed-off-by: Peter Zijlstra [EMAIL PROTECTED] --- include/linux/gfp.h |3 ++- mm/page_alloc.c |4 +++- 2 files changed, 5 insertions(+), 2 deletions(-) Index:

[PATCH 28/28] nfs: fix various memory recursions possible with swap over NFS.

2008-02-20 Thread Peter Zijlstra
GFP_NOFS is not enough, since swap traffic is IO, hence fall back to GFP_NOIO. Signed-off-by: Peter Zijlstra [EMAIL PROTECTED] --- fs/nfs/pagelist.c |2 +- fs/nfs/write.c|6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) Index: linux-2.6/fs/nfs/write.c

[PATCH 22/28] mm: add support for non block device backed swap files

2008-02-20 Thread Peter Zijlstra
New addres_space_operations methods are added: int swapfile(struct address_space *, int); int swap_out(struct file *, struct page *, struct writeback_control *); int swap_in(struct file *, struct page *); When during sys_swapon() the swapfile() method is found and returns no error the

Re: [PATCH] SUNRPC: Mark buffer used for debug printks with __maybe_unused

2008-02-20 Thread Joe Perches
On Wed, 2008-02-20 at 17:02 +0300, Pavel Emelyanov wrote: There are tree places, which declare the char buf[...] on the stack to push it later into dprintk(). Since the dprintk sometimes (if the CONFIG_SYSCTL=n) becomes an empty do { } while (0) stub, these buffers cause gcc to produce

Re: [PATCH] SUNRPC: Mark buffer used for debug printks with __maybe_unused

2008-02-20 Thread Joe Perches
On Wed, 2008-02-20 at 07:29 -0800, Joe Perches wrote: fs/nfsd/nfsproc.c: char buf[RPC_MAX_ADDRBUFLEN]; Perhaps there should be a DECLARE_RPC_BUF(buf) macro? #define DECLARE_RPC_BUF(var) char var[MAC_BUF_SIZE] __maybe_unused Make that: #define DECLARE_RPC_BUF(var) char

Re: [PATCH] SUNRPC: Mark buffer used for debug printks with __maybe_unused

2008-02-20 Thread Patrick McHardy
Joe Perches wrote: On Wed, 2008-02-20 at 07:29 -0800, Joe Perches wrote: fs/nfsd/nfsproc.c: char buf[RPC_MAX_ADDRBUFLEN]; Perhaps there should be a DECLARE_RPC_BUF(buf) macro? #define DECLARE_RPC_BUF(var) char var[MAC_BUF_SIZE] __maybe_unused Make that: #define

Re: [PATCH] SUNRPC: Mark buffer used for debug printks with __maybe_unused

2008-02-20 Thread Pavel Emelyanov
Joe Perches wrote: On Wed, 2008-02-20 at 17:02 +0300, Pavel Emelyanov wrote: There are tree places, which declare the char buf[...] on the stack to push it later into dprintk(). Since the dprintk sometimes (if the CONFIG_SYSCTL=n) becomes an empty do { } while (0) stub, these buffers cause

Re: [PATCH 00/04] smc91x: request bus width using platform data

2008-02-20 Thread Nicolas Pitre
On Wed, 20 Feb 2008, Magnus Damm wrote: These patches make it possible to request bus width in the platform data. Instead of keep on updating smc91x.h with board specific configuration, use platform data to pass along bus width and irq flags to the driver. This change is designed to be

[PATCH 05/28] mm: allow PF_MEMALLOC from softirq context

2008-02-20 Thread Peter Zijlstra
Allow PF_MEMALLOC to be set in softirq context. When running softirqs from a borrowed context save current-flags, ksoftirqd will have its own task_struct. This is needed to allow network softirq packet processing to make use of PF_MEMALLOC. Signed-off-by: Peter Zijlstra [EMAIL PROTECTED] ---

[PATCH 24/28] nfs: remove mempools

2008-02-20 Thread Peter Zijlstra
With the introduction of the shared dirty page accounting in .19, NFS should not be able to surpise the VM with all dirty pages. Thus it should always be able to free some memory. Hence no more need for mempools. Signed-off-by: Peter Zijlstra [EMAIL PROTECTED] --- fs/nfs/read.c | 15

Re: [PATCH 01/04] smc91x: pass along private data

2008-02-20 Thread Nicolas Pitre
On Wed, 20 Feb 2008, Magnus Damm wrote: Pass a private data pointer to macros and functions. This makes it easy to later on make run time decisions. This patch does not change any logic. These changes should be optimized away during compilation. Signed-off-by: Magnus Damm [EMAIL PROTECTED]

Re: [PATCH] SUNRPC: Mark buffer used for debug printks with __maybe_unused

2008-02-20 Thread Joe Perches
Sigh... Why is that better than a strait declaration with attribute? If at some point there's a gcc'ism to remove a maybe_unused variable from the stack declaration, you only have change the macro. cheers, Joe -- To unsubscribe from this list: send the line unsubscribe netdev in the body of a

Re: [PATCH 02/04] smc91x: introduce platform data flags

2008-02-20 Thread Nicolas Pitre
On Wed, 20 Feb 2008, Magnus Damm wrote: This patch introduces struct smc91x_platdata and modifies the driver so bus width is checked during run time using SMC_nBIT() instead of SMC_CAN_USE_nBIT. Signed-off-by: Magnus Damm [EMAIL PROTECTED] --- NAK. The SMC91C111 (for example) is often

Re: [PATCH 04/04] smc91x: add insw/outsw to default config

2008-02-20 Thread Nicolas Pitre
On Wed, 20 Feb 2008, Magnus Damm wrote: This patch makes sure SMC_insw()/SMC_outsw() are defined for the default configuration. Without this change BUG()s will be triggered when using 16-bit only platform data and the default configuration. Signed-off-by: Magnus Damm [EMAIL PROTECTED] You

Re: [PATCH][PPPOL2TP]: Fix SMP oops in pppol2tp driver

2008-02-20 Thread James Chapman
Jarek Poplawski wrote: On Mon, Feb 18, 2008 at 10:09:24PM +, James Chapman wrote: ... Unfortunately the ISP's syslog stops. But I've been able to borrow two Quad Xeon boxes and have reproduced the problem. Here's a new version of the patch. The patch avoids disabling irqs and fixes the

Re: TG3 network data corruption regression 2.6.24/2.6.23.4

2008-02-20 Thread Tony Battersby
Matt Carlson wrote: Hi Tony. Can you give us the output of : sudo lspci -vvv - -s 03:01.0' 03:01.0 Ethernet controller: Broadcom Corporation NetXtreme BCM5701 Gigabit Ethernet (rev 15) Subsystem: Compaq Computer Corporation NC7770 Gigabit Server Adapter (PCI-X, 10/100/1000-T)

Re: [RFC PATCH 3/8] [NET]: uninline dev_alloc_skb, de-bloats a lot

2008-02-20 Thread Jan Engelhardt
On Feb 20 2008 15:47, Ilpo Järvinen wrote: -23668 392 funcs, 104 +, 23772 -, diff: -23668 --- dev_alloc_skb -static inline struct sk_buff *dev_alloc_skb(unsigned int length) -{ - return __dev_alloc_skb(length, GFP_ATOMIC); -} +extern struct sk_buff *dev_alloc_skb(unsigned int length);

Re: [RFC PATCH 3/8] [NET]: uninline dev_alloc_skb, de-bloats a lot

2008-02-20 Thread Patrick McHardy
Jan Engelhardt wrote: On Feb 20 2008 15:47, Ilpo Järvinen wrote: -23668 392 funcs, 104 +, 23772 -, diff: -23668 --- dev_alloc_skb -static inline struct sk_buff *dev_alloc_skb(unsigned int length) -{ - return __dev_alloc_skb(length, GFP_ATOMIC); -} +extern struct sk_buff

Re: [PATCH] SUNRPC: Mark buffer used for debug printks with __maybe_unused

2008-02-20 Thread Pavel Emelyanov
Patrick McHardy wrote: Joe Perches wrote: On Wed, 2008-02-20 at 07:29 -0800, Joe Perches wrote: fs/nfsd/nfsproc.c: char buf[RPC_MAX_ADDRBUFLEN]; Perhaps there should be a DECLARE_RPC_BUF(buf) macro? #define DECLARE_RPC_BUF(var) char var[MAC_BUF_SIZE] __maybe_unused

[PATCH] SUNRPC: Compile out bufs for debug printks

2008-02-20 Thread Pavel Emelyanov
There are many places, which declare the char buf[...] on the stack to push it later into dprintk(). Since the dprintk sometimes (if the CONFIG_SYSCTL=n) becomes an empty do { } while (0) stub, these buffers cause gcc to produce appropriate warnings. Introduce a macro that declares that buf as

Re: [RFC PATCH 3/8] [NET]: uninline dev_alloc_skb, de-bloats a lot

2008-02-20 Thread Jan Engelhardt
On Feb 20 2008 17:27, Patrick McHardy wrote: Striking. How can this even happen? A callsite which calls dev_alloc_skb(n) is just equivalent to __dev_alloc_skb(n, GFP_ATOMIC); which means there's like 4 (or 8 if it's long) bytes more on the stack. For a worst case, count in another

  1   2   >