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
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 a
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,
>
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 b4ce92775c2e7ff9cf79cca4e0a19c
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
>
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 bo
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
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
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.
na
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 wr
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" i
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(-)
--- 0018/drivers/net/smc9
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 chang
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
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 t
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 +++
On Feb 19 2008 15:45, Patrick McHardy wrote:
>>
>> It's in busybox 1.9.1. Just including 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 gu
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 langu
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 be
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
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
+++ b/drivers/net/sk98lin/sk
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 sit
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,
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
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
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
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
+++ b/driver
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 @
>-- 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
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,
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
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 n
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 b
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 i
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 @@ sta
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
@@ -1
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 ch
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 str
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 in
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 20
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 20
~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()
should
-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(+)
-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 a/include/linux/
-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
-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
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
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]>
---
drivers/infiniband/
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 b/include/
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
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 cur
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: P
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
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
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 cau
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 +
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 deletion
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, kmem_cac
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 +
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]>
---
include/linux/mmzo
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 Zijlst
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 +++-
drivers/net/
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 sing
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:
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 page->in
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 th
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 ++
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 frag
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 roug
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 inserti
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(-)
In
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
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 SOCK_MEMA
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 <[E
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
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: linu
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, thes
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
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]>
---
include/net
__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: linux-2.6/include/linux/gfp
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
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 swappe
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 app
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 var[RPC_M
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 DECLARE_RP
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
>>
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
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]>
---
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 +++-
There is a small race between the procfs caller and the memory hotplug caller
of setup_per_zone_pages_min(). Not a big deal, but the next patch will add yet
another caller. Time to close the gap.
Signed-off-by: Peter Zijlstra <[EMAIL PROTECTED]>
---
mm/page_alloc.c | 16 +---
1 file
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 PROTEC
> 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
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 o
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]>
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 sk_d
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
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 lengt
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 *dev_alloc_skb(un
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_unus
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 __
1 - 100 of 201 matches
Mail list logo