* Re: [PATCH v2 net-next] net: introduce gro_frag_list_enable sysctl
From: David Miller @ 2013-10-29 23:44 UTC (permalink / raw)
To: eric.dumazet; +Cc: christoph.paasch, herbert, netdev, hkchu, mwdalton
In-Reply-To: <1383059555.5464.33.camel@edumazet-glaptop.roam.corp.google.com>
From: Eric Dumazet <eric.dumazet@gmail.com>
Date: Tue, 29 Oct 2013 08:12:35 -0700
> From: Eric Dumazet <edumazet@google.com>
>
> Christoph Paasch and Jerry Chu reported crashes in skb_segment() caused
> by commit 8a29111c7ca6 ("net: gro: allow to build full sized skb")
>
> (Jerry is working on adding native GRO support for tunnels)
>
> skb_segment() only deals with a frag_list chain containing MSS sized
> fragments.
>
> This patch adds support any kind of frag, and adds a new sysctl,
> as clearly the GRO layer should avoid building frag_list skbs
> on a router, as the segmentation is adding cpu overhead.
>
> Note that we could try to reuse page fragments instead of doing
> copy to linear skbs, but this requires a fair amount of work,
> and possible truesize nightmares, as we do not track individual
> (per page fragment) truesizes.
>
> /proc/sys/net/core/gro_frag_list_enable possible values are :
>
> 0 : GRO layer is not allowed to use frag_list to extend skb capacity
> 1 : GRO layer is allowed to use frag_list, but skb_segment()
> automatically sets the sysctl to 0.
> 2 : GRO is allowed to use frag_list, and skb_segment() wont
> clear the sysctl.
>
> Default value is 1 : automatic discovery
>
> Reported-by: Christoph Paasch <christoph.paasch@uclouvain.be>
> Reported-by: Jerry Chu <hkchu@google.com>
> Cc: Michael Dalton <mwdalton@google.com>
> Signed-off-by: Eric Dumazet <edumazet@google.com>
> ---
> v2: added missing sysctl definition in skbuff.c
I do not like the idea of packet actions indirectly changing sysctl
values, even if you document it sufficiently as you have here.
Plus this puts the sysctl change logic in a fast path.
I would suggest instead making it change in response to changes to
ip_forward, as we do with per-device LRO settings. This means that,
like ip_forward, you should also make this sysctl a global + devinet
per-device sysctl.
You might even emit a pr_info() when this logic triggers, and if you
are ambitious enough keep track of the previous GRO sysctl state so
you can restore it if ip_forward is set back to zero.
Thanks.
^ permalink raw reply
* Re: [PATCH] mvneta: remove double validation of mac address
From: Thomas Petazzoni @ 2013-10-29 23:35 UTC (permalink / raw)
To: Laurent Navet; +Cc: netdev, linux-kernel
In-Reply-To: <1383081906-12342-1-git-send-email-laurent.navet@gmail.com>
Dear Laurent Navet,
On Tue, 29 Oct 2013 22:25:06 +0100, Laurent Navet wrote:
> Mac address validity is already checked in of_get_mac_address().
> No need to do it twice.
>
> Signed-off-by: Laurent Navet <laurent.navet@gmail.com>
Thanks, but an identical patch has been posted by Luka Perkov
<luka@openwrt.org> just a few days ago. See
http://www.spinics.net/lists/netdev/msg255454.html.
Thanks,
Thomas
--
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com
^ permalink raw reply
* Re: [PATCH net-next] xen-netback: allocate xenvif arrays using vzalloc.
From: Eric Dumazet @ 2013-10-29 23:32 UTC (permalink / raw)
To: Joby Poriyath
Cc: netdev, wei.liu2, ian.campbell, xen-devel, andrew.bennieston,
david.vrabel, malcolm.crossley
In-Reply-To: <1383089055.4176.1.camel@edumazet-glaptop.roam.corp.google.com>
On Tue, 2013-10-29 at 16:24 -0700, Eric Dumazet wrote:
> On Tue, 2013-10-29 at 18:46 +0000, Joby Poriyath wrote:
> > On Tue, Oct 29, 2013 at 08:43:50AM -0700, Eric Dumazet wrote:
> > > On Tue, 2013-10-29 at 15:27 +0000, Joby Poriyath wrote:
> > > > This will reduce memory pressure when allocating struct xenvif.
> > > >
> > > > The size of xenvif struct has increased from 168 to 36632 bytes (on x86-32).
> > > > See commit b3f980bd827e6e81a050c518d60ed7811a83061d. This resulted in
> > > > occasional netdev allocation failure in dom0 with 752MiB RAM, due to
> > > > fragmented memory.
> > >
> > > This looks overkill.
> > >
> > > Replacing a single allocation of ~36 KB into 5 vmalloc() looks like you
> > > did not really tried other things...
> > >
> > > This should be done generically in alloc_netdev_mqs()
> >
> > Sorry Eric, I didn't quite understand how this can be generically done.
> >
> > The netback interfaces are tied to the Xen guests (VMs) and these are created
> > when guests are started and deleted when guest are halted.
>
> They are created by alloc_netdev_mqs()
Something like the following should be fine.
diff --git a/net/core/dev.c b/net/core/dev.c
index 0054c8c..874a57a 100644
--- a/net/core/dev.c
+++ b/net/core/dev.c
@@ -6239,7 +6239,9 @@ struct net_device *alloc_netdev_mqs(int sizeof_priv, const char *name,
/* ensure 32-byte alignment of whole construct */
alloc_size += NETDEV_ALIGN - 1;
- p = kzalloc(alloc_size, GFP_KERNEL);
+ p = kzalloc(alloc_size, GFP_KERNEL | __GFP_NOWARN | __GFP_REPEAT);
+ if (!p)
+ p = vzalloc(alloc_size);
if (!p)
return NULL;
@@ -6302,7 +6304,10 @@ free_pcpu:
#endif
free_p:
- kfree(p);
+ if (is_vmalloc_addr(p))
+ vfree(p);
+ else
+ kfree(p);
return NULL;
}
EXPORT_SYMBOL(alloc_netdev_mqs);
@@ -6339,7 +6344,12 @@ void free_netdev(struct net_device *dev)
/* Compatibility with error handling in drivers */
if (dev->reg_state == NETREG_UNINITIALIZED) {
- kfree((char *)dev - dev->padded);
+ char *addr = (char *)dev - dev->padded;
+
+ if (is_vmalloc_addr(addr))
+ vfree(addr);
+ else
+ kfree(addr);
return;
}
diff --git a/net/core/net-sysfs.c b/net/core/net-sysfs.c
index d954b56..406c54b 100644
--- a/net/core/net-sysfs.c
+++ b/net/core/net-sysfs.c
@@ -1259,11 +1259,16 @@ exit:
static void netdev_release(struct device *d)
{
struct net_device *dev = to_net_dev(d);
+ char *addr;
BUG_ON(dev->reg_state != NETREG_RELEASED);
kfree(dev->ifalias);
- kfree((char *)dev - dev->padded);
+ addr = (char *)dev - dev->padded;
+ if (is_vmalloc_addr(addr))
+ vfree(addr);
+ else
+ kfree(addr);
}
static const void *net_namespace(struct device *d)
^ permalink raw reply related
* patch "mdio_bus: convert bus code to use dev_groups" added to driver-core tree
From: gregkh @ 2013-10-29 23:25 UTC (permalink / raw)
To: gregkh, broonie, davem, nbowler, netdev
This is a note to let you know that I've just added the patch titled
mdio_bus: convert bus code to use dev_groups
to my driver-core git tree which can be found at
git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core.git
in the driver-core-next branch.
The patch will show up in the next release of the linux-next tree
(usually sometime within the next 24 hours during the week.)
The patch will also be merged in the next major kernel release
during the merge window.
If you have any questions about this process, please let me know.
>From 4192c74940e23da727eb02b7b4ee779dde2f670a Mon Sep 17 00:00:00 2001
From: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Date: Sun, 6 Oct 2013 23:55:41 -0700
Subject: mdio_bus: convert bus code to use dev_groups
The dev_attrs field of struct bus_type is going away soon, dev_groups
should be used instead. This converts the MDIO bus code to use the
correct field.
Cc: David S. Miller <davem@davemloft.net>
Cc: Mark Brown <broonie@opensource.wolfsonmicro.com>
Cc: Nick Bowler <nbowler@elliptictech.com>
Cc: <netdev@vger.kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
---
drivers/net/phy/mdio_bus.c | 10 ++++++----
1 file changed, 6 insertions(+), 4 deletions(-)
diff --git a/drivers/net/phy/mdio_bus.c b/drivers/net/phy/mdio_bus.c
index dc920974..56178761 100644
--- a/drivers/net/phy/mdio_bus.c
+++ b/drivers/net/phy/mdio_bus.c
@@ -438,17 +438,19 @@ phy_id_show(struct device *dev, struct device_attribute *attr, char *buf)
return sprintf(buf, "0x%.8lx\n", (unsigned long)phydev->phy_id);
}
+static DEVICE_ATTR_RO(phy_id);
-static struct device_attribute mdio_dev_attrs[] = {
- __ATTR_RO(phy_id),
- __ATTR_NULL
+static struct attribute *mdio_dev_attrs[] = {
+ &dev_attr_phy_id.attr,
+ NULL,
};
+ATTRIBUTE_GROUPS(mdio_dev);
struct bus_type mdio_bus_type = {
.name = "mdio_bus",
.match = mdio_bus_match,
.pm = MDIO_BUS_PM_OPS,
- .dev_attrs = mdio_dev_attrs,
+ .dev_groups = mdio_dev_groups,
};
EXPORT_SYMBOL(mdio_bus_type);
--
1.8.4.3.gca3854a
^ permalink raw reply related
* Re: [PATCH net-next] xen-netback: allocate xenvif arrays using vzalloc.
From: Eric Dumazet @ 2013-10-29 23:24 UTC (permalink / raw)
To: Joby Poriyath
Cc: netdev, wei.liu2, ian.campbell, xen-devel, andrew.bennieston,
david.vrabel, malcolm.crossley
In-Reply-To: <20131029184647.GA3261@citrix.com>
On Tue, 2013-10-29 at 18:46 +0000, Joby Poriyath wrote:
> On Tue, Oct 29, 2013 at 08:43:50AM -0700, Eric Dumazet wrote:
> > On Tue, 2013-10-29 at 15:27 +0000, Joby Poriyath wrote:
> > > This will reduce memory pressure when allocating struct xenvif.
> > >
> > > The size of xenvif struct has increased from 168 to 36632 bytes (on x86-32).
> > > See commit b3f980bd827e6e81a050c518d60ed7811a83061d. This resulted in
> > > occasional netdev allocation failure in dom0 with 752MiB RAM, due to
> > > fragmented memory.
> >
> > This looks overkill.
> >
> > Replacing a single allocation of ~36 KB into 5 vmalloc() looks like you
> > did not really tried other things...
> >
> > This should be done generically in alloc_netdev_mqs()
>
> Sorry Eric, I didn't quite understand how this can be generically done.
>
> The netback interfaces are tied to the Xen guests (VMs) and these are created
> when guests are started and deleted when guest are halted.
They are created by alloc_netdev_mqs()
>
> >
> > Take a look at commit 60877a32bce00041
> > ("net: allow large number of tx queues")
> >
>
> I could try allocating using kmalloc and if that fails, then fall back
> to vmalloc.
My point is the patch should be done in net/core, not in your driver.
^ permalink raw reply
* Re: [PATCH 1/4 net-next] net: phy: add Generic Netlink Ethernet switch configuration API
From: Maxime Bizon @ 2013-10-29 23:12 UTC (permalink / raw)
To: Jamal Hadi Salim
Cc: Felix Fietkau, Florian Fainelli, Neil Horman, John Fastabend,
netdev, David Miller, Sascha Hauer, John Crispin, Jonas Gorski,
Gary Thomas, Vlad Yasevich, Stephen Hemminger
In-Reply-To: <5267C6B9.4000704@mojatatu.com>
On Wed, 2013-10-23 at 08:53 -0400, Jamal Hadi Salim wrote:
> So exposing the 5-8 ports as netdevs would be useful. Giving access to
> their stats through per-port netdevs etc. i.e a switch/bridge will
While the intent is to make it look familiar to users, IMO this breaks
the rule of the least surprise.
>From a user POV, when you see a netdevice, you expect to be able to
receive or send packets from/to it. The ability to read stats/link is
only a secondary feature.
Wireless subsystem moved away from using dummy/additional netdevices
because it caused confusion.
multiqueue devices forced us to separate struct netdevice and struct
netdev_queue, maybe it's time for more surgery :)
--
Maxime
^ permalink raw reply
* [PATCH v2] arc_emac: drop redundant mac address check
From: Luka Perkov @ 2013-10-29 23:11 UTC (permalink / raw)
To: netdev; +Cc: Luka Perkov, Alexey Brodkin, David Miller
Checking if MAC address is valid using is_valid_ether_addr() is already done in
of_get_mac_address(). While at it, reorganize checking so it matches checks in
other drivers.
Signed-off-by: Luka Perkov <luka@openwrt.org>
CC: Alexey Brodkin <Alexey.Brodkin@synopsys.com>
CC: David Miller <davem@davemloft.net>
---
v1->v2:
* cosmetic commit message fix based on comment from David Miller
---
drivers/net/ethernet/arc/emac_main.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/drivers/net/ethernet/arc/emac_main.c b/drivers/net/ethernet/arc/emac_main.c
index 9e16014..d818ded 100644
--- a/drivers/net/ethernet/arc/emac_main.c
+++ b/drivers/net/ethernet/arc/emac_main.c
@@ -725,10 +725,10 @@ static int arc_emac_probe(struct platform_device *pdev)
/* Get MAC address from device tree */
mac_addr = of_get_mac_address(pdev->dev.of_node);
- if (!mac_addr || !is_valid_ether_addr(mac_addr))
- eth_hw_addr_random(ndev);
- else
+ if (mac_addr)
memcpy(ndev->dev_addr, mac_addr, ETH_ALEN);
+ else
+ eth_hw_addr_random(ndev);
dev_info(&pdev->dev, "MAC address is now %pM\n", ndev->dev_addr);
--
1.8.4.2
^ permalink raw reply related
* [PATCH v2] mvneta: drop redundant mac address check
From: Luka Perkov @ 2013-10-29 23:10 UTC (permalink / raw)
To: netdev; +Cc: Luka Perkov, David Miller
Checking if MAC address is valid using is_valid_ether_addr() is already done in
of_get_mac_address().
Signed-off-by: Luka Perkov <luka@openwrt.org>
Acked-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
CC: David Miller <davem@davemloft.net>
---
v1->v2:
* cosmetic commit message fix based on comment from David Miller
---
drivers/net/ethernet/marvell/mvneta.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/net/ethernet/marvell/mvneta.c b/drivers/net/ethernet/marvell/mvneta.c
index e35bac7..7d99e695 100644
--- a/drivers/net/ethernet/marvell/mvneta.c
+++ b/drivers/net/ethernet/marvell/mvneta.c
@@ -2811,7 +2811,7 @@ static int mvneta_probe(struct platform_device *pdev)
}
dt_mac_addr = of_get_mac_address(dn);
- if (dt_mac_addr && is_valid_ether_addr(dt_mac_addr)) {
+ if (dt_mac_addr) {
mac_from = "device tree";
memcpy(dev->dev_addr, dt_mac_addr, ETH_ALEN);
} else {
--
1.8.4.2
^ permalink raw reply related
* [PATCH v2] octeon_mgmt: drop redundant mac address check
From: Luka Perkov @ 2013-10-29 23:09 UTC (permalink / raw)
To: netdev; +Cc: Luka Perkov, David Miller
Checking if MAC address is valid using is_valid_ether_addr() is already done in
of_get_mac_address().
Signed-off-by: Luka Perkov <luka@openwrt.org>
Acked-by: David Daney <david.daney@cavium.com>
CC: David Miller <davem@davemloft.net>
---
v1->v2:
* cosmetic commit message fix based on comment from David Miller
---
drivers/net/ethernet/octeon/octeon_mgmt.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/net/ethernet/octeon/octeon_mgmt.c b/drivers/net/ethernet/octeon/octeon_mgmt.c
index 622aa75..1b326cbc 100644
--- a/drivers/net/ethernet/octeon/octeon_mgmt.c
+++ b/drivers/net/ethernet/octeon/octeon_mgmt.c
@@ -1545,7 +1545,7 @@ static int octeon_mgmt_probe(struct platform_device *pdev)
mac = of_get_mac_address(pdev->dev.of_node);
- if (mac && is_valid_ether_addr(mac))
+ if (mac)
memcpy(netdev->dev_addr, mac, ETH_ALEN);
else
eth_hw_addr_random(netdev);
--
1.8.4.2
^ permalink raw reply related
* Re: [net-next 11/11] i40e: fix error return code in i40e_probe()
From: Joe Perches @ 2013-10-29 23:02 UTC (permalink / raw)
To: David Miller; +Cc: jeffrey.t.kirsher, yongjun_wei, netdev, gospo, sassmann
In-Reply-To: <20131029.185722.1940335622558600585.davem@davemloft.net>
On Tue, 2013-10-29 at 18:57 -0400, David Miller wrote:
> From: Joe Perches <joe@perches.com>
> > On Tue, 2013-10-29 at 05:02 -0700, Jeff Kirsher wrote:
> >> Fix to return -ENOMEM in the memory alloc error handling
> >> case instead of 0, as done elsewhere in this function.
> > trivial note:
> >> diff --git a/drivers/net/ethernet/intel/i40e/i40e_main.c b/drivers/net/ethernet/intel/i40e/i40e_main.c
> > []
> >> @@ -7204,8 +7204,10 @@ static int i40e_probe(struct pci_dev *pdev, const struct pci_device_id *ent)
> >> */
> >> len = sizeof(struct i40e_vsi *) * pf->hw.func_caps.num_vsis;
> >> pf->vsi = kzalloc(len, GFP_KERNEL);
> >> - if (!pf->vsi)
> >> + if (!pf->vsi) {
> >> + err = -ENOMEM;
> >> goto err_switch_setup;
> >> + }
> >
> > This might be better as:
> >
> > pf->vsi = kcalloc(pf->hw.func_caps.num_vsis, struct i40e_vsi *),
> > GFP_KERNEL);
> >
> > and removing the now unused u32 len; declaration.
>
> Agreed but that's a follow-on patch rather than something to block this
> pull request.
I don't think any trivial note should block anything
and if a submitter wants to update it later that's
just fine.
^ permalink raw reply
* Re: [net-next 00/11][pull request] Intel Wired LAN Driver Updates
From: David Miller @ 2013-10-29 22:58 UTC (permalink / raw)
To: jeffrey.t.kirsher; +Cc: netdev, gospo, sassmann
In-Reply-To: <1383048151-15002-1-git-send-email-jeffrey.t.kirsher@intel.com>
From: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Date: Tue, 29 Oct 2013 05:02:20 -0700
> This series contains updates to vxlan, net, ixgbe, ixgbevf, and i40e.
Pulled, thanks a lot Jeff.
^ permalink raw reply
* Re: [net-next 11/11] i40e: fix error return code in i40e_probe()
From: David Miller @ 2013-10-29 22:57 UTC (permalink / raw)
To: joe; +Cc: jeffrey.t.kirsher, yongjun_wei, netdev, gospo, sassmann
In-Reply-To: <1383066330.2713.20.camel@joe-AO722>
From: Joe Perches <joe@perches.com>
Date: Tue, 29 Oct 2013 10:05:30 -0700
> On Tue, 2013-10-29 at 05:02 -0700, Jeff Kirsher wrote:
>> Fix to return -ENOMEM in the memory alloc error handling
>> case instead of 0, as done elsewhere in this function.
>
> trivial note:
>
>> diff --git a/drivers/net/ethernet/intel/i40e/i40e_main.c b/drivers/net/ethernet/intel/i40e/i40e_main.c
> []
>> @@ -7204,8 +7204,10 @@ static int i40e_probe(struct pci_dev *pdev, const struct pci_device_id *ent)
>> */
>> len = sizeof(struct i40e_vsi *) * pf->hw.func_caps.num_vsis;
>> pf->vsi = kzalloc(len, GFP_KERNEL);
>> - if (!pf->vsi)
>> + if (!pf->vsi) {
>> + err = -ENOMEM;
>> goto err_switch_setup;
>> + }
>
> This might be better as:
>
> pf->vsi = kcalloc(pf->hw.func_caps.num_vsis, struct i40e_vsi *),
> GFP_KERNEL);
>
> and removing the now unused u32 len; declaration.
Agreed but that's a follow-on patch rather than something to block this
pull request.
^ permalink raw reply
* Re: [PATCH v3 0/4] Fix MDIO bus timeout issues on Dreamplug
From: David Miller @ 2013-10-29 22:54 UTC (permalink / raw)
To: leigh
Cc: thomas.petazzoni, sebastian.hesselbarth, netdev, linux-arm-kernel,
jason
In-Reply-To: <cover.1383038973.git.leigh@solinno.co.uk>
From: Leigh Brown <leigh@solinno.co.uk>
Date: Tue, 29 Oct 2013 09:33:30 +0000
> I think I have addressed all comments.
>
> Changes since v2:
> - Fix coding style in ordio_mdio_wait_ready, as identified by David
> - Remove un-needed operator change in orion_mdio_write, as identified by David
>
> This patchset fixes an issue with the Dreamplug MDIO bus timeout since the
> mv643xx_eth driver was converted to use the mvmdio driver to access the bus.
Series applied to net-next, thanks.
^ permalink raw reply
* [PATCH v2 12/19] irda: sh_irda: Enable the driver on all ARM platforms
From: Laurent Pinchart @ 2013-10-29 22:37 UTC (permalink / raw)
To: linux-sh; +Cc: linux-arm-kernel, Samuel Ortiz, netdev
In-Reply-To: <1383086274-11049-1-git-send-email-laurent.pinchart+renesas@ideasonboard.com>
Renesas ARM platforms are transitioning from single-platform to
multi-platform kernels using the new ARCH_SHMOBILE_MULTI. Make the
driver available on all ARM platforms to enable it on both ARCH_SHMOBILE
and ARCH_SHMOBILE_MULTI, and increase build testing coverage with
COMPILE_TEST.
Cc: Samuel Ortiz <samuel@sortiz.org>
Cc: netdev@vger.kernel.org
Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
---
drivers/net/irda/Kconfig | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/net/irda/Kconfig b/drivers/net/irda/Kconfig
index 2a30193..e04b907 100644
--- a/drivers/net/irda/Kconfig
+++ b/drivers/net/irda/Kconfig
@@ -403,7 +403,7 @@ config MCS_FIR
config SH_IRDA
tristate "SuperH IrDA driver"
- depends on IRDA && ARCH_SHMOBILE
+ depends on IRDA && (ARM || COMPILE_TEST)
help
Say Y here if your want to enable SuperH IrDA devices.
--
1.8.1.5
^ permalink raw reply related
* [PATCH v2 11/19] net: sh_eth: Set receive alignment correctly on all ARM platforms
From: Laurent Pinchart @ 2013-10-29 22:37 UTC (permalink / raw)
To: linux-sh; +Cc: linux-arm-kernel, David S. Miller, Sergei Shtylyov, netdev
In-Reply-To: <1383086274-11049-1-git-send-email-laurent.pinchart+renesas@ideasonboard.com>
Renesas ARM platforms are transitioning from single-platform to
multi-platform kernels using the new ARCH_SHMOBILE_MULTI. Configure the
receive alignement correctly on all ARM platforms to enable the driver
on both ARCH_SHMOBILE and ARCH_SHMOBILE_MULTI.
Cc: "David S. Miller" <davem@davemloft.net>
Cc: Sergei Shtylyov <sergei.shtylyov@cogentembedded.com>
Cc: netdev@vger.kernel.org
Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
---
drivers/net/ethernet/renesas/sh_eth.c | 2 +-
drivers/net/ethernet/renesas/sh_eth.h | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/drivers/net/ethernet/renesas/sh_eth.c b/drivers/net/ethernet/renesas/sh_eth.c
index b57c278..990fd5b 100644
--- a/drivers/net/ethernet/renesas/sh_eth.c
+++ b/drivers/net/ethernet/renesas/sh_eth.c
@@ -809,7 +809,7 @@ out:
return ret;
}
-#if defined(CONFIG_CPU_SH4) || defined(CONFIG_ARCH_SHMOBILE)
+#if defined(CONFIG_CPU_SH4) || defined(CONFIG_ARM)
static void sh_eth_set_receive_align(struct sk_buff *skb)
{
int reserve;
diff --git a/drivers/net/ethernet/renesas/sh_eth.h b/drivers/net/ethernet/renesas/sh_eth.h
index a0db02c..41509f7 100644
--- a/drivers/net/ethernet/renesas/sh_eth.h
+++ b/drivers/net/ethernet/renesas/sh_eth.h
@@ -165,7 +165,7 @@ enum {
};
/* Driver's parameters */
-#if defined(CONFIG_CPU_SH4) || defined(CONFIG_ARCH_SHMOBILE)
+#if defined(CONFIG_CPU_SH4) || defined(CONFIG_ARM)
#define SH4_SKB_RX_ALIGN 32
#else
#define SH2_SH3_SKB_RX_ALIGN 2
--
1.8.1.5
^ permalink raw reply related
* [PATCH v2 00/19] Enable various Renesas drivers on all ARM platforms
From: Laurent Pinchart @ 2013-10-29 22:37 UTC (permalink / raw)
To: linux-sh-u79uwXL29TY76Z2rM5mHXA
Cc: linux-fbdev-u79uwXL29TY76Z2rM5mHXA, Wolfram Sang, Linus Walleij,
Guennadi Liakhovetski, Thierry Reding,
linux-mtd-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r,
linux-i2c-u79uwXL29TY76Z2rM5mHXA, Vinod Koul, Magnus Damm,
Eduardo Valentin, Tomi Valkeinen,
linux-serial-u79uwXL29TY76Z2rM5mHXA,
linux-input-u79uwXL29TY76Z2rM5mHXA, Zhang Rui, Chris Ball,
Jean-Christophe Plagniol-Villard,
linux-media-u79uwXL29TY76Z2rM5mHXA,
linux-pwm-u79uwXL29TY76Z2rM5mHXA, Samuel Ortiz,
linux-pm-u79uwXL29TY76Z2rM5mHXA, Ian Molton, Mark Brown,
linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r,
Sergei Shtylyov, Greg
Hello,
This patch series, based on v3.12-rc7, prepares various Renesas drivers
for migration to multiplatform kernels by enabling their compilation or
otherwise fixing them on all ARM platforms. The patches are pretty
straightforward and are described in their commit message.
Changes since v1:
- The drivers can also be selected when COMPILE_TEST is enabled, regardless of
the architecture. This should provide a good compromise between wide build
test coverage and not clobbering configuration with drivers useless on
non-SuperH, non-ARM platforms.
- DMA configuration is now unconditional in patch 08/19
I'd like to get all these patches merged in v3.14. As they will need to go
through their respective subsystems' trees, I would appreciate if all
maintainers involved could notify me when they merge patches from this series
in their tree to help me tracking the merge status. I don't plan to send pull
requests individually for these patches, and I will repost patches
individually if changes are requested during review.
If you believe the issue should be solved in a different way please reply to
the cover letter to let other maintainers chime in.
Cc: Chris Ball <cjb-2X9k7bc8m7Mdnm+yROfE0A@public.gmane.org>
Cc: "David S. Miller" <davem-fT/PcQaiUtIeIZ0/mPfg9Q@public.gmane.org>
Cc: David Woodhouse <dwmw2-wEGCiKHe2LqWVfeAwA7xHQ@public.gmane.org>
Cc: Dmitry Torokhov <dmitry.torokhov-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
Cc: Eduardo Valentin <eduardo.valentin-l0cyMroinI0@public.gmane.org>
Cc: Greg Kroah-Hartman <gregkh-hQyY1W1yCW8ekmWlsbkhG0B+6BGkLq7r@public.gmane.org>
Cc: Guennadi Liakhovetski <g.liakhovetski+renesas-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
Cc: Ian Molton <ian-zdned+2MO1+9FHfhHBbuYA@public.gmane.org>
Cc: iommu-cunTk1MwBs9QetFLy7KEm3xJsTq8ys+cHZ5vskTnxNA@public.gmane.org
Cc: Jean-Christophe Plagniol-Villard <plagnioj-sclMFOaUSTBWk0Htik3J/w@public.gmane.org>
Cc: Joerg Roedel <joro-zLv9SwRftAIdnm+yROfE0A@public.gmane.org>
Cc: Linus Walleij <linus.walleij-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org>
Cc: Magnus Damm <magnus.damm-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
Cc: Mark Brown <broonie-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>
Cc: Mauro Carvalho Chehab <m.chehab-Sze3O3UU22JBDgjK7y7TUQ@public.gmane.org>
Cc: Samuel Ortiz <samuel-jcdQHdrhKHMdnm+yROfE0A@public.gmane.org>
Cc: Sergei Shtylyov <sergei.shtylyov-M4DtvfQ/ZS1MRgGoP+s0PdBPR1lH4CV8@public.gmane.org>
Cc: Thierry Reding <thierry.reding-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
Cc: Tomi Valkeinen <tomi.valkeinen-l0cyMroinI0@public.gmane.org>
Cc: Vinod Koul <vinod.koul-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
Cc: Wolfram Sang <wsa-z923LK4zBo2bacvFa/9K2g@public.gmane.org>
Cc: Zhang Rui <rui.zhang-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
Cc: dmaengine-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
Cc: linux-fbdev-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
Cc: linux-i2c-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
Cc: linux-input-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
Cc: linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
Cc: linux-media-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
Cc: linux-mmc-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
Cc: linux-mtd-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org
Cc: linux-pm-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
Cc: linux-pwm-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
Cc: linux-serial-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
Cc: linux-spi-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
Cc: netdev-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
Laurent Pinchart (19):
serial: sh-sci: Enable the driver on all ARM platforms
DMA: shdma: Enable the driver on all ARM platforms
i2c: sh_mobile: Enable the driver on all ARM platforms
input: sh_keysc: Enable the driver on all ARM platforms
iommu: shmobile: Enable the driver on all ARM platforms
i2c: rcar: Enable the driver on all ARM platforms
v4l: sh_vou: Enable the driver on all ARM platforms
mmc: sdhi: Enable the driver on all ARM platforms
mmc: sh_mmcif: Enable the driver on all ARM platforms
mtd: sh_flctl: Enable the driver on all ARM platforms
net: sh_eth: Set receive alignment correctly on all ARM platforms
irda: sh_irda: Enable the driver on all ARM platforms
pinctrl: sh-pfc: Enable the driver on all ARM platforms
pwm: pwm-renesas-tpu: Enable the driver on all ARM platforms
sh: intc: Enable the driver on all ARM platforms
spi: sh_msiof: Enable the driver on all ARM platforms
spi: sh_hspi: Enable the driver on all ARM platforms
thermal: rcar-thermal: Enable the driver on all ARM platforms
fbdev: sh-mobile-lcdcfb: Enable the driver on all ARM platforms
drivers/dma/sh/Kconfig | 2 +-
drivers/dma/sh/shdmac.c | 6 +++---
drivers/i2c/busses/Kconfig | 4 ++--
drivers/input/keyboard/Kconfig | 2 +-
drivers/iommu/Kconfig | 2 +-
drivers/media/platform/Kconfig | 2 +-
drivers/mmc/host/Kconfig | 4 ++--
drivers/mmc/host/tmio_mmc_dma.c | 4 +---
drivers/mtd/nand/Kconfig | 2 +-
drivers/net/ethernet/renesas/sh_eth.c | 2 +-
drivers/net/ethernet/renesas/sh_eth.h | 2 +-
drivers/net/irda/Kconfig | 2 +-
drivers/pinctrl/Makefile | 2 +-
drivers/pinctrl/sh-pfc/Kconfig | 2 +-
drivers/pwm/Kconfig | 2 +-
drivers/sh/intc/Kconfig | 2 +-
drivers/spi/Kconfig | 4 ++--
drivers/thermal/Kconfig | 2 +-
drivers/tty/serial/Kconfig | 2 +-
drivers/video/Kconfig | 6 +++---
20 files changed, 27 insertions(+), 29 deletions(-)
--
Regards,
Laurent Pinchart
^ permalink raw reply
* [PATCH] bnx2: Use dev_kfree_skb_any() in bnx2_tx_int()
From: David Mackey @ 2013-10-29 22:16 UTC (permalink / raw)
To: mchan, netdev; +Cc: linux-kernel, David Mackey
Using dev_kfree_skb_any() will resolve the below issue when a
netconsole message is transmitted in an irq.
------------[ cut here ]------------
WARNING: at net/core/skbuff.c:451 skb_release_head_state+0x7b/0xe1()
...
Pid: 0, comm: swapper/2 Not tainted 3.4.55 #1
Call Trace:
<IRQ> [<ffffffff8104934c>] warn_slowpath_common+0x85/0x9d
[<ffffffff8104937e>] warn_slowpath_null+0x1a/0x1c
[<ffffffff81429aa7>] skb_release_head_state+0x7b/0xe1
[<ffffffff814297e1>] __kfree_skb+0x16/0x81
[<ffffffff814298a0>] consume_skb+0x54/0x69
[<ffffffffa015925b>] bnx2_tx_int.clone.6+0x1b0/0x33e [bnx2]
[<ffffffff8129c54d>] ? unmask_msi_irq+0x10/0x12
[<ffffffffa015aa06>] bnx2_poll_work+0x3a/0x73 [bnx2]
[<ffffffffa015aa73>] bnx2_poll_msix+0x34/0xb4 [bnx2]
[<ffffffff814466a2>] netpoll_poll_dev+0xb9/0x1b7
[<ffffffff814467d7>] ? find_skb+0x37/0x82
[<ffffffff814461ed>] netpoll_send_skb_on_dev+0x117/0x200
[<ffffffff81446a52>] netpoll_send_udp+0x230/0x242
[<ffffffffa0174296>] write_msg+0xa7/0xfb [netconsole]
[<ffffffff814258a4>] ? sk_free+0x1c/0x1e
[<ffffffff810495ad>] __call_console_drivers+0x7d/0x8f
[<ffffffff81049674>] _call_console_drivers+0xb5/0xd0
[<ffffffff8104a134>] console_unlock+0x131/0x219
[<ffffffff8104a7f9>] vprintk+0x3bc/0x405
[<ffffffff81460073>] ? NF_HOOK.clone.1+0x4c/0x53
[<ffffffff81460308>] ? ip_rcv+0x23c/0x268
[<ffffffff814ddd4f>] printk+0x68/0x71
[<ffffffff813315b3>] __dev_printk+0x78/0x7a
[<ffffffff813316b2>] dev_warn+0x53/0x55
[<ffffffff8127f181>] ? swiotlb_unmap_sg_attrs+0x47/0x5c
[<ffffffffa004f876>] complete_scsi_command+0x28a/0x4a0 [hpsa]
[<ffffffffa004fadb>] finish_cmd+0x4f/0x66 [hpsa]
[<ffffffffa004fd97>] process_indexed_cmd+0x48/0x54 [hpsa]
[<ffffffffa004ff25>] do_hpsa_intr_msi+0x4e/0x77 [hpsa]
[<ffffffff810baebb>] handle_irq_event_percpu+0x5e/0x1b6
[<ffffffff81088a0b>] ? timekeeping_update+0x43/0x45
[<ffffffff810bb04b>] handle_irq_event+0x38/0x54
[<ffffffff8102bd1e>] ? ack_apic_edge+0x36/0x3a
[<ffffffff810bd762>] handle_edge_irq+0xa5/0xc8
[<ffffffff81010d56>] handle_irq+0x127/0x135
[<ffffffff814e3426>] ? __atomic_notifier_call_chain+0x12/0x14
[<ffffffff814e343c>] ? atomic_notifier_call_chain+0x14/0x16
[<ffffffff814e897d>] do_IRQ+0x4d/0xb4
[<ffffffff814dffea>] common_interrupt+0x6a/0x6a
<EOI> [<ffffffff812b7603>] ? intel_idle+0xd8/0x112
[<ffffffff812b7603>] ? intel_idle+0xd8/0x112
[<ffffffff812b75e9>] ? intel_idle+0xbe/0x112
[<ffffffff814012fc>] cpuidle_enter+0x12/0x14
[<ffffffff814019c2>] cpuidle_idle_call+0xd1/0x19b
[<ffffffff81016551>] cpu_idle+0xb6/0xff
[<ffffffff814d726b>] start_secondary+0xc8/0xca
---[ end trace 3f15cd66441c770d ]---
Signed-off-by: David Mackey <tdmackey@booleanhaiku.com>
---
drivers/net/ethernet/broadcom/bnx2.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/net/ethernet/broadcom/bnx2.c b/drivers/net/ethernet/broadcom/bnx2.c
index e838a3f..372cbb5 100644
--- a/drivers/net/ethernet/broadcom/bnx2.c
+++ b/drivers/net/ethernet/broadcom/bnx2.c
@@ -2868,7 +2868,7 @@ bnx2_tx_int(struct bnx2 *bp, struct bnx2_napi *bnapi, int budget)
sw_cons = BNX2_NEXT_TX_BD(sw_cons);
tx_bytes += skb->len;
- dev_kfree_skb(skb);
+ dev_kfree_skb_any(skb);
tx_pkt++;
if (tx_pkt == budget)
break;
--
1.7.9.5
^ permalink raw reply related
* [PATCH NEXT] rtl8187: Increase RX queue depth
From: Larry Finger @ 2013-10-29 22:06 UTC (permalink / raw)
To: linville-2XuSBdqkA4R54TAoqtyWWQ
Cc: linux-wireless-u79uwXL29TY76Z2rM5mHXA, Larry Finger,
netdev-u79uwXL29TY76Z2rM5mHXA
Under heavy load, the relatively small number of RX queue entries are
completely filled. With an increase from 16 to 32 entries, this condition
rarely happens.
Signed-off-by: Larry Finger <Larry.Finger-tQ5ms3gMjBLk1uMJSBkQmQ@public.gmane.org>
---
drivers/net/wireless/rtl818x/rtl8187/dev.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/net/wireless/rtl818x/rtl8187/dev.c b/drivers/net/wireless/rtl818x/rtl8187/dev.c
index 9a6edb0..ec9aa5b 100644
--- a/drivers/net/wireless/rtl818x/rtl8187/dev.c
+++ b/drivers/net/wireless/rtl818x/rtl8187/dev.c
@@ -416,7 +416,7 @@ static int rtl8187_init_urbs(struct ieee80211_hw *dev)
struct rtl8187_rx_info *info;
int ret = 0;
- while (skb_queue_len(&priv->rx_queue) < 16) {
+ while (skb_queue_len(&priv->rx_queue) < 32) {
skb = __dev_alloc_skb(RTL8187_MAX_RX, GFP_KERNEL);
if (!skb) {
ret = -ENOMEM;
--
1.8.4
--
To unsubscribe from this list: send the line "unsubscribe linux-wireless" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
^ permalink raw reply related
* Re: [PATCH v2 2/2] net/benet: Make lancer_wait_ready() static
From: David Miller @ 2013-10-29 21:50 UTC (permalink / raw)
To: shangw; +Cc: netdev, Sathya.Perla
In-Reply-To: <1383039057-28164-2-git-send-email-shangw@linux.vnet.ibm.com>
From: Gavin Shan <shangw@linux.vnet.ibm.com>
Date: Tue, 29 Oct 2013 17:30:57 +0800
> The function needn't to be public, so to make it as static.
>
> Signed-off-by: Gavin Shan <shangw@linux.vnet.ibm.com>
Applied.
^ permalink raw reply
* Re: [PATCH v2 1/2] net/benet: Remove interface type
From: David Miller @ 2013-10-29 21:50 UTC (permalink / raw)
To: shangw; +Cc: netdev, Sathya.Perla
In-Reply-To: <1383039057-28164-1-git-send-email-shangw@linux.vnet.ibm.com>
From: Gavin Shan <shangw@linux.vnet.ibm.com>
Date: Tue, 29 Oct 2013 17:30:56 +0800
> The interface type, which is being traced by "struct be_adapter::
> if_type", isn't used currently. So we can remove that safely
> according to Sathya's comments.
>
> Signed-off-by: Gavin Shan <shangw@linux.vnet.ibm.com>
Applied.
^ permalink raw reply
* Re: [PATCH net 2/3] r8152: modify the tx flow
From: David Miller @ 2013-10-29 21:49 UTC (permalink / raw)
To: hayeswang; +Cc: netdev, nic_swsd, linux-kernel, linux-usb
In-Reply-To: <1383033377-1178-3-git-send-email-hayeswang@realtek.com>
From: Hayes Wang <hayeswang@realtek.com>
Date: Tue, 29 Oct 2013 15:56:16 +0800
> Support stopping and waking tx queue. The maximum tx queue length
> is 60.
What is so special about the number 60? It seems arbitrary, and if
it isn't arbitrary you haven't described why this value was choosen.
I've asked you politely last time around to significantly improve
the quality of your commit messages, and you haven't done this at
all.
I'm not applying any of these patches until your commit messages
properly describe your changes completely.
^ permalink raw reply
* Re: [PATCH 1/2] octeon_mgmt: remove double validation of mac address
From: David Daney @ 2013-10-29 21:45 UTC (permalink / raw)
To: Laurent Navet, Luka Perkov
Cc: davem, jiri, david.daney, wfp5p, gregkh, netdev, linux-kernel
In-Reply-To: <1383082053-12405-1-git-send-email-laurent.navet@gmail.com>
On 10/29/2013 02:27 PM, Laurent Navet wrote:
> Mac address validity is already checked in of_get_mac_address().
> No need to do it twice.
>
> Signed-off-by: Laurent Navet <laurent.navet@gmail.com>
Luka already sent this exact patch, and I acked his.
No need to do it twice.
David Daney
> ---
> drivers/net/ethernet/octeon/octeon_mgmt.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/net/ethernet/octeon/octeon_mgmt.c b/drivers/net/ethernet/octeon/octeon_mgmt.c
> index 622aa75..1b326cbc 100644
> --- a/drivers/net/ethernet/octeon/octeon_mgmt.c
> +++ b/drivers/net/ethernet/octeon/octeon_mgmt.c
> @@ -1545,7 +1545,7 @@ static int octeon_mgmt_probe(struct platform_device *pdev)
>
> mac = of_get_mac_address(pdev->dev.of_node);
>
> - if (mac && is_valid_ether_addr(mac))
> + if (mac)
> memcpy(netdev->dev_addr, mac, ETH_ALEN);
> else
> eth_hw_addr_random(netdev);
>
^ permalink raw reply
* Re: [PATCH net-next] netconsole: Convert to pr_<level>
From: David Miller @ 2013-10-29 21:43 UTC (permalink / raw)
To: joe; +Cc: netdev, linux-kernel
In-Reply-To: <1382990001.8718.4.camel@joe-AO722>
From: Joe Perches <joe@perches.com>
Date: Mon, 28 Oct 2013 12:53:21 -0700
> Use a more current logging style.
>
> Convert printks to pr_<level>.
>
> Consolidate multiple printks into a single printk to avoid
> any possible dmesg interleaving. Add a default "event" msg
> in case the listed types are ever expanded.
>
> Signed-off-by: Joe Perches <joe@perches.com>
Applied, thanks Joe.
^ permalink raw reply
* Re: 3.12-rc7 regression - network panic from ipv6
From: David Miller @ 2013-10-29 21:42 UTC (permalink / raw)
To: mroos; +Cc: hannes, linux-kernel, netdev, steffen.klassert
In-Reply-To: <alpine.SOC.1.00.1310292338010.22172@math.ut.ee>
From: Meelis Roos <mroos@linux.ee>
Date: Tue, 29 Oct 2013 23:38:28 +0200 (EET)
>> > Some bad news - in a system where 3.12-rc6 and earlier worked fine,
>> > 3.12-rc7 panics or hangs repeatedly with network traffic (torrent being
>> > good test). First there is BUG from ipv6 code, followed by panic.
>>
>> Could you do a bisect on this? There seems to be one commit for this
>> particular function _decode_session6:
>>
>> commit bafd4bd4dcfa13145db7f951251eef3e10f8c278
>> Author: Steffen Klassert <steffen.klassert@secunet.com>
>> Date: Mon Sep 9 10:38:38 2013 +0200
>>
>> xfrm: Decode sessions with output interface.
>>
>> The output interface matching does not work on forward
>> policy lookups, the output interface of the flowi is
>> always 0. Fix this by setting the output interface when
>> we decode the session.
>>
>> Maybe try to just revert this change locally and try again?
>
> Yes, just reverting this patch on top of rc7 gets rid of the problem for
> me.
Steffen please fix this or I'll have to revert.
^ permalink raw reply
* Re: Realtek RTL8102E registers
From: Francois Romieu @ 2013-10-29 21:40 UTC (permalink / raw)
To: Ivan Frederiks; +Cc: Linux r8169 crew
In-Reply-To: <526FCEAA.30102@speechpro.com>
Ivan Frederiks <frederiks@speechpro.com> :
[...]
> Maybe you have access to RTL8102E register description ?
No.
Realtek's hardware documentation policy isn't exactly opened. Your hardware
vendor may help.
[...]
> Issue description:
[snip]
kernel version and r81xx XID value as it should appear in dmesg would
be welcome.
--
Ueimor
^ permalink raw reply
page: next (older) | prev (newer) | latest
- recent:[subjects (threaded)|topics (new)|topics (active)]
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox