[PATCH] menuconfig: Replace CIRCLEQ by list_head-style lists.

2012-10-20 Thread Benjamin Poirier
From: Benjamin Poirier bpoir...@suse.de sys/queue.h and CIRCLEQ in particular have proven to cause portability problems (reported on Debian Sarge, Cygwin and FreeBSD) Reported-by: Tetsuo Handa penguin-ker...@i-love.sakura.ne.jp Signed-off-by: Benjamin Poirier bpoir...@suse.de --- scripts

[PATCH v2] menuconfig: Replace CIRCLEQ by list_head-style lists.

2012-10-21 Thread Benjamin Poirier
From: Benjamin Poirier bpoir...@suse.de sys/queue.h and CIRCLEQ in particular have proven to cause portability problems (reported on Debian Sarge, Cygwin and FreeBSD) Reported-by: Tetsuo Handa penguin-ker...@i-love.sakura.ne.jp Tested-by: Tetsuo Handa penguin-ker...@i-love.sakura.ne.jp Tested

[PATCH 1/2] menuconfig: Fix memory leak introduced by jump keys feature

2013-04-15 Thread Benjamin Poirier
Fixes the memory leak of struct jump_key allocated in get_prompt_str() Signed-off-by: Benjamin Poirier bpoir...@suse.de --- scripts/kconfig/list.h | 13 + scripts/kconfig/mconf.c |3 +++ 2 files changed, 16 insertions(+) diff --git a/scripts/kconfig/list.h b/scripts/kconfig

[PATCH 2/2] menuconfig: Add breadcrumbs navigation aid

2013-04-15 Thread Benjamin Poirier
Displays a trail of the menu entries used to get to the current menu. Signed-off-by: Benjamin Poirier bpoir...@suse.de --- scripts/kconfig/list.h| 27 ++ scripts/kconfig/lxdialog/dialog.h |7 scripts/kconfig/lxdialog/util.c | 48

[PATCH v3] menuconfig: Add breadcrumbs navigation aid

2013-04-16 Thread Benjamin Poirier
Displays a trail of the menu entries used to get to the current menu. Signed-off-by: Benjamin Poirier bpoir...@suse.de Tested-by: Yann E. MORIN yann.morin.1...@free.fr [yann.morin.1...@free.fr: small, trivial code re-ordering] Signed-off-by: Yann E. MORIN yann.morin.1...@free.fr --- Indeed Yann

[PATCH 0/6] menuconfig: jump to search results

2012-07-30 Thread Benjamin Poirier
Hello, This patch series adds jump to keys (similar to the cscope interface) to the search results of make menuconfig so that we can go directly to the menu entry for a config option after searching for it. Patches 1-4 implement the basic functionnality. Patches 5-6 are an optionnal improvement.

[PATCH 1/6] menuconfig: Remove superfluous conditionnal

2012-07-30 Thread Benjamin Poirier
Because end_reached is set to 0 before the loop, the test !end_reached is always true and can be removed. This structure was perhaps copied from the similar one in back_lines(). Signed-off-by: Benjamin Poirier bpoir...@suse.de --- scripts/kconfig/lxdialog/textbox.c |8 +++- 1 files

[PATCH 2/6] menuconfig: Extend dialog_textbox so that it can exit on arbitrary keypresses

2012-07-30 Thread Benjamin Poirier
Signed-off-by: Benjamin Poirier bpoir...@suse.de --- scripts/kconfig/lxdialog/dialog.h |3 ++- scripts/kconfig/lxdialog/textbox.c | 31 +-- scripts/kconfig/mconf.c| 12 ++-- 3 files changed, 33 insertions(+), 13 deletions(-) diff --git

[PATCH 4/6] menuconfig: Add jump keys to search results

2012-07-30 Thread Benjamin Poirier
in or elsewhere. Signed-off-by: Benjamin Poirier bpoir...@suse.de --- scripts/kconfig/expr.h |2 + scripts/kconfig/lkc_proto.h |6 +++- scripts/kconfig/mconf.c | 64 +-- scripts/kconfig/menu.c | 55

[PATCH 6/6] menuconfig: Assign jump keys per-page instead of globally

2012-07-30 Thread Benjamin Poirier
At the moment, keys 1-9 are assigned to the first 9 search results. This patch makes them assigned to the first 9 results per-page instead. We are much less likely to run out of keys that way. Signed-off-by: Benjamin Poirier bpoir...@suse.de --- scripts/kconfig/expr.h |9

[PATCH 5/6] menuconfig: Do not open code textbox scroll up/down

2012-07-30 Thread Benjamin Poirier
-by: Benjamin Poirier bpoir...@suse.de --- scripts/kconfig/lxdialog/textbox.c | 55 +++ 1 files changed, 11 insertions(+), 44 deletions(-) diff --git a/scripts/kconfig/lxdialog/textbox.c b/scripts/kconfig/lxdialog/textbox.c index 506a095..3b3c5c4 100644 --- a/scripts

[PATCH 3/6] menuconfig: Extend dialog_textbox so that it can return to a scrolled position

2012-07-30 Thread Benjamin Poirier
Signed-off-by: Benjamin Poirier bpoir...@suse.de --- scripts/kconfig/lxdialog/dialog.h |2 +- scripts/kconfig/lxdialog/textbox.c | 24 +++- scripts/kconfig/mconf.c|8 3 files changed, 28 insertions(+), 6 deletions(-) diff --git a/scripts

Re: [PATCH 0/6] menuconfig: jump to search results

