linux-netdev mailing list

FromSubjectsort iconDate
Randy Dunlap
[PATCH] sunrpc: fix rdma dependencies
The kconfig just moved from one file to another one. The problem is still there. --- From: Randy Dunlap <randy.dunlap@oracle.com> Fix sunrpc/rdma build dependencies. Survives 12 build combinations of INET, IPV6, SUNRPC, INFINIBAND, and INFINIBAND_ADDR_TRANS. ERROR: "rdma_destroy_id" [net/sunrpc/xprtrdma/xprtrdma.ko] undefined! ERROR: "rdma_connect" [net/sunrpc/xprtrdma/xprtrdma.ko] undefined! ERROR: "rdma_destroy_qp" [net/sunrpc/xprtrdma/xprtrdma.ko] undefined! ERROR: "rdma_create_id" ...
Feb 3, 3:13 pm 2009
David Miller
Re: [PATCH] sunrpc: fix rdma dependencies
From: Randy Dunlap <randy.dunlap@oracle.com> Applied, thanks Randy. --
Feb 3, 4:20 pm 2009
Stephen Hemminger
[PATCH 4/4] sky2: set VPD size
Read configuration register during probe and use it to size the available VPD. Move existing code using same register slightly earlier in probe handling. Signed-off-by: Stephen Hemminger <shemminger@vyatta.com> --- a/drivers/net/sky2.c 2009-01-26 12:48:31.399586277 -0800 +++ b/drivers/net/sky2.c 2009-01-26 12:48:34.947586089 -0800 @@ -4335,6 +4335,7 @@ static int __devinit sky2_probe(struct p struct net_device *dev; struct sky2_hw *hw; int err, using_dac = 0, wol_default; + u32 ...
Feb 3, 2:27 pm 2009
Stephen Hemminger
[PATCH 1/4] sky2: remove unneede workaround
This workaround is not needed. It was inherited from sk98lin driver but only applies to an early development version of the chip that is not supported by sky2. The workaround required an unnecessary pci read which hurts performance Signed-off-by: Stephen Hemminger <shemminger@vyatta.com> --- a/drivers/net/sky2.c 2009-01-26 17:23:25.869792360 -0800 +++ b/drivers/net/sky2.c 2009-01-27 09:43:21.770394724 -0800 @@ -2687,13 +2687,6 @@ static int sky2_poll(struct napi_struct goto done; ...
Feb 3, 2:27 pm 2009
Stephen Hemminger
[PATCH 3/4] sky2: move VPD display into debug interface
The VPD stuff has more data and isn't generally that useful, so move it into the existing debugfs display and use the new PCI VPD accessor routines. Signed-off-by: Stephen Hemminger <shemminger@vyatta.com> --- a/drivers/net/sky2.c 2009-02-03 08:08:38.063805252 -0800 +++ b/drivers/net/sky2.c 2009-02-03 08:09:02.960523549 -0800 @@ -3905,6 +3905,86 @@ static const struct ethtool_ops sky2_eth static struct dentry *sky2_debug; + +/* + * Read and parse the first part of Vital Product ...
Feb 3, 2:27 pm 2009
David Miller
Re: [PATCH 0/4] Sky2 update
From: Stephen Hemminger <shemminger@vyatta.com> All applied, thanks Stephen. --
Feb 3, 4:09 pm 2009
Stephen Hemminger
[PATCH 0/4] Sky2 update
Here are some updates to sky2 driver for net-next. -- --
Feb 3, 2:27 pm 2009
Stephen Hemminger
[PATCH 2/4] sky2: handle dma mapping errors
On non-x86 platforms it is possible to run out of DMA mapping resources. The driver was ignoring this and could cause corruptions. Signed-off-by: Stephen Hemminger <shemminger@vyatta.com> --- drivers/net/sky2.c | 64 ++++++++++++++++++++++++++++++++++++++++++++++------- 1 file changed, 56 insertions(+), 8 deletions(-) --- a/drivers/net/sky2.c 2009-02-03 08:08:14.287767868 -0800 +++ b/drivers/net/sky2.c 2009-02-03 08:08:38.063805252 -0800 @@ -1068,13 +1068,16 @@ static void ...
Feb 3, 2:27 pm 2009
David Miller
Re: pull request: wireless-next-2.6 2009-02-03
From: "John W. Linville" <linville@tuxdriver.com> Pulled, thanks a lot John. --
Feb 3, 2:20 pm 2009
John W. Linville
pull request: wireless-next-2.6 2009-02-03
Dave, Here is the somewhat overdue dump of pending wireless updates intended for 2.6.30. I apologize for not getting it to you sooner, but I kept needing to rebase it upon fixes sent to 2.6.29. After that it was big enough that I wanted it to see a copule of linux-next builds (which it now has seen). And of course, all of these patches have done time in wireless-testing as well... Please let me know if there are problems! Thanks, John --- Individual patches are available ...
Feb 3, 1:25 pm 2009
Alex Williamson
[PATCH v4 4/4] virtio_net: Add support for VLAN filterin ...
VLAN filtering allows the hypervisor to drop packets from VLANs that we're not a part of, further reducing the number of extraneous packets recieved. This makes use of the VLAN virtqueue command class. The CTRL_VLAN feature bit tells us whether the backend supports VLAN filtering. Signed-off-by: Alex Williamson <alex.williamson@hp.com> --- drivers/net/virtio_net.c | 31 ++++++++++++++++++++++++++++++- include/linux/virtio_net.h | 14 ++++++++++++++ 2 files changed, 44 insertions(+), ...
Feb 3, 12:26 pm 2009
Alex Williamson
[PATCH v4 1/4] virtio_net: Add a virtqueue for outbound ...
This will be used for RX mode, MAC filter table, VLAN filtering, etc... The control transaction consists of one or more "out" sg entries and one or more "in" sg entries. The first out entry contains a header defining the class and command. Additional out entries may provide data for the command. The last in entry provides a status response back from the command. Virtqueues typically run asynchronous, running a callback function when there's data in the channel. We can't readily make use ...
Feb 3, 12:25 pm 2009
Alex Williamson
[PATCH v4 0/4] virtio_net: Add MAC and VLAN filtering
This series adds infrastructure for a new control virtqueue and makes use of it to support set_rx_mode, unicast and multicast address lists, and supporting a hypervisor based VLAN filter. The goal is to make the virtio-net device support more of the features of a physical NIC and allow the hypervisor to discard packets we don't want. These patches are intended for 2.6.30. This is the 4th and hopefully final revision, incorporating a few more tweaks from Rusty. I've renamed ...
Feb 3, 12:25 pm 2009
Alex Williamson
[PATCH v4 2/4] virtio_net: Add a set_rx_mode interface
Make use of the RX_MODE control virtqueue class to enable the set_rx_mode netdev interface. This allows us to selectively enable/disable promiscuous and allmulti mode so we don't see packets we don't want. For now, we automatically enable these as needed if additional unicast or multicast addresses are requested. Signed-off-by: Alex Williamson <alex.williamson@hp.com> Acked-by: Rusty Russell <rusty@rustcorp.com.au> --- drivers/net/virtio_net.c | 34 ...
Feb 3, 12:26 pm 2009
David Miller
Re: [PATCH v4 0/4] virtio_net: Add MAC and VLAN filtering
From: Alex Williamson <alex.williamson@hp.com> The second patch doesn't apply to the net-next-2.6 tree. Please regenerate these against net-next-2.6 or -next and I'll apply them, thanks. --
Feb 3, 4:06 pm 2009
Alex Williamson
[PATCH v4 3/4] virtio_net: Add a MAC filter table
Make use of the MAC control virtqueue class to support a MAC filter table. The filter table is managed by the hypervisor. We consider the table to be available if the CTRL_RX feature bit is set. We leave it to the hypervisor to manage the table and enable promiscuous or all-multi mode as necessary depending on the resources available to it. Signed-off-by: Alex Williamson <alex.williamson@hp.com> --- drivers/net/virtio_net.c | 55 ++++++++++++++++++++++++++++++++++++++------ ...
Feb 3, 12:26 pm 2009
Alex Williamson
Re: [PATCH v4 0/4] virtio_net: Add MAC and VLAN filtering
Ack, sorry. I had dropped the original first patch that allows setting the virtio_net MAC address since Rusty already accepted it into his patch queue. I can easily munge these to not rely on that (context-only changes), but that'll just leave Rusty with the merge conflict. Rusty, which way do you want these to hit the tree? Thanks, Alex -- Alex Williamson HP Open Source & Linux Org. --
Feb 3, 4:42 pm 2009
Francois Romieu
Re: [PATCH] r8169: Don't update statistics counters when ...
It makes sense. int dev_close(struct net_device *dev) { [...] clear_bit(__LINK_STATE_START, &dev->state); -> netif_running is not true anymore [...] if (ops->ndo_stop) ops->ndo_stop(dev); -> Calling rtl8169_update_counters in rtl8169_close looks like a no-op. Aside from that, I do not understand from the description the need for the "while (wait--)" loop. Aside from the aside, the diff can probably be shorter if a local "counters" variable is kept in the ethtool ...
Feb 3, 2:46 pm 2009
Ivan Vecera
[PATCH] r8169: Don't update statistics counters when int ...
Some Realtek chips (RTL8169sb/8110sb in my case) are unable to retrieve ethtool statistics when the interface is down. The process stays in endless loop in rtl8169_get_ethtool_stats. This is because these chips need to have receiver enabled (CmdRxEnb bit in ChipCmd register) that is cleared when the interface is going down. It's better to update statistics only when the interface is up and otherwise return copy of statistics grabbed when the interface was up (in rtl8169_close). It is ...
Feb 3, 9:14 am 2009
Jesper Dangaard Brouer
BUG: NIU driver: strange issues with multicast "UDP: sho ...
I have this strange issues with multicast and the NIU driver (Sun neptune Quad NIC). When receiving multicast traffic the kernel log spams with something like this: __ratelimit: 5071 callbacks suppressed UDP: short packet: From 81.161.2.106:0 44063/1324 to 233.123.173.7:0 UDP: short packet: From 81.161.2.106:0 44063/1324 to 233.123.173.7:0 UDP: short packet: From 81.161.2.106:8304 27493/1324 to 233.123.173.7:24931 UDP: short packet: From 81.161.2.106:8304 27493/1324 to ...
Feb 3, 6:38 am 2009
David Miller
Re: BUG: NIU driver: strange issues with multicast "UDP: ...
From: Jesper Dangaard Brouer <jdb@comx.dk> The UDP header length field is garbage in all of these packets. In the first two packets here, the source and dest ports are That could be a good clue. Do you happen to have multicast routing enabled on this machine? If the multicast destination is non-local and IN_DEV_FORWARD is set on the interface, that puts the packet through ip_mr_input. ip_mr_input() will clone the SKB if it should be delivered locally as well as be forwarded. If ...
Feb 3, 4:38 pm 2009
David Lefevre
Fwd: Re: Ethernet over GRE ?
Hello, here is a little discussion I had with Stephen about iproute2. At the end, he has told me to send this to you. Best regards, David ----- Forwarded message from Stephen Hemminger <shemminger@vyatta.com> ----- X-Virus-Scanned: amavisd-new at tahiti.vyatta.com Date: Thu, 22 Jan 2009 14:56:06 +1100 From: Stephen Hemminger <shemminger@vyatta.com> To: David Lefevre <david.lefevre7@libertysurf.fr> Subject: Re: Ethernet over GRE ? In-Reply-To: ...
Feb 3, 6:15 am 2009
Herbert Xu
Re: Fwd: Re: Ethernet over GRE ?
Using gretap is the correct way to go. What do you mean that you don't know how to use it as a tunnel? Cheers, -- Visit Openswan at http://www.openswan.org/ Email: Herbert Xu ~{PmV>HI~} <herbert@gondor.apana.org.au> Home Page: http://gondor.apana.org.au/~herbert/ PGP Key: http://gondor.apana.org.au/~herbert/pubkey.txt --
Feb 3, 1:47 pm 2009
Breno Leitao
[PATCH 1/1 net-next] s2io: Formatting log message
S2IO driver is printing dev->name before the name being allocated, which display eth%d instead of eth0, eth1, etc. Example: eth%d: Enabling MSIX failed eth%d: MSI-X requested but failed to enable This patch just change eth%d to s2io. Signed-off-by: Breno Leitao <leitao@linux.vnet.ibm.com> --- diff --git a/drivers/net/s2io.c b/drivers/net/s2io.c index f5c57c0..a63a496 100644 --- a/drivers/net/s2io.c +++ b/drivers/net/s2io.c @@ -3862,7 +3862,7 @@ static int s2io_enable_msi_x(struct ...
Feb 3, 5:39 am 2009
David Miller
Re: [PATCH 1/1 net-next] s2io: Formatting log message
From: Breno Leitao <leitao@linux.vnet.ibm.com> Applied, thanks. --
Feb 3, 4:15 pm 2009
David Miller
Re: [PATCH v2] hso: add new device id's
From: Filip Aben <f.aben@option.com> Applied, thank you. --
Feb 3, 4:13 pm 2009
Filip Aben
[PATCH v2] hso: add new device id's
This patch adds a few device ID's. It also removes an ID that was used in an internal engineering version of a device and will never see commercial light. Even if this ID will be 'recycled' in the future, which is very unlikely, we don't know what kind of device will be behind it. Therefore it's safer to remove it. Signed-off-by: Filip Aben <f.aben@option.com> ---
Feb 3, 3:39 am 2009
David Miller
Re: net.ipv6.conf.INT.accept_ra_rt_info_max_plen defaults to 0
From: Pekka Savola <pekkas@netcore.fi> It looks very intentional, both via the code and it's documentation in ip-sysctl.txt It seems that it is disabled like this by default when accept_ra_rtr_pref is enabled, and that seems pretty reasonable to me. I'm sure whoever made that decision didn't do so on a whim and had a very good reason for it. --
Feb 2, 10:36 pm 2009
Pekka Savola
net.ipv6.conf.INT.accept_ra_rt_info_max_plen defaults to 0
Hello, As reported and discussed below and in <http://www.mail-archive.com/debian-ipv6@lists.debian.org/msg03753.html>, to accept "route information option" on Linux, you have to manually change accept_ra_rt_info_max_plen sysctl value. Other implementations that I know of accept this by default. Is it intentional that Route Information options are ignored by default? I suspect not -- if so, the default value should be (IMHO) 64 or if that's disagreeable, 48. Even if this is ...
Feb 2, 9:38 pm 2009
Graham, David Feb 2, 6:42 pm 2009
Greg KH
Re: [stable] [PATCH 2.6.27.y] stable request for vlan fix
Thanks, I'll queue that one up tomorrow. greg k-h --
Feb 2, 8:43 pm 2009
Brandeburg, Jesse
[PATCH 2.6.27.y] stable request for vlan fix
I had a customer report that e1000/e1000e was hitting a vlan bug when compiled without NAPI support. Turns out it had been solved already in a newer kernel. Please consider for stable. this commit was pushed in the 2.6.28-rc4 timeframe git-cherry-pick 9b22ea560957de1484e6b3e8538f7eef202e3596 patch inline (likely whitespace corrupted, please use git) (offsets adjusted for 2.6.27.y kernel) I did a cherry pick to the 2.6.27.y.git and it worked fine (compile tested only) Author: ...
Feb 2, 5:53 pm 2009
Ron Mercer
Re: qlge packet receive
Thanks Dave. I've changed this and also added gro to my net-next branch. I will send up this bugfix up for 2.6.29 in a few days. --
Feb 3, 9:08 am 2009
Russell King - ARM Linux
Re: Remaining bits for basic support of LDP
Mainline during the -rc series is not for pushing stuff to get additional testing. It's for resolving regressions and fixing bugs, not introducing changes which could cause regressions and bugs. --
Feb 3, 1:10 am 2009
Russell King - ARM Linux
Re: Remaining bits for basic support of LDP
As far as I'm aware, the smc911x driver works as is on the majority of ARM platforms. The fact that it works is enough justification to leave well alone during the -rc series. Changing it involves risk that something will break, which will cause a regression. This is not a risk that we want, and we certainly don't want any new regressions in the -rc series. The proper time to take No, and that's the problem with splitting it across two separate trees, which is a point I was trying to ...
Feb 3, 5:21 am 2009
Steve.Glendinning
Re: Remaining bits for basic support of LDP
Russell King - ARM Linux <linux@arm.linux.org.uk> wrote on 03/02/2009 Does it help that the smsc911x driver is new this cycle? Without these patches the driver fails to register its interrupt on many arm platforms, so it could be said that these patches do fix regressions against the smc911x driver it's intended to replace. On a related note, if these go in during the next merge window, is there a mechanism for ensuring the platform support patches in the set are merged after ...
Feb 3, 4:02 am 2009
Kenny Chang
Re: Multicast packet loss
Eric Dumazet wrote: > Wes Chow a
Feb 3, 10:34 am 2009
David Miller
Re: [PATCH] dca: redesign locks
From: Jeff Kirsher <jeffrey.t.kirsher@intel.com> Applied. --
Feb 3, 12:27 am 2009
Jeff Kirsher
Re: [PATCH] dca: redesign locks
On Mon, Feb 2, 2009 at 9:14 AM, Maciej Sosnowski Acked-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com> -- Cheers, Jeff --
Feb 2, 10:58 pm 2009
David Miller
Re: [PATCH] hso: add new device id's
From: "Filip Aben" <F.Aben@option.com> Great, please add that information to the commit message and resend your patch. Thanks. --
Feb 2, 5:33 pm 2009
Filip Aben
RE: [PATCH] hso: add new device id's
That ID was used in an internal engineering version of a device and will never see commercial light. Even if this ID will be 'recycled' in the future, which is very unlikely, I don't know what kind of device will be behind it. Therefore it's safer to remove it. Regards, Filip- --
Feb 2, 5:26 pm 2009
David Miller
Re: Allow group ownership of TUN/TAP devices.
From: Michael Tokarev <mjt@tls.msk.ru> Seems reasonable, applied, thanks. --
Feb 3, 12:35 am 2009
David Miller
Re: [PATCH] connector: create connector workqueue only w ...
From: Evgeniy Polyakov <zbr@ioremap.net> Applied. --
Feb 3, 12:22 am 2009
Pablo Neira Ayuso
Re: [RFC] netlink broadcast return value
Hi Iñaky, I was using Patrick's tree (nf-2.6.git) which did not contain net/wimax yet. I'm going to re-check against David's tree and let you know. -- "Los honestos son inadaptados sociales" -- Les Luthiers --
Feb 3, 3:07 am 2009
Cord Walter
[PATCH] pcnet_cs:fix misuse of the equality operator.
pcnet_cs: fix misuse of the equality operator. Signed-off-by: Cord Walter <qord@cwalter.net> Signed-off-by: Komuro <komurojun-mbn@nifty.com> --- --- linux-2.6.29-rc3/drivers/net/pcmcia/pcnet_cs.c.orig 2009-01-31 06:44:03.000000000 +0900 +++ linux-2.6.29-rc3/drivers/net/pcmcia/pcnet_cs.c 2009-01-31 06:44:21.000000000 +0900 @@ -586,7 +586,7 @@ static int pcnet_config(struct pcmcia_de } if ((link->conf.ConfigBase == 0x03c0) - && (link->manf_id == 0x149) && (link->card_id = ...
Feb 3, 3:59 am 2009
David Miller
Re: [PATCH] pcnet_cs:fix misuse of the equality operator.
From: Cord Walter <cord.walter@gmx.de> Applied, thanks. --
Feb 3, 4:14 pm 2009
David Miller
Re: [PATCH] sungem: limit reaches -1, but 0 tested
From: Roel Kluin <roel.kluin@gmail.com> Also applied, thanks. --
Feb 3, 12:19 am 2009
David Miller
Re: [PATCH] net: variables reach -1, but 0 tested
From: Roel Kluin <roel.kluin@gmail.com> Applied. --
Feb 3, 12:18 am 2009
Eric Dumazet Feb 3, 12:00 pm 2009
Eric Dumazet
Re: [PATCH 3/3] iptables: lock free counters (alternate ...
Cool then, sorry for misunderstanding your patch. --
Feb 3, 2:05 pm 2009
Stephen Hemminger Feb 3, 2:22 pm 2009
Stephen Hemminger
Re: [PATCH 3/3] iptables: lock free counters (alternate ...
For large number of CPU's it would be possible to allocate a full set of ncpu-1 new counters, then swap them in and then do one synchronize net. Or instead of synchronize_net, maybe a "wait for CPU #n" to go through The concept is that only the sum of all the counters matters, not Pretty much what I said. --
Feb 3, 1:44 pm 2009
Stephen Hemminger
Re: [PATCH 3/3] iptables: lock free counters (alternate ...
This is the "interesting bits" of what I am testing. What it does is swap in new counters, sum, then put counter values back onto the current cpu. The replace case is easier since the counters are "old" at that point. --- a/net/ipv4/netfilter/ip_tables.c 2009-02-02 15:06:29.684249364 -0800 +++ b/net/ipv4/netfilter/ip_tables.c 2009-02-03 15:08:30.230188116 -0800 @@ -347,10 +347,12 @@ ipt_do_table(struct sk_buff *skb, mtpar.family = tgpar.family = NFPROTO_IPV4; tgpar.hooknum = hook; ...
Feb 3, 4:18 pm 2009
Paul E. McKenney
Re: [PATCH 3/3] iptables: lock free counters (alternate ...
Why would this not provide the moral equivalent of atomic sampling? The code above switches to another counter set, and waits for a grace period. Shouldn't this mean that all CPUs that were incrementing the old set of counters have finished doing so, so that the aggregate count covers all CPUs that started their increments before the pointer switch? Same as acquiring a write lock, which would wait for all CPUs that started their increments before starting the write-lock acquisition. CPUs that ...
Feb 3, 12:32 pm 2009
Paul E. McKenney
Re: [PATCH 3/3] iptables: lock free counters (alternate ...
The usual approach would be to have three sets of counters, one currently being incremented, one just removed from service, and the last one holding the cumulative value. After a synchronize_net() following removing a set from service, you add in the values in the previous set removed It should be easier to maintain a third set of counters that hold the Good point, the for_each_possible_cpu() was cut out -- I should have gone back and looked at the original patch. Seems like it ...
Feb 3, 2:10 pm 2009
Eric Dumazet
Re: [PATCH 3/3] iptables: lock free counters (alternate ...
I see your point, but this is not what Stephen implemented. So.. CPU will increments which counters, if not delayed ? How counters will be synced again after our 'iptables -L' finished ? "iptable -L" is not supposed to miss some counters updates (only some packets might be droped at NIC level because we spend time in the collection). If packets matches some rules, we really want up2date counters. Maybe we need for this collection an extra "cpu", to collect all increments that were ...
Feb 3, 1:20 pm 2009
Eric Dumazet
Re: [PATCH 3/3] iptables: lock free counters (alternate ...
Hum... reading my mail, this one can be done once only, at the beginning Why then I suggested two different seqlocks, I am wondering :) I need to think a litle bit more, we might do something to allow several "iptables -L" in // maybe an atomic_t to protect counters would be ok : Ie : One atomic_t (counters_readers) to protect counter updates One seqlock (seqlock_rules) to protect rules changes ipt_do_table() doing : { begin: read_seqbegin(&table->seqlock_rules); // it ...
Feb 3, 12:19 pm 2009
Paul E. McKenney Feb 3, 4:11 pm 2009
Rick Jones
Re: [PATCH 3/3] iptables: lock free counters (alternate ...
So, is this patch stream at a point where I should try running the 32-core netperf tests against it? And if so, against which tree should I try applying patches? rick jones --
Feb 3, 2:27 pm 2009
Kenny Chang
Re: Multicast packet loss
Yeah, these are quad core systems. The 8 cpu system is a dual-processor quad-core. The other is my desktop, single cpu quad core. Kenny --
Feb 3, 8:20 am 2009
Neil Horman
Re: Multicast packet loss
Are these quad core systems? Or dual core w/ hyperthreading? I ask because in your working setup you have 1/2 the number of cpus' and was not sure if you removed an entire package of if you just disabled hyperthreading. Neil --
Feb 3, 4:55 am 2009
Rusty Russell
Re: [PATCH v3 2/4] virtio_net: Add a set_rx_mode interface
Yes, I've frequently expressed unhappiness with the API. I lost that debate and it doesn't seem fruitful to return to it. Ideally we would chain them, but the caller would have to allocate an extra sg element. I don't think so: those args should in fact be const struct scatterlist *. Thanks, Rusty. --
Feb 2, 7:54 pm 2009
Rafael J. Wysocki
Re: 2.6.29-rc3: tg3 dead after resume
Good. Can you also test this one instead and tell me if it still works? Rafael --- drivers/pci/pcie/portdrv_pci.c | 16 +--------------- 1 file changed, 1 insertion(+), 15 deletions(-) Index: linux-2.6/drivers/pci/pcie/portdrv_pci.c =================================================================== --- linux-2.6.orig/drivers/pci/pcie/portdrv_pci.c +++ linux-2.6/drivers/pci/pcie/portdrv_pci.c @@ -55,25 +55,13 @@ static int pcie_portdrv_suspend(struct p } -static int ...
Feb 3, 3:15 pm 2009
Parag Warudkar
Re: 2.6.29-rc3: tg3 dead after resume
Hi Rafael, Yes, the patch below (atop today's git) does work for me. --
Feb 3, 2:27 pm 2009
Rafael J. Wysocki
Re: 2.6.29-rc3: tg3 dead after resume
Hi Parag, Did you have a chance to check if the patch from Linus (reproduced below) on top of current -git fixed the problem for you too? Thanks, Rafael --- drivers/pci/pcie/portdrv_pci.c | 14 -------------- 1 files changed, 0 insertions(+), 14 deletions(-) diff --git a/drivers/pci/pcie/portdrv_pci.c b/drivers/pci/pcie/portdrv_pci.c index 99a914a..08a8e3c 100644 --- a/drivers/pci/pcie/portdrv_pci.c +++ b/drivers/pci/pcie/portdrv_pci.c @@ -55,16 +55,6 @@ static int ...
Feb 3, 2:29 am 2009
Sam Ravnborg
Re: 2.6.28 headers break kbd and net-tools userspace builds
All headers are unifdeffed - so the Kbuild patch is not needed. Sam --
Feb 2, 9:58 pm 2009
David Miller
Re: 2.6.28 headers break kbd and net-tools userspace builds
From: Sam Ravnborg <sam@ravnborg.org> Thanks for the info but that's how I commited and pushed out the fix already, and it doesn't hurt either :-) --
Feb 2, 10:26 pm 2009
Jarek Poplawski
Re: [PATCH v2] tcp: splice as many packets as possible at once
Now it's clear. So this looks like one of the options considered by David. Then I wonder about details... It seems some kind of scheduled browsing for refcounts is needed or is there something better? Jarek P. --
Feb 3, 6:25 am 2009
David Miller
Re: [PATCH v2] tcp: splice as many packets as possible at once
From: Jarek Poplawski <jarkao2@gmail.com> This is a very interesting idea, but it has some drawbacks: 1) Just like any other allocator we'll need to find a way to handle > PAGE_SIZE allocations, and thus add handling for compound pages etc. And exactly the drivers that want such huge SKB data areas on receive should be converted to use scatter gather page vectors in order to avoid multi-order pages and thus strains on the page allocator. 2) Space wastage and poor ...
Feb 3, 12:50 am 2009
Herbert Xu
Re: [PATCH v2] tcp: splice as many packets as possible at once
Easy, the driver is already allocating them right now so we don't have to change a thing :) All we have to do is change the refill mechanism to always allocate a replacement skb in the rx path, and if that fails, allocate a fragmented skb instead and copy the received data into it so that the contiguous skb can be reused. Cheers, -- Visit Openswan at http://www.openswan.org/ Email: Herbert Xu ~{PmV>HI~} <herbert@gondor.apana.org.au> Home Page: http://gondor.apana.org.au/~herbert/ PGP ...
Feb 3, 4:53 am 2009
david
Re: [PATCH v2] tcp: splice as many packets as possible at once
1. define 'fragmented enough' 2. the packet size was already negotiated on your existing connections, how are you going to change all those on the fly? 3. what do you do when a remote system sends you a large packet? drop it on the floor? having some pool of large buffers to receive into (and copy out of those buffers as quickly as possible) would cause a performance hit when things get bad, but isn't that better than dropping packets? as for the number of buffers to use. make a ...
Feb 3, 6:05 am 2009
Herbert Xu
Re: [PATCH v2] tcp: splice as many packets as possible at once
Reducing the MTU can create all sorts of problems so it should be avoided if at all possible. These days, path MTU discovery is haphazard at best. In fact MTU problems are the main reason why Sure, if we can create an allocator that can guarantee contiguous allocations all the time then by all means go for it. But until we get there, doing what I suggested is way better than stopping Yes, improving the allocator would obviously inrease the performance, however, there is nothing against ...
Feb 3, 5:27 am 2009
Evgeniy Polyakov
Re: [PATCH v2] tcp: splice as many packets as possible at once
How many such preallocated frames is enough? Does it enough to have all sockets recv buffer sizes divided by the MTU size? Or just some of them, Maybe just do not allow jumbo frames when memory is fragmented enough and fallback to the smaller MTU in this case? With LRO/GRO stuff there should be not that much of the overhead compared to multiple-page copies. -- Evgeniy Polyakov --
Feb 3, 4:49 am 2009
Nick Piggin
Re: [PATCH v2] tcp: splice as many packets as possible at once
Wouldn't your caller need to know what objects are already It is nasty, yes. Using the page allocator directly seeems like a better approach. And btw. be careful of using page->_count for anything, due to speculative page references... basically it is useful only to test zero or non-zero refcount. If designing a new scheme for the network layer, it would be nicer to begin by using say _mapcount or private or some other field in there for a refcount (and I have a patch to avoid the ...
Feb 3, 4:38 am 2009
Herbert Xu
Re: [PATCH v2] tcp: splice as many packets as possible at once
Comparing performance is pointless because the only time you need to do the copy is when the allocator has failed. So there is *no* alternative to copying, regardless of how slow it is. You can always improve the allocator whether we do this copying fallback or not. Cheers, -- Visit Openswan at http://www.openswan.org/ Email: Herbert Xu ~{PmV>HI~} <herbert@gondor.apana.org.au> Home Page: http://gondor.apana.org.au/~herbert/ PGP Key: http://gondor.apana.org.au/~herbert/pubkey.txt --
Feb 3, 5:33 am 2009
Herbert Xu
Re: [PATCH v2] tcp: splice as many packets as possible at once
I think you've misunderstood my suggested scheme. I'm suggesting that we keep the driver initialisation path as is, so however many skb's the driver is allocating at open() time remains unchanged. Usually this would be the number of entries on the ring buffer. We can't do any better than that since if the hardware can't do SG then you'll just have to find this many contiguous buffers. The only change we need to make is at receive time. Instead of always pushing the received skb into the ...
Feb 3, 5:12 am 2009
Evgeniy Polyakov
Re: [PATCH v2] tcp: splice as many packets as possible at once
NTA steals pages from the SLAB so we can maintain any reference counter logic in them, so linear part of the skb may be not really freed/reused until reference counter hits zero. -- Evgeniy Polyakov --
Feb 3, 6:06 am 2009
Nick Piggin
Re: [PATCH v2] tcp: splice as many packets as possible at once
This sounds like a really nice idea (to the layman)! --
Feb 3, 5:33 am 2009
Herbert Xu
Re: [PATCH v2] tcp: splice as many packets as possible at once
Not to mention that Ethernet isn't just IP, so the protocol that is being used might not have a concept of path MTU discovery at all. Cheers, -- Visit Openswan at http://www.openswan.org/ Email: Herbert Xu ~{PmV>HI~} <herbert@gondor.apana.org.au> Home Page: http://gondor.apana.org.au/~herbert/ PGP Key: http://gondor.apana.org.au/~herbert/pubkey.txt --
Feb 3, 5:28 am 2009
Evgeniy Polyakov
Re: [PATCH v2] tcp: splice as many packets as possible at once
It depends on the implementation, for example each kfree() may check the reference counter and return page to the allocator when it is really free. Since page may contiain multiple objects its reference counter may hit zero someday in the future, or never reach it if data was not freed. -- Evgeniy Polyakov --
Feb 3, 7:20 am 2009
Jarek Poplawski
Re: [PATCH v2] tcp: splice as many packets as possible at once
I guess compound pages are handled by put_page() enough, but I don't think they should be main argument here, and I agree: scatter gather I'm a bit lost here: could you "remind" the way page space would be Yes, this looks reasonable. On the other hand, I think it would be nice to get some opinions of slab folks (incl. Evgeniy) on the expected efficiency of such a solution. (It seems releasing with put_page() will always have some cost with delayed reusing and/or waste of space.) Jarek ...
Feb 3, 2:41 am 2009
Evgeniy Polyakov
Re: [PATCH v2] tcp: splice as many packets as possible at once
Problem is to allocate them, since with the time memory will be quite fragmented, which will not allow to find a big enough page. NTA tried to solve this by not allowing to free the data allocated on the different CPU, contrary to what SLAB does. Modulo cache coherency improvements, it allows to combine freed chunks back into the pages and combine them in turn to get bigger contiguous areas suitable for the drivers which were not converted to use the scatter gather approach. I even believe ...
Feb 3, 4:10 am 2009
Herbert Xu
Re: [PATCH v2] tcp: splice as many packets as possible at once
Not necessarily. Even if the hardware can only DMA into contiguous memory, we can always allocate a sufficient number of contiguous buffers initially, and then always copy them into fragmented skbs at receive time. This way the contiguous buffers are never depleted. Granted copying sucks, but this is really because the underlying hardware is badly designed. Also copying is way better than not receiving at all due to memory fragmentation. Cheers, -- Visit Openswan at ...
Feb 3, 4:24 am 2009
Evgeniy Polyakov
Re: [PATCH v2] tcp: splice as many packets as possible at once
How many? A hundred or so descriptors (or even several thousands) - this really does not scale for the somewhat loaded IO servers, that's why we frequently get questions why dmesg is filler with order-3 and Having a 'reserve' skb per socket is a good idea, but what if numbr of sockets is way too big? -- Evgeniy Polyakov --
Feb 3, 5:07 am 2009
Evgeniy Polyakov
Re: [PATCH v2] tcp: splice as many packets as possible at once
It is a solution, but I think it will behave noticebly worse than That's the main point: how to deal with broken hardware? I think (but have no strong numbers though) that having 6 packets with 1500 MTU combined into GRO/LRO frame will be processed way faster than copying 9k MTU into 3 pages and process single skb. -- Evgeniy Polyakov --
Feb 3, 5:12 am 2009
Evgeniy Polyakov
Re: [PATCH v2] tcp: splice as many packets as possible at once
I agree that this will work and will be better than nothing, but copying 9kb into 3 pages is rather CPU hungry operation, and I think (but have no numbers though) that system will behave faster if MTU is reduced to the standard one. Another solution is to have a proper allocator which will be able to defragment the data, if talking about the alternatives to the drop. So: 1. copy the whole jumbo skb into fragmented one 2. reduce the MTU 3. rely on the allocator For the 'good' hardware ...
Feb 3, 5:18 am 2009
Herbert Xu
Re: [PATCH v2] tcp: splice as many packets as possible at once
Not necessarily. Remember GSO/GRO in essence are just hacks to get around the fact that we can't increase the MTU to where we want it to be. MTU reduces the cost over the entire path while GRO/GSO only do so for the sender and the receiver. In other words when given the choice between a larger MTU with copying or GRO, the larger MTU will probably win anyway as it's Please note that with my scheme, you'd only start copying if you can't allocate a linear skb. So if memory fragmentation ...
Feb 3, 5:18 am 2009
Willy Tarreau
Re: [PATCH v2] tcp: splice as many packets as possible at once
Well, FWIW, I've always observed better performance with 4k MTU (4080 to be precise) than with 9K, and I think that the overhead of allocating 3 you'll not reduce MTU of established connections though. And trying to advertise MSS changes in the middle of a TCP connection is an awful Willy --
Feb 3, 5:25 am 2009
Evgeniy Polyakov
Re: [PATCH v2] tcp: splice as many packets as possible at once
Well, we both do not have the data and very likely will not change the opinions :) But we can proceed the discussion in case something interesting will appear. For example I can hack up e1000e driver to do a dumb copy of 9k each time it has received a jumbo frame and compare it with usual 1.5k MTU performance. But getting that modern CPUs are loafing with noticebly big IO chunks, this may only show that CPU was increased with the copy. Yes, absolutely. -- Evgeniy Polyakov --
Feb 3, 5:30 am 2009
Jarek Poplawski
Re: [PATCH v2] tcp: splice as many packets as possible at once
Yes, it's a problem, but I don't think the main one. Since we're currently concerned with zero-copy for splice I think we could concentrate on most common cases, and treat jumbo frames with best effort only: if there are free compound pages - fine, otherwise we I understand NTA could be better than slabs in above-mentioned cases, but I'm not sure you explaind enough your point on solving this zero-copy problem vs. NTA? Jarek P. --
Feb 3, 5:36 am 2009
previous daytodaynext day
February 2, 2009February 3, 2009February 4, 2009