2012-07-30 Thread Benjamin Poirier
On 2012/07/30 21:58, Borislav Petkov wrote: On Mon, Jul 30, 2012 at 03:22:04PM -0400, Benjamin Poirier wrote: Hello, This patch series adds jump to keys (similar to the cscope interface) to the search results of make menuconfig so that we can go directly to the menu entry

Re: [PATCH 0/6] menuconfig: jump to search results

2012-07-31 Thread Benjamin Poirier
On 2012/07/31 09:57, Borislav Petkov wrote: On Mon, Jul 30, 2012 at 04:22:12PM -0400, Benjamin Poirier wrote: It's against linux-next, which already contains some patches for menuconfig. Ok, applying against the linux-next from today succeeds. And they seem to work, I can search

[PATCH v2 0/6] menuconfig: jump to search results

2012-08-23 Thread Benjamin Poirier
This patch series adds jump to keys (similar to the cscope interface) to the search results of make menuconfig so that we can go directly to the menu entry for a config option after searching for it. Patches 1-4 implement the basic functionality. Patches 5-6 are an optional improvement. Changes

[PATCH v2 1/6] menuconfig: Remove superfluous conditionnal

2012-08-23 Thread Benjamin Poirier
Because end_reached is set to 0 before the loop, the test !end_reached is always true and can be removed. This structure was perhaps copied from the similar one in back_lines(). Signed-off-by: Benjamin Poirier bpoir...@suse.de --- scripts/kconfig/lxdialog/textbox.c |8 +++- 1 files

[PATCH v2 4/6] menuconfig: Add jump keys to search results

2012-08-23 Thread Benjamin Poirier
in or elsewhere. Signed-off-by: Benjamin Poirier bpoir...@suse.de --- scripts/kconfig/expr.h |2 + scripts/kconfig/lkc_proto.h |6 +++- scripts/kconfig/mconf.c | 64 +-- scripts/kconfig/menu.c | 55

[PATCH v2 5/6] menuconfig: Do not open code textbox scroll up/down

2012-08-23 Thread Benjamin Poirier
-by: Benjamin Poirier bpoir...@suse.de --- scripts/kconfig/lxdialog/textbox.c | 55 +++ 1 files changed, 11 insertions(+), 44 deletions(-) diff --git a/scripts/kconfig/lxdialog/textbox.c b/scripts/kconfig/lxdialog/textbox.c index 506a095..3b3c5c4 100644 --- a/scripts

[PATCH v2 6/6] menuconfig: Assign jump keys per-page instead of globally

2012-08-23 Thread Benjamin Poirier
At the moment, keys 1-9 are assigned to the first 9 search results. This patch makes them assigned to the first 9 results per-page instead. We are much less likely to run out of keys that way. Signed-off-by: Benjamin Poirier bpoir...@suse.de --- scripts/kconfig/expr.h |9

[PATCH v2 3/6] menuconfig: Extend dialog_textbox so that it can return to a scrolled position

2012-08-23 Thread Benjamin Poirier
We can now display other UI elements (menus) on top of a textbox and then seemingly come back to it in the same state it was left. Signed-off-by: Benjamin Poirier bpoir...@suse.de --- scripts/kconfig/lxdialog/dialog.h |2 +- scripts/kconfig/lxdialog/textbox.c | 24

[PATCH v2 2/6] menuconfig: Extend dialog_textbox so that it can exit on arbitrary keypresses

2012-08-23 Thread Benjamin Poirier
The caller will be able to perform actions based on hotkeys in the displayed text. Signed-off-by: Benjamin Poirier bpoir...@suse.de --- scripts/kconfig/lxdialog/dialog.h |3 ++- scripts/kconfig/lxdialog/textbox.c | 31 +-- scripts/kconfig/mconf.c

Re: [PATCH v2 0/6] menuconfig: jump to search results

2012-08-24 Thread Benjamin Poirier
On 2012/08/24 17:49, Borislav Petkov wrote: On Thu, Aug 23, 2012 at 02:55:02PM -0400, Benjamin Poirier wrote: This patch series adds jump to keys (similar to the cscope interface) to the search results of make menuconfig so that we can go directly to the menu entry for a config option

Re: [PATCH 0/6] menuconfig: jump to search results

2012-08-02 Thread Benjamin Poirier
On 2012/08/02 15:32, Borislav Petkov wrote: On Tue, Jul 31, 2012 at 09:17:51AM -0400, Benjamin Poirier wrote: * when searching for DELAY for example, I get results without numbers to which I can't jump to: ... │ Symbol: DEFAULT_IO_DELAY_TYPE [=0] │ Type : integer

[PATCH] menuconfig: make keys u/d move to the previous/next dialog page

2012-07-24 Thread Benjamin Poirier
... just like less(1) for example. Signed-off-by: Benjamin Poirier bpoir...@suse.de --- scripts/kconfig/lxdialog/textbox.c |2 ++ 1 files changed, 2 insertions(+), 0 deletions(-) diff --git a/scripts/kconfig/lxdialog/textbox.c b/scripts/kconfig/lxdialog/textbox.c index 154c2dd..805200f

[PATCH v2 2/2] nconf: add u, d command keys in scroll windows

2012-07-24 Thread Benjamin Poirier
They function just like they do in less(1). Also correct some discrepancy between the help text and the code wrt function keys. Signed-off-by: Benjamin Poirier bpoir...@suse.de --- scripts/kconfig/nconf.c |6 +++--- scripts/kconfig/nconf.gui.c |8 +--- 2 files changed, 8

[PATCH v2 1/2] menuconfig: add u, d, q command keys in text boxes

2012-07-24 Thread Benjamin Poirier
They function just like they do in less(1). Signed-off-by: Benjamin Poirier bpoir...@suse.de --- scripts/kconfig/lxdialog/textbox.c |3 +++ scripts/kconfig/mconf.c|6 +++--- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/scripts/kconfig/lxdialog/textbox.c b

Re: [PATCH]kconfig/menu.c: fix uninitialized variable warning

2013-09-19 Thread Benjamin Poirier
On 2013/09/19 12:58, Madhavan Srinivasan wrote: In file included from scripts/kconfig/zconf.tab.c:2537:0: scripts/kconfig/menu.c: In function ‘get_symbol_str’: scripts/kconfig/menu.c:586:18: warning: ‘jump’ may be used uninitialized in this function [-Wmaybe-uninitialized]

Re: [PATCH]kconfig/menu.c: fix uninitialized variable warning

2013-09-19 Thread Benjamin Poirier
On 2013/09/19 19:27, Yann E. MORIN wrote: Benjamin, Madhavan, All, On 2013-09-19 11:22 -0400, Benjamin Poirier spake thusly: On 2013/09/19 12:58, Madhavan Srinivasan wrote: In file included from scripts/kconfig/zconf.tab.c:2537:0: scripts/kconfig/menu.c: In function ‘get_symbol_str

[PATCH] netiucv: Hold rtnl between name allocation and device registration.

2013-06-13 Thread Benjamin Poirier
] sysfs_create_dir+0xe8/0x118 [003835a8] kobject_add_internal+0x120/0x2d0 [003839d6] kobject_add+0x62/0x9c [003d9564] device_add+0xcc/0x510 [03e00212c7b4] netiucv_register_device+0xc0/0x1ec [netiucv] Signed-off-by: Benjamin Poirier bpoir...@suse.de Tested-by: Ursula

[PATCH v3 1/3] unix/dgram: peek beyond 0-sized skbs

2013-04-29 Thread Benjamin Poirier
skb_copy_datagram_iovec(). When peeking at an offset with 0-sized skb(s), each one of those is received only once, in sequence. The offset starts moving forward again after receiving datagrams with len 0. Signed-off-by: Benjamin Poirier bpoir...@suse.de --- * v1 fix the case when SO_PEEK_OFF is used

[PATCH v3 3/3] unix/stream: fix peeking with an offset larger than data in queue

2013-04-29 Thread Benjamin Poirier
Currently, peeking on a unix stream socket with an offset larger than len of the data in the sk receive queue returns immediately with bogus data. This patch fixes this so that the behavior is the same as peeking with no offset on an empty queue: the caller blocks. Signed-off-by: Benjamin

[PATCH v3 2/3] unix/dgram: fix peeking with an offset larger than data in queue

2013-04-29 Thread Benjamin Poirier
on an empty queue: the caller blocks. Signed-off-by: Benjamin Poirier bpoir...@suse.de --- v2: address review feedback from Eric Dumazet v3: address review feedback from Cong Wang net/core/datagram.c | 21 + 1 file changed, 13 insertions(+), 8 deletions(-) diff --git a/net

[PATCH net 1/3] unix/dgram: peek beyond 0-sized skbs

2013-04-25 Thread Benjamin Poirier
skb_copy_datagram_iovec(). Signed-off-by: Benjamin Poirier bpoir...@suse.de --- net/core/datagram.c |2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/net/core/datagram.c b/net/core/datagram.c index 368f9c3..02398ae 100644 --- a/net/core/datagram.c +++ b/net/core/datagram.c @@ -187,7

[PATCH net 3/3] unix/stream: fix peeking with an offset larger than data in queue

2013-04-25 Thread Benjamin Poirier
Currently, peeking on a unix stream socket with an offset larger than len of the data in the sk receive queue returns immediately with bogus data. This patch fixes this so that the behavior is the same as peeking with no offset on an empty queue: the caller blocks. Signed-off-by: Benjamin

[PATCH net 2/3] unix/dgram: fix peeking with an offset larger than data in queue

2013-04-25 Thread Benjamin Poirier
on an empty queue: the caller blocks. Signed-off-by: Benjamin Poirier bpoir...@suse.de --- net/core/datagram.c | 25 +++-- 1 file changed, 15 insertions(+), 10 deletions(-) diff --git a/net/core/datagram.c b/net/core/datagram.c index 02398ae..6c502b5 100644 --- a/net/core

Re: [PATCH net 1/3] unix/dgram: peek beyond 0-sized skbs

2013-04-26 Thread Benjamin Poirier
On 2013/04/25 11:48, Eric Dumazet wrote: On Thu, 2013-04-25 at 09:47 -0400, Benjamin Poirier wrote: 77c1090 net: fix infinite loop in __skb_recv_datagram() (v3.8) introduced a regression: After that commit, recv can no longer peek beyond a 0-sized skb in the queue

[PATCH net v2 3/3] unix/stream: fix peeking with an offset larger than data in queue

2013-04-26 Thread Benjamin Poirier
Currently, peeking on a unix stream socket with an offset larger than len of the data in the sk receive queue returns immediately with bogus data. This patch fixes this so that the behavior is the same as peeking with no offset on an empty queue: the caller blocks. Signed-off-by: Benjamin

[PATCH net v2 2/3] unix/dgram: fix peeking with an offset larger than data in queue

2013-04-26 Thread Benjamin Poirier
on an empty queue: the caller blocks. Signed-off-by: Benjamin Poirier bpoir...@suse.de --- v2: address review feedback net/core/datagram.c | 27 --- 1 file changed, 16 insertions(+), 11 deletions(-) diff --git a/net/core/datagram.c b/net/core/datagram.c index 99c4f52

Re: [PATCH v2 5/5] kconfig: fix bug in search results string: use strlen(gstr-s), not gstr-len

2013-10-07 Thread Benjamin Poirier
On 2013/10/03 19:25, Martin Walch wrote: From: Martin Walch walch.mar...@web.de Date: Thu, 3 Oct 2013 18:35:16 +0200 Subject: [PATCH v2 5/5] kconfig: fix bug in search results string: use strlen(gstr-s), not gstr-len Good catch, thank you. Acked-by: Benjamin Poirier bpoir...@suse.de

Re: [PATCH]kconfig/menu.c: fix uninitialized variable warning

2013-09-20 Thread Benjamin Poirier
On 2013/09/20 08:05, Madhavan Srinivasan wrote: On Friday 20 September 2013 01:34 AM, Yann E. MORIN wrote: Benjamin, All, On 2013-09-19 15:13 -0400, Benjamin Poirier spake thusly: On 2013/09/19 19:27, Yann E. MORIN wrote: Benjamin, Madhavan, All, On 2013-09-19 11:22 -0400, Benjamin

[PATCH] net: Do not enable tx-nocache-copy by default

2014-01-06 Thread Benjamin Poirier
There are many cases where this feature does not improve performance or even reduces it. See the following discussion for example perf numbers: http://thread.gmane.org/gmane.linux.network/298345 CC: Tom Herbert therb...@google.com Signed-off-by: Benjamin Poirier bpoir...@suse.de --- net/core

[PATCH v2] net: Do not enable tx-nocache-copy by default

2014-01-07 Thread Benjamin Poirier
%] 363,773,213 branches # 127.757 M/sec [83.29%] 4,242,732 branch-misses #1.17% of all branches [83.51%] 10.128449949 seconds time elapsed CC: Tom Herbert therb...@google.com Signed-off-by: Benjamin Poirier bpoir...@suse.de --- net

Re: [PATCH v2 2/4] driver core: enable drivers to use deferred probefrom init

2014-07-29 Thread Benjamin Poirier
On 2014/07/29 21:07, Tetsuo Handa wrote: Luis R. Rodriguez wrote: On Mon, Jul 28, 2014 at 5:35 PM, Greg KH gre...@linuxfoundation.org wrote: On Mon, Jul 28, 2014 at 05:26:34PM -0700, Luis R. Rodriguez wrote: To ignore SIGKILL ? Sorry, I thought this was a userspace change that

Re: [PATCH v2 3/3] tg3: Fix tx_pending checks for tg3_tso_bug

2014-08-26 Thread Benjamin Poirier
On 2014/08/22 16:17, Prashant Sreedharan wrote: Benjamin, thanks for the patch. Broadcom QA will be testing the changes. Couple of comments below. segs = skb_gso_segment(skb, tp-dev-features ~(NETIF_F_TSO | NETIF_F_TSO6)); - if (IS_ERR(segs) || !segs)

[PATCH net v3 1/4] tg3: Limit minimum tx queue wakeup threshold

2014-08-26 Thread Benjamin Poirier
() to return NETDEV_TX_BUSY and print error messages. Fix the problem by putting a limit to how low TG3_TX_WAKEUP_THRESH can go. Signed-off-by: Benjamin Poirier bpoir...@suse.de --- I noticed the problem in a 3.0 kernel when setting `ethtool eth0 -G tx 50` and running a netperf TCP_STREAM test

[PATCH net v3 4/4] tg3: Fix tx_pending checks for tg3_tso_bug

2014-08-26 Thread Benjamin Poirier
wake up threshold is made dynamic. Likewise, usually the tx queue is stopped as soon as an skb with max frags may overrun it. Since the skbs submitted from tg3_tso_bug() use a controlled number of descriptors, the tx queue stop threshold may be lowered. Signed-off-by: Benjamin Poirier bpoir

[PATCH net v3 2/4] tg3: Fix tx_pending check for MAX_SKB_FRAGS

2014-08-26 Thread Benjamin Poirier
The rest of the driver assumes at least one free descriptor in the tx ring. Therefore, since an skb with max frags takes up (MAX_SKB_FRAGS + 1) descriptors, tx_pending must be (MAX_SKB_FRAGS + 1). Signed-off-by: Benjamin Poirier bpoir...@suse.de --- Changes v1-v2 Moved ahead in the series from

[PATCH net v3 3/4] tg3: Move tx queue stop logic to its own function

2014-08-26 Thread Benjamin Poirier
= smp_mb if queue_stopped and tx_avail, NO if !queue_stopped stop queue return NETDEV_TX_BUSY ... tx queue stopped forever Signed-off-by: Benjamin Poirier bpoir...@suse.de

Re: [PATCH 2/3] tg3: Fix tx_pending checks for tg3_tso_bug

2014-08-19 Thread Benjamin Poirier
On 2014/08/19 11:52, Benjamin Poirier wrote: + trace_printk(stopping queue, %d = %d\n, + tg3_tx_avail(tnapi), skb_shinfo(skb)-gso_segs); netif_tx_stop_queue(txq); + trace_printk(stopped queue\n); err, I'll resubmit without

Re: [PATCH 2/3] tg3: Fix tx_pending checks for tg3_tso_bug

2014-08-20 Thread Benjamin Poirier
On 2014/08/19 16:10, Michael Chan wrote: On Tue, 2014-08-19 at 11:52 -0700, Benjamin Poirier wrote: @@ -7838,11 +7838,14 @@ static int tg3_tso_bug(struct tg3 *tp, struct tg3_napi *tnapi, struct netdev_queue *txq, struct sk_buff *skb) { struct sk_buff

[PATCH v2 3/3] tg3: Fix tx_pending checks for tg3_tso_bug

2014-08-21 Thread Benjamin Poirier
wake up threshold is made dynamic. Likewise, usually the tx queue is stopped as soon as an skb with max frags may overrun it. Since the skbs submitted from tg3_tso_bug() use a controlled number of descriptors, the tx queue stop threshold may be lowered. Signed-off-by: Benjamin Poirier bpoir

[PATCH v2 1/3] tg3: Limit minimum tx queue wakeup threshold

2014-08-21 Thread Benjamin Poirier
() to return NETDEV_TX_BUSY and print error messages. Fix the problem by putting a limit to how low TG3_TX_WAKEUP_THRESH can go. Signed-off-by: Benjamin Poirier bpoir...@suse.de --- I noticed the problem in a 3.0 kernel when setting `ethtool eth0 -G tx 50` and running a netperf TCP_STREAM test

[PATCH v2 2/3] tg3: Fix tx_pending check for MAX_SKB_FRAGS

2014-08-21 Thread Benjamin Poirier
The rest of the driver assumes at least one free descriptor in the tx ring. Therefore, since an skb with max frags takes up (MAX_SKB_FRAGS + 1) descriptors, tx_pending must be (MAX_SKB_FRAGS + 1). Signed-off-by: Benjamin Poirier bpoir...@suse.de --- Changes v1-v2 Moved ahead in the series from 3

Re: [PATCH 2/3] tg3: Fix tx_pending checks for tg3_tso_bug

2014-08-21 Thread Benjamin Poirier
On 2014/08/21 02:51, Michael Chan wrote: On Wed, 2014-08-20 at 18:23 -0700, Benjamin Poirier wrote: On 2014/08/19 16:10, Michael Chan wrote: On Tue, 2014-08-19 at 11:52 -0700, Benjamin Poirier wrote: @@ -7838,11 +7838,14 @@ static int tg3_tso_bug(struct tg3 *tp, struct tg3_napi

Re: [PATCH 1/3] tg3: Limit minimum tx queue wakeup threshold

2014-08-21 Thread Benjamin Poirier
On 2014/08/19 15:00, Michael Chan wrote: On Tue, 2014-08-19 at 11:52 -0700, Benjamin Poirier wrote: diff --git a/drivers/net/ethernet/broadcom/tg3.c b/drivers/net/ethernet/broadcom/tg3.c index 3ac5d23..b11c0fd 100644 --- a/drivers/net/ethernet/broadcom/tg3.c +++ b/drivers/net/ethernet

Re: [PATCH 1/3] tg3: Limit minimum tx queue wakeup threshold

2014-08-21 Thread Benjamin Poirier
On 2014/08/21 15:32, Michael Chan wrote: On Thu, 2014-08-21 at 15:04 -0700, Benjamin Poirier wrote: On 2014/08/19 15:00, Michael Chan wrote: On Tue, 2014-08-19 at 11:52 -0700, Benjamin Poirier wrote: diff --git a/drivers/net/ethernet/broadcom/tg3.c b/drivers/net/ethernet/broadcom

[PATCH 3/3] tg3: Fix tx_pending check for MAX_SKB_FRAGS

2014-08-19 Thread Benjamin Poirier
The rest of the driver assumes at least one free descriptor in the tx ring. Therefore, since an skb with max frags takes up (MAX_SKB_FRAGS + 1) descriptors, tx_pending must be (MAX_SKB_FRAGS + 1). Signed-off-by: Benjamin Poirier bpoir...@suse.de --- Currently, it is possible to set tx_pending

[PATCH 1/3] tg3: Limit minimum tx queue wakeup threshold

2014-08-19 Thread Benjamin Poirier
() to return NETDEV_TX_BUSY and print error messages. Fix the problem by putting a limit to how low TG3_TX_WAKEUP_THRESH can go. Signed-off-by: Benjamin Poirier bpoir...@suse.de --- I noticed the problem in a 3.0 kernel when setting `ethtool eth0 -G tx 50` and running a netperf TCP_STREAM test

[PATCH 2/3] tg3: Fix tx_pending checks for tg3_tso_bug

2014-08-19 Thread Benjamin Poirier
wake up threshold is made dynamic. Signed-off-by: Benjamin Poirier bpoir...@suse.de --- I reproduced this bug using the same approach explained in patch 1. The bug reproduces with tx_pending = 135 --- drivers/net/ethernet/broadcom/tg3.c | 31 --- drivers/net/ethernet

Re: Regarding tx-nocache-copy in the Sheevaplug

2014-10-15 Thread Benjamin Poirier
On 2014/10/13 12:52, Lluís Batlle i Rossell wrote: Hello, on the 7th of January 2014 ths patch was applied: https://lkml.org/lkml/2014/1/7/307 [PATCH v2] net: Do not enable tx-nocache-copy by default In the Sheevaplug (ARM Feroceon 88FR131 from Marvell) this made packets to be

Re: Regarding tx-nocache-copy in the Sheevaplug

2014-10-16 Thread Benjamin Poirier
On 2014/10/15 15:45, Eric Dumazet wrote: On Wed, 2014-10-15 at 14:57 -0700, Benjamin Poirier wrote: On 2014/10/13 12:52, Lluís Batlle i Rossell wrote: Hello, on the 7th of January 2014 ths patch was applied: https://lkml.org/lkml/2014/1/7/307 [PATCH v2] net: Do not enable tx

Re: Regarding tx-nocache-copy in the Sheevaplug

2014-10-17 Thread Benjamin Poirier
On 2014/10/16 19:46, Lluís Batlle i Rossell wrote: [...] Hello all, it seems I was a bit wrong - although enabling back tx-nocache-copy makes the tx-errors happen much less often (ssh complaining about HMAC), they still happen. It seems that something was introduced in some recent kernels

[PATCH net v6 0/4] tg3: tx_pending fixes

2014-09-04 Thread Benjamin Poirier
Extra info regarding patch 4: This version of the series calls gso_segment() without NETIF_F_SG. This avoids the need for desc_cnt_est in tg3_tso_bug() as in previous versions of this patch series. Since Michael had previously raised concerns about gso_segment without SG, I ran some netperf

[PATCH net v6 1/4] tg3: Limit minimum tx queue wakeup threshold

2014-09-04 Thread Benjamin Poirier
() to return NETDEV_TX_BUSY and print error messages. Fix the problem by putting a limit to how low TG3_TX_WAKEUP_THRESH can go. Signed-off-by: Benjamin Poirier bpoir...@suse.de --- I noticed the problem in a 3.0 kernel when setting `ethtool eth0 -G tx 50` and running a netperf TCP_STREAM test

[PATCH net v6 3/4] tg3: Move tx queue stop logic to its own function

2014-09-04 Thread Benjamin Poirier
= smp_mb if queue_stopped and tx_avail, NO if !queue_stopped stop queue return NETDEV_TX_BUSY ... tx queue stopped forever Signed-off-by: Benjamin Poirier bpoir...@suse.de

[PATCH net v6 2/4] tg3: Fix tx_pending check for MAX_SKB_FRAGS

2014-09-04 Thread Benjamin Poirier
The rest of the driver assumes at least one free descriptor in the tx ring. Therefore, since an skb with max frags takes up (MAX_SKB_FRAGS + 1) descriptors, tx_pending must be (MAX_SKB_FRAGS + 1). Signed-off-by: Benjamin Poirier bpoir...@suse.de --- Changes v1-v2 Moved ahead in the series from

[PATCH net v6 4/4] tg3: Fix tx_pending checks for tg3_tso_bug

2014-09-04 Thread Benjamin Poirier
, gso_segment() is called without _SG which yields predictable, linear skbs. Signed-off-by: Benjamin Poirier bpoir...@suse.de --- Changes v1-v2 * in tg3_set_ringparam(), reduce gso_max_segs further to budget 3 descriptors per gso seg instead of only 1 as in v1 * in tg3_tso_bug(), check

[PATCH net v4 1/4] tg3: Limit minimum tx queue wakeup threshold

2014-08-27 Thread Benjamin Poirier
() to return NETDEV_TX_BUSY and print error messages. Fix the problem by putting a limit to how low TG3_TX_WAKEUP_THRESH can go. Signed-off-by: Benjamin Poirier bpoir...@suse.de --- I noticed the problem in a 3.0 kernel when setting `ethtool eth0 -G tx 50` and running a netperf TCP_STREAM test

[PATCH net v4 2/4] tg3: Fix tx_pending check for MAX_SKB_FRAGS

2014-08-27 Thread Benjamin Poirier
The rest of the driver assumes at least one free descriptor in the tx ring. Therefore, since an skb with max frags takes up (MAX_SKB_FRAGS + 1) descriptors, tx_pending must be (MAX_SKB_FRAGS + 1). Signed-off-by: Benjamin Poirier bpoir...@suse.de --- Changes v1-v2 Moved ahead in the series from

[PATCH net v4 4/4] tg3: Fix tx_pending checks for tg3_tso_bug

2014-08-27 Thread Benjamin Poirier
wake up threshold is made dynamic. Likewise, usually the tx queue is stopped as soon as an skb with max frags may overrun it. Since the skbs submitted from tg3_tso_bug() use a controlled number of descriptors, the tx queue stop threshold may be lowered. Signed-off-by: Benjamin Poirier bpoir

[PATCH net v4 3/4] tg3: Move tx queue stop logic to its own function

2014-08-27 Thread Benjamin Poirier
= smp_mb if queue_stopped and tx_avail, NO if !queue_stopped stop queue return NETDEV_TX_BUSY ... tx queue stopped forever Signed-off-by: Benjamin Poirier bpoir...@suse.de

Re: [PATCH net v4 4/4] tg3: Fix tx_pending checks for tg3_tso_bug

2014-08-29 Thread Benjamin Poirier
On 2014/08/28 20:24, Prashant Sreedharan wrote: - for (i = 0; i tp-irq_max; i++) - tp-napi[i].tx_pending = ering-tx_pending; + dev-gso_max_segs = TG3_TX_SEG_PER_DESC(ering-tx_pending - 1); + for (i = 0; i tp-irq_max; i++) { + struct tg3_napi *tnapi =

[PATCH net v5 2/4] tg3: Fix tx_pending check for MAX_SKB_FRAGS

2014-08-29 Thread Benjamin Poirier
The rest of the driver assumes at least one free descriptor in the tx ring. Therefore, since an skb with max frags takes up (MAX_SKB_FRAGS + 1) descriptors, tx_pending must be (MAX_SKB_FRAGS + 1). Signed-off-by: Benjamin Poirier bpoir...@suse.de --- Changes v1-v2 Moved ahead in the series from

[PATCH net v5 1/4] tg3: Limit minimum tx queue wakeup threshold

2014-08-29 Thread Benjamin Poirier
() to return NETDEV_TX_BUSY and print error messages. Fix the problem by putting a limit to how low TG3_TX_WAKEUP_THRESH can go. Signed-off-by: Benjamin Poirier bpoir...@suse.de --- I noticed the problem in a 3.0 kernel when setting `ethtool eth0 -G tx 50` and running a netperf TCP_STREAM test

[PATCH net v5 4/4] tg3: Fix tx_pending checks for tg3_tso_bug

2014-08-29 Thread Benjamin Poirier
wake up threshold is made dynamic. Likewise, usually the tx queue is stopped as soon as an skb with max frags may overrun it. Since the skbs submitted from tg3_tso_bug() use a controlled number of descriptors, the tx queue stop threshold may be lowered. Signed-off-by: Benjamin Poirier bpoir

[PATCH net v5 3/4] tg3: Move tx queue stop logic to its own function

2014-08-29 Thread Benjamin Poirier
= smp_mb if queue_stopped and tx_avail, NO if !queue_stopped stop queue return NETDEV_TX_BUSY ... tx queue stopped forever Signed-off-by: Benjamin Poirier bpoir...@suse.de

[PATCH] netdevice: Add missing parentheses in macro

2015-01-13 Thread Benjamin Poirier
For example, one could conceivably call for_each_netdev_in_bond_rcu(condition ? bond1 : bond2, slave) and get an unexpected result. Signed-off-by: Benjamin Poirier bpoir...@suse.de --- include/linux/netdevice.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/include

Re: [PATCH] mlx4: Fix tx ring affinity_mask creation

2015-04-13 Thread Benjamin Poirier
On 2015/04/12 10:03, Ido Shamay wrote: Hi Benjamin, On 4/10/2015 7:27 PM, Benjamin Poirier wrote: By default, the number of tx queues is limited by the number of online cpus in mlx4_en_get_profile(). However, this limit no longer holds after the ethtool .set_channels method has been

[PATCH RESEND] mlx4: Fix tx ring affinity_mask creation

2015-04-28 Thread Benjamin Poirier
= nr_cpu_ids. Signed-off-by: Benjamin Poirier bpoir...@suse.de Acked-by: Ido Shamay i...@mellanox.com Fixes: d03a68f (net/mlx4_en: Configure the XPS queue mapping on driver load) --- drivers/net/ethernet/mellanox/mlx4/en_tx.c | 8 +--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git

Re: [PATCH] mlx4: Fix tx ring affinity_mask creation

2015-04-27 Thread Benjamin Poirier
On 2015/04/13 17:22, Benjamin Poirier wrote: On 2015/04/12 10:03, Ido Shamay wrote: Hi Benjamin, On 4/10/2015 7:27 PM, Benjamin Poirier wrote: By default, the number of tx queues is limited by the number of online cpus in mlx4_en_get_profile(). However, this limit no longer holds

[PATCH] mlx4_en: Use correct loop cursor in error path.

2015-04-29 Thread Benjamin Poirier
Signed-off-by: Benjamin Poirier bpoir...@suse.de Fixes: 9e311e7 (net/mlx4_en: Use affinity hint) --- drivers/net/ethernet/mellanox/mlx4/en_netdev.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/net/ethernet/mellanox/mlx4/en_netdev.c b/drivers/net/ethernet/mellanox

[PATCH] mlx4_core: Fix fallback from MSI-X to INTx

2015-05-22 Thread Benjamin Poirier
user of MLX4_CMD_NOP. Fixes: f5aef5a (net/mlx4_core: Activate reset flow upon fatal command cases) Signed-off-by: Benjamin Poirier bpoir...@suse.de --- drivers/net/ethernet/mellanox/mlx4/cmd.c | 9 +++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/drivers/net/ethernet/mellanox

[PATCH 0/2] e1000e msi-x fixes

2015-10-22 Thread Benjamin Poirier
Hi, For this series: Benjamin Poirier (2): e1000e: remove unreachable code e1000e: Fix msi-x interrupt automask drivers/net/ethernet/intel/e1000e/netdev.c | 18 ++ 1 file changed, 6 insertions(+), 12 deletions(-) The first patch is a cleanup but the second one

[PATCH 2/2] e1000e: Fix msi-x interrupt automask

2015-10-22 Thread Benjamin Poirier
t; interrupts. Since e1000_msix_other() reads ICR, all interrupts must be rearmed in that function. Reported-by: Frank Steiner <steiner-...@bio.ifi.lmu.de> Signed-off-by: Benjamin Poirier <bpoir...@suse.com> --- drivers/net/ethernet/intel/e1000e/netdev.c | 12 ++-- 1 file ch

[PATCH 1/2] e1000e: remove unreachable code

2015-10-22 Thread Benjamin Poirier
msi-x interrupts are not shared so there's no need to check if the interrupt was really from this adapter. Signed-off-by: Benjamin Poirier <bpoir...@suse.com> --- drivers/net/ethernet/intel/e1000e/netdev.c | 6 -- 1 file changed, 6 deletions(-) diff --git a/drivers/net/ethernet/intel/

[PATCH v3 3/4] e1000e: Do not write lsc to ics in msi-x mode

2015-11-09 Thread Benjamin Poirier
In msi-x mode, there is no handler for the lsc interrupt so there is no point in writing that to ics now that we always assume Other interrupts are caused by lsc. Reviewed-by: Jasna Hodzic <jhod...@ucdavis.edu> Signed-off-by: Benjamin Poirier <bpoir...@suse.com> --- drivers/net/et

[PATCH v3 4/4] e1000e: Fix msi-x interrupt automask

2015-11-09 Thread Benjamin Poirier
ars IAME from CTRL_EXT. This is not strictly necessary for operation of the driver but it is to avoid disruption from potential programs that access the registers directly, like `ethregs -c`. Reported-by: Frank Steiner <steiner-...@bio.ifi.lmu.de> Signed-off-by: Benjamin Poirier <bpoir

[PATCH v3 2/4] e1000e: Do not read icr in Other interrupt

2015-11-09 Thread Benjamin Poirier
cause that can trigger the Other interrupt is Link Status Change. Signed-off-by: Benjamin Poirier <bpoir...@suse.com> --- I noticed a 8-16% improvement in netperf rr tests after applying this patch. This is a little surprising since this patch touches the handling of Other interrupts, wh

[PATCH v3 0/4] e1000e msi-x fixes

2015-11-09 Thread Benjamin Poirier
Hi, For this series: Benjamin Poirier (4): e1000e: Remove unreachable code e1000e: Do not read icr in Other interrupt e1000e: Do not write lsc to ics in msi-x mode e1000e: Fix msi-x interrupt automask drivers/net/ethernet/intel/e1000e/defines.h | 3 +- drivers/net/ethernet/intel

[PATCH v3 1/4] e1000e: Remove unreachable code

2015-11-09 Thread Benjamin Poirier
msi-x interrupts are not shared so there's no need to check if the interrupt was really from this adapter. Signed-off-by: Benjamin Poirier <bpoir...@suse.com> --- drivers/net/ethernet/intel/e1000e/netdev.c | 6 -- 1 file changed, 6 deletions(-) diff --git a/drivers/net/ethernet/intel/

Re: [PATCH v2 2/4] e1000e: Do not read icr in Other interrupt

2015-11-04 Thread Benjamin Poirier
On 2015/10/30 12:19, Alexander Duyck wrote: > On 10/30/2015 10:31 AM, Benjamin Poirier wrote: > >Using eiac instead of reading icr allows us to avoid interference with > >rx and tx interrupts in the Other interrupt handler. > > > >According to the 82574 datasheet section

[PATCH v2 4/4] e1000e: Fix msi-x interrupt automask

2015-10-30 Thread Benjamin Poirier
ted-by: Frank Steiner <steiner-...@bio.ifi.lmu.de> Signed-off-by: Benjamin Poirier <bpoir...@suse.com> --- drivers/net/ethernet/intel/e1000e/netdev.c | 9 - 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/drivers/net/ethernet/intel/e1000e/netdev.c b/drivers/net/ethern

[PATCH v2 0/4] e1000e msi-x fixes

2015-10-30 Thread Benjamin Poirier
Hi, For this series: Benjamin Poirier (4): e1000e: Remove unreachable code e1000e: Do not read icr in Other interrupt e1000e: Do not write lsc to ics in msi-x mode e1000e: Fix msi-x interrupt automask drivers/net/ethernet/intel/e1000e/defines.h | 3 +- drivers/net/ethernet/intel

[PATCH v2 2/4] e1000e: Do not read icr in Other interrupt

2015-10-30 Thread Benjamin Poirier
enough that the extra cost of needlessly re-reading the link status is negligible. Signed-off-by: Benjamin Poirier <bpoir...@suse.com> --- drivers/net/ethernet/intel/e1000e/netdev.c | 23 --- 1 file changed, 8 insertions(+), 15 deletions(-) diff --git a/drivers/net/ethernet

[PATCH v2 3/4] e1000e: Do not write lsc to ics in msi-x mode

2015-10-30 Thread Benjamin Poirier
In msi-x mode, there is no handler for the lsc interrupt so there is no point in writing that to ics now that we always assume Other interrupts are caused by lsc. Reviewed-by: Jasna Hodzic <jhod...@ucdavis.edu> Signed-off-by: Benjamin Poirier <bpoir...@suse.com> --- drivers/net/et

[PATCH v2 1/4] e1000e: Remove unreachable code

2015-10-30 Thread Benjamin Poirier
msi-x interrupts are not shared so there's no need to check if the interrupt was really from this adapter. Signed-off-by: Benjamin Poirier <bpoir...@suse.com> --- drivers/net/ethernet/intel/e1000e/netdev.c | 6 -- 1 file changed, 6 deletions(-) diff --git a/drivers/net/ethernet/intel/

Re: [PATCH net-next] net: ena: Add a driver for Amazon Elastic Network Adapters (ENA)

2016-06-16 Thread Benjamin Poirier
On 2016/06/13 11:46, Netanel Belgazal wrote: [...] > + > +static int ena_set_coalesce(struct net_device *net_dev, > + struct ethtool_coalesce *coalesce) > +{ > + struct ena_adapter *adapter = netdev_priv(net_dev); > + struct ena_com_dev *ena_dev = adapter->ena_dev;

[PATCH] ipv6: Annotate change of locking mechanism for np->opt

2016-02-17 Thread Benjamin Poirier
follows up commit 45f6fad84cc3 ("ipv6: add complete rcu protection around np->opt") which added mixed rcu/refcount protection to np->opt. Given the current implementation of rcu_pointer_handoff(), this has no effect at runtime. Signed-off-by: Benjamin Poirier <bpoir...@suse.co

Re: [PATCH 1/2] localmodconfig: Fix parsing of Kconfig "source" statements

2016-04-10 Thread Benjamin Poirier
On 2016/04/08 14:29, Steven Rostedt wrote: > On Sat, 2 Apr 2016 10:55:21 -0700 > Benjamin Poirier <bpoir...@suse.com> wrote: > > > The parameter of Kconfig "source" statements does not need to be quoted. > > The current regex causes many kconfig files to b

[PATCH 3/4] localmodconfig: Add missing $ to reference a variable

2016-04-10 Thread Benjamin Poirier
That is clearly what the original intention was. This does not change the output .config but it prevents some useless processing. ! eq "m" is changed to the simpler eq "y"; symbols with values other than m|y are not included in %orig_configs. Signed-off-by: Benjamin Poirie

  1   2   3   4   >