Re: sis190 build breakage
Sam Ravnborg wrote: On Tue, Jan 29, 2008 at 11:03:10PM +0100, Francois Romieu wrote: maximilian attems [EMAIL PROTECTED] : CC [M] drivers/net/sis190.o drivers/net/sis190.c:329: error: sis190_pci_tbl causes a section type conflict make[5]: *** [drivers/net/sis190.o] Error 1 gcc --version gcc (GCC) 4.1.2 20061115 (prerelease) (Debian 4.1.1-21) Looks like a bug where __initdata has been used for const data. Searching: static int __devinit sis190_get_mac_addr_from_apc(struct pci_dev *pdev, struct net_device *dev) { static const u16 __devinitdata ids[] = { 0x0965, 0x0966, 0x0968 }; struct sis190_private *tp = netdev_priv(dev); struct pci_dev *isa_bridge; u8 reg, tmp8; Try to change this is __initconst and it should be fixed. We have __initconst now? Three cheers, and a beer, to whomever did that... Jeff -- To unsubscribe from this list: send the line unsubscribe netdev in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html
[PATCH] [1/2] Skip empty hash buckets faster in /proc/net/tcp
On most systems most of the TCP established/time-wait hash buckets are empty. When walking the hash table for /proc/net/tcp their read locks would always be aquired just to find out they're empty. This patch changes the code to check first if the buckets have any entries before taking the lock, which is much cheaper than taking a lock. Since the hash tables are large this makes a measurable difference on processing /proc/net/tcp, especially on architectures with slow read_lock (e.g. PPC) On a 2GB Core2 system here I see a time cat /proc/net/tcp /dev/null constently dropping from 0.44s to 0.4-0.8s system time with this change. This is with mostly empty hash tables. On systems with slower atomics (like P4 or POWER4) or larger hash tables (more RAM) the difference is much higher. This can be noticeable because there are some daemons around who regularly scan /proc/net/tcp. Original idea for this patch from Marcus Meissner, but redone by me. Cc: [EMAIL PROTECTED] Signed-off-by: Andi Kleen [EMAIL PROTECTED] --- net/ipv4/tcp_ipv4.c | 30 ++ 1 file changed, 18 insertions(+), 12 deletions(-) Index: linux/net/ipv4/tcp_ipv4.c === --- linux.orig/net/ipv4/tcp_ipv4.c +++ linux/net/ipv4/tcp_ipv4.c @@ -2039,6 +2039,12 @@ static void *listening_get_idx(struct se return rc; } +static inline int empty_bucket(struct tcp_iter_state *st) +{ + return hlist_empty(tcp_hashinfo.ehash[st-bucket].chain) + hlist_empty(tcp_hashinfo.ehash[st-bucket].twchain); +} + static void *established_get_first(struct seq_file *seq) { struct tcp_iter_state* st = seq-private; @@ -2050,6 +2056,10 @@ static void *established_get_first(struc struct inet_timewait_sock *tw; rwlock_t *lock = inet_ehash_lockp(tcp_hashinfo, st-bucket); + /* Lockless fast path for the common case of empty buckets */ + if (empty_bucket(st)) + continue; + read_lock_bh(lock); sk_for_each(sk, node, tcp_hashinfo.ehash[st-bucket].chain) { if (sk-sk_family != st-family) { @@ -2097,13 +2107,15 @@ get_tw: read_unlock_bh(inet_ehash_lockp(tcp_hashinfo, st-bucket)); st-state = TCP_SEQ_STATE_ESTABLISHED; - if (++st-bucket tcp_hashinfo.ehash_size) { - read_lock_bh(inet_ehash_lockp(tcp_hashinfo, st-bucket)); - sk = sk_head(tcp_hashinfo.ehash[st-bucket].chain); - } else { - cur = NULL; - goto out; - } + /* Look for next non empty bucket */ + while (++st-bucket tcp_hashinfo.ehash_size + empty_bucket(st)) + ; + if (st-bucket = tcp_hashinfo.ehash_size) + return NULL; + + read_lock_bh(inet_ehash_lockp(tcp_hashinfo, st-bucket)); + sk = sk_head(tcp_hashinfo.ehash[st-bucket].chain); } else sk = sk_next(sk); -- To unsubscribe from this list: send the line unsubscribe netdev in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html
[IPV4] route cache: Introduce rt_genid for smooth cache invalidation
Current ip route cache implementation is not suited to large caches. We can consume a lot of CPU when cache must be invalidated, since we currently need to evict all cache entries, and this eviction is sometimes asynchronous. min_delay max_delay can somewhat control this asynchronism behavior, but whole thing is a kludge, regularly triggering infamous soft lockup messages. When entries are still in use, this also consumes a lot of ram, filling dst_garbage.list. A better scheme is to use a generation identifier on each entry, so that cache invalidation can be performed by changing the table identifier, without having to scan all entries. No more delayed flushing, no more stalling when secret_interval expires. Invalidated entries will then be freed at GC time (controled by ip_rt_gc_timeout or stress), or when an invalidated entry is found in a chain when an insert is done. Thus we keep a normal equilibrium. This patch : - renames rt_hash_rnd to rt_genid (and makes it an atomic_t) - Adds a new rt_genid field to 'struct rtable' (filling a hole on 64bit) - Checks entry-rt_genid at appropriate places : --- Readers have to ignore invalidated entries. --- Writers can delete invalidated entries. - Removes rt_flush_timer timer - Removes unused /proc/sys/net/ipv4/{min_delay,max_delay} We even reduce size of route.o # size net/ipv4/route.o textdata bss dec hex filename 200381331 160 215295419 net/ipv4/route.o.before 199911203 104 212985332 net/ipv4/route.o Next step will be to audit all rt_cache_flush(0) (aka flushes) users, see if they can be converted to invalidate the cache users. Signed-off-by: Eric Dumazet [EMAIL PROTECTED] Documentation/filesystems/proc.txt |4 include/linux/sysctl.h |4 include/net/route.h|1 net/ipv4/route.c | 209 +++ 4 files changed, 92 insertions(+), 126 deletions(-) diff --git a/Documentation/filesystems/proc.txt b/Documentation/filesystems/proc.txt index 4413a2d..11fe51c 100644 --- a/Documentation/filesystems/proc.txt +++ b/Documentation/filesystems/proc.txt @@ -1919,11 +1919,6 @@ max_size Maximum size of the routing cache. Old entries will be purged once the cache reached has this size. -max_delay, min_delay - - -Delays for flushing the routing cache. - redirect_load, redirect_number -- diff --git a/include/linux/sysctl.h b/include/linux/sysctl.h index 89faebf..bf4ae4e 100644 --- a/include/linux/sysctl.h +++ b/include/linux/sysctl.h @@ -440,8 +440,8 @@ enum enum { NET_IPV4_ROUTE_FLUSH=1, - NET_IPV4_ROUTE_MIN_DELAY=2, - NET_IPV4_ROUTE_MAX_DELAY=3, + NET_IPV4_ROUTE_MIN_DELAY=2, /* obsolete since 2.6.25 */ + NET_IPV4_ROUTE_MAX_DELAY=3, /* obsolete since 2.6.25 */ NET_IPV4_ROUTE_GC_THRESH=4, NET_IPV4_ROUTE_MAX_SIZE=5, NET_IPV4_ROUTE_GC_MIN_INTERVAL=6, diff --git a/include/net/route.h b/include/net/route.h index 4eabf00..c0675a4 100644 --- a/include/net/route.h +++ b/include/net/route.h @@ -61,6 +61,7 @@ struct rtable struct in_device*idev; + int rt_genid; unsignedrt_flags; __u16 rt_type; diff --git a/net/ipv4/route.c b/net/ipv4/route.c index 896c768..922f2ae 100644 --- a/net/ipv4/route.c +++ b/net/ipv4/route.c @@ -117,8 +117,6 @@ #define RT_GC_TIMEOUT (300*HZ) -static int ip_rt_min_delay = 2 * HZ; -static int ip_rt_max_delay = 10 * HZ; static int ip_rt_max_size; static int ip_rt_gc_timeout= RT_GC_TIMEOUT; static int ip_rt_gc_interval = 60 * HZ; @@ -133,12 +131,9 @@ static int ip_rt_mtu_expires = 10 * 60 * HZ; static int ip_rt_min_pmtu = 512 + 20 + 20; static int ip_rt_min_advmss= 256; static int ip_rt_secret_interval = 10 * 60 * HZ; -static int ip_rt_flush_expected; -static unsigned long rt_deadline; #define RTprint(a...) printk(KERN_DEBUG a) -static struct timer_list rt_flush_timer; static void rt_worker_func(struct work_struct *work); static DECLARE_DELAYED_WORK(expires_work, rt_worker_func); static struct timer_list rt_secret_timer; @@ -259,19 +254,16 @@ static inline void rt_hash_lock_init(void) static struct rt_hash_bucket *rt_hash_table; static unsignedrt_hash_mask; static unsigned intrt_hash_log; -static unsigned intrt_hash_rnd; +static atomic_trt_genid; static DEFINE_PER_CPU(struct rt_cache_stat, rt_cache_stat); #define RT_CACHE_STAT_INC(field) \ (__raw_get_cpu_var(rt_cache_stat).field++) -static int rt_intern_hash(unsigned hash, struct rtable *rth, - struct rtable **res); - static unsigned int rt_hash_code(u32 daddr, u32 saddr) { - return (jhash_2words(daddr, saddr, rt_hash_rnd) -
Re: [BUILD FAILURE]2.6.24-git6 build failure on sis190 ethernet driver
Gabriel C wrote: Kamalesh Babulal wrote: Hi, The 2.6.24-git6 kernel build fails on various x86_64 machines with the build failure drivers/net/sis190.c:329: error: sis190_pci_tbl causes a section type conflict make[2]: *** [drivers/net/sis190.o] Error 1 # gcc --version (machine1) gcc (GCC) 4.1.1 20070105 (Red Hat 4.1.1-52) # gcc --version (machine2) gcc (GCC) 4.1.1 20060525 (Red Hat 4.1.1-1) Heh :) vger.kernel.org does not like emails directly from gmail , it seems =) ( sorry for sending this 3 time now ) The following patch should fix the build failure. diff --git a/drivers/net/sis190.c b/drivers/net/sis190.c index b570402..e48e4ad 100644 --- a/drivers/net/sis190.c +++ b/drivers/net/sis190.c @@ -326,7 +326,7 @@ static const struct { { SiS 191 PCI Gigabit Ethernet adapter }, }; -static struct pci_device_id sis190_pci_tbl[] __devinitdata = { +static const struct pci_device_id sis190_pci_tbl[] __devinitdata = { { PCI_DEVICE(PCI_VENDOR_ID_SI, 0x0190), 0, 0, 0 }, { PCI_DEVICE(PCI_VENDOR_ID_SI, 0x0191), 0, 0, 1 }, { 0, }, Gabriel Hi Gabriel, Thanks, the patch fixes the build failure. -- Thanks Regards, Kamalesh Babulal, Linux Technology Center, IBM, ISTL. -- To unsubscribe from this list: send the line unsubscribe netdev in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: [BUILD FAILURE]2.6.24-git6 build failure on sis190 ethernet driver
Sam Ravnborg wrote: On Wed, Jan 30, 2008 at 09:11:36AM +0530, Kamalesh Babulal wrote: Hi, The 2.6.24-git6 kernel build fails on various x86_64 machines with the build failure drivers/net/sis190.c:329: error: sis190_pci_tbl causes a section type conflict make[2]: *** [drivers/net/sis190.o] Error 1 # gcc --version (machine1) gcc (GCC) 4.1.1 20070105 (Red Hat 4.1.1-52) # gcc --version (machine2) gcc (GCC) 4.1.1 20060525 (Red Hat 4.1.1-1) Hi Kamalesh I know another patch is circulating, but please try the following. Hi Sam, Thanks, the patch fixes the build failure. Tested-by: Kamalesh Babulal [EMAIL PROTECTED] diff --git a/drivers/net/sis190.c b/drivers/net/sis190.c index b570402..0a5e024 100644 --- a/drivers/net/sis190.c +++ b/drivers/net/sis190.c @@ -1556,7 +1556,7 @@ static int __devinit sis190_get_mac_addr_from_eeprom(struct pci_dev *pdev, static int __devinit sis190_get_mac_addr_from_apc(struct pci_dev *pdev, struct net_device *dev) { - static const u16 __devinitdata ids[] = { 0x0965, 0x0966, 0x0968 }; + static const u16 __devinitconst ids[] = { 0x0965, 0x0966, 0x0968 }; struct sis190_private *tp = netdev_priv(dev); struct pci_dev *isa_bridge; u8 reg, tmp8; It is the better fix if you can confirm it working. The section conflict issued by gcc happens because we try to mix const and non-const data in the same section. Sam -- Thanks Regards, Kamalesh Babulal, Linux Technology Center, IBM, ISTL. -- To unsubscribe from this list: send the line unsubscribe netdev in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: 2.6.24-git6 net build failure when SYSFS=n, PROC_FS=n
Randy Dunlap wrote: linux-2.6.24-git6/net/ipv4/fib_frontend.c: In function 'fib_net_init': linux-2.6.24-git6/net/ipv4/fib_frontend.c:1024: error: implicit declaration of function 'fib_proc_init' linux-2.6.24-git6/net/ipv4/fib_frontend.c: In function 'fib_net_exit': linux-2.6.24-git6/net/ipv4/fib_frontend.c:1039: error: implicit declaration of function 'fib_proc_exit' linux-2.6.24-git6/net/ipv6/sysctl_net_ipv6.c: In function 'ipv6_sysctl_net_init': linux-2.6.24-git6/net/ipv6/sysctl_net_ipv6.c:71: error: implicit declaration of function 'ipv6_route_sysctl_init' linux-2.6.24-git6/net/ipv6/sysctl_net_ipv6.c:71: warning: assignment makes pointer from integer without a cast linux-2.6.24-git6/net/ipv6/sysctl_net_ipv6.c:75: error: implicit declaration of function 'ipv6_icmp_sysctl_init' linux-2.6.24-git6/net/ipv6/sysctl_net_ipv6.c:75: warning: assignment makes pointer from integer without a cast config attached. --- ~Randy Hi, thanks for catching this. I sent a fix for these two compilation errors a few days ago. I guess they will be merged very soon by Dave. -- Daniel -- To unsubscribe from this list: send the line unsubscribe netdev in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html
[PATCH] [2/2] Remove some unnecessary gotos in established_get_first()
gcc does not generate different code for return foo vs bar = foo; goto x; x: return bar; So convert it all to direct returns for better readability. Signed-off-by: Andi Kleen [EMAIL PROTECTED] Index: linux/net/ipv4/tcp_ipv4.c === --- linux.orig/net/ipv4/tcp_ipv4.c +++ linux/net/ipv4/tcp_ipv4.c @@ -2065,8 +2065,7 @@ static void *established_get_first(struc if (sk-sk_family != st-family) { continue; } - rc = sk; - goto out; + return sk; } st-state = TCP_SEQ_STATE_TIME_WAIT; inet_twsk_for_each(tw, node, @@ -2074,13 +2073,11 @@ static void *established_get_first(struc if (tw-tw_family != st-family) { continue; } - rc = tw; - goto out; + return tw; } read_unlock_bh(lock); st-state = TCP_SEQ_STATE_ESTABLISHED; } -out: return rc; } @@ -2100,10 +2097,8 @@ get_tw: while (tw tw-tw_family != st-family) { tw = tw_next(tw); } - if (tw) { - cur = tw; - goto out; - } + if (tw) + return tw; read_unlock_bh(inet_ehash_lockp(tcp_hashinfo, st-bucket)); st-state = TCP_SEQ_STATE_ESTABLISHED; @@ -2121,16 +2116,12 @@ get_tw: sk_for_each_from(sk, node) { if (sk-sk_family == st-family) - goto found; + return sk; } st-state = TCP_SEQ_STATE_TIME_WAIT; tw = tw_head(tcp_hashinfo.ehash[st-bucket].twchain); goto get_tw; -found: - cur = sk; -out: - return cur; } static void *established_get_idx(struct seq_file *seq, loff_t pos) -- To unsubscribe from this list: send the line unsubscribe netdev in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: [PATCH] [2/2] Remove some unnecessary gotos in established_get_first()
Am Mittwoch, 30. Januar 2008 09:01:10 schrieb Andi Kleen: gcc does not generate different code for return foo vs bar = foo; goto x; x: return bar; So convert it all to direct returns for better readability. Now suppose somebody needs to change locking. He'll have to convert it back. IMHO a conditional return is worse than goto clearly_named_label Regards Oliver -- To unsubscribe from this list: send the line unsubscribe netdev in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: [PATCH] [2/2] Remove some unnecessary gotos in established_get_first()
Oliver Neukum [EMAIL PROTECTED] writes: Am Mittwoch, 30. Januar 2008 09:01:10 schrieb Andi Kleen: gcc does not generate different code for return foo vs bar = foo; goto x; x: return bar; So convert it all to direct returns for better readability. Now suppose somebody needs to change locking. He'll have to convert it back. Please take a look at the overall /proc/net/tcp logic. Any locking change will be a major change to the code flow of the whole family of funtions. -Andi -- To unsubscribe from this list: send the line unsubscribe netdev in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: [PATCH] cxgb3: Remove incorrect __devinit annotations
Roland Dreier wrote: When PCI error recovery was added to cxgb3, a function t3_io_slot_reset() was added. This function can call back into t3_prep_adapter() at any time, so t3_prep_adapter() can no longer be marked __devinit. This patch removes the __devinit annotation from t3_prep_adapter() and all the functions that it calls, which fixes WARNING: drivers/net/cxgb3/built-in.o(.text+0x2427): Section mismatch in reference from the function t3_io_slot_reset() to the function .devinit.text:t3_prep_adapter() Signed-off-by: Roland Dreier [EMAIL PROTECTED] --- drivers/net/cxgb3/mc5.c |2 +- drivers/net/cxgb3/sge.c |2 +- drivers/net/cxgb3/t3_hw.c | 22 ++ 3 files changed, 12 insertions(+), 14 deletions(-) applied -- To unsubscribe from this list: send the line unsubscribe netdev in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: [PATCH 1/7] bonding: fix parameter parsing
Jay Vosburgh wrote: My last fix (commit ece95f7fefe3afae19e641e1b3f5e64b00d5b948) didn't handle one case correctly. This resolves that, and it will now correctly parse parameters with arbitrary white space, and either text names or mode values. Signed-off-by: Jay Vosburgh [EMAIL PROTECTED] --- drivers/net/bonding/bond_main.c | 17 +++-- 1 files changed, 11 insertions(+), 6 deletions(-) applied 1-7 -- To unsubscribe from this list: send the line unsubscribe netdev in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: [PATCH 1/1 resend][arm/at91_ether.c] logical/bitand typo in function reset_phy() (inactive), drivers/net/arm/at91_ether.c
Roel Kluin wrote: include/linux/mii.h:48:#define BMCR_RESET 0x8000 The function reset_phy() is in #if 0 inactivated code -- Replace logical by bit before BMCR_RESET Signed-off-by: Roel Kluin [EMAIL PROTECTED] --- diff --git a/drivers/net/arm/at91_ether.c b/drivers/net/arm/at91_ether.c index 25b114a..0ae0d83 100644 --- a/drivers/net/arm/at91_ether.c +++ b/drivers/net/arm/at91_ether.c @@ -384,7 +384,7 @@ static void reset_phy(struct net_device *dev) /* Wait until PHY reset is complete */ do { read_phy(lp-phy_address, MII_BMCR, bmcr); - } while (!(bmcr BMCR_RESET)); + } while (!(bmcr BMCR_RESET)); disable_mdi(); spin_unlock_irq(lp-lock); applied -- To unsubscribe from this list: send the line unsubscribe netdev in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: [PATCH 1/5] forcedeth: reset register fix
Ayaz Abdulla wrote: This patch fixes the reset register definition from 0x3C to 0x34. Signed-off-by: Ayaz Abdulla [EMAIL PROTECTED] applied 1-5 -- To unsubscribe from this list: send the line unsubscribe netdev in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: [PATCH] [NET]: Remove PowerPC code from fec.c
Jochen Friedrich wrote: fec.c is only used on M68k Coldfire CPUs. Remove leftover PowerPC code from this driver. Signed-off-by: Jochen Friedrich [EMAIL PROTECTED] --- drivers/net/fec.c | 136 +--- 1 files changed, 3 insertions(+), 133 deletions(-) Seems OK to me, but I feel I don't have enough knowledge to ACK or NAK. Please pass through an arch tree, thanks. Jeff -- To unsubscribe from this list: send the line unsubscribe netdev in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: [PATCH] forcedeth: mac address mcp77/79
Ayaz Abdulla wrote: This patch is a critical fix for MCP77 and MCP79 devices. The feature flags were missing the define for correct mac address (DEV_HAS_CORRECT_MACADDR). Signed-off-by: Ayaz Abdulla [EMAIL PROTECTED] applied (upstream) -- To unsubscribe from this list: send the line unsubscribe netdev in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: [PATCH] PHYLIB: Locking fixes for PHY I/O potentially sleeping
Nate Case wrote: PHY read/write functions can potentially sleep (e.g., a PHY accessed via I2C). The following changes were made to account for this: * Change spin locks to mutex locks * Add a BUG_ON() to phy_read() phy_write() to warn against calling them from an interrupt context. * Use work queue for PHY state machine handling since it can potentially sleep * Change phydev lock from spinlock to mutex Signed-off-by: Nate Case [EMAIL PROTECTED] Acked-by: Andy Fleming [EMAIL PROTECTED] --- Note: This is a resend of the patch submitted on January 3rd, 2008 drivers/net/phy/mdio_bus.c |2 +- drivers/net/phy/phy.c| 68 - drivers/net/phy/phy_device.c | 11 +++ include/linux/phy.h |5 ++- 4 files changed, 55 insertions(+), 31 deletions(-) applied -- To unsubscribe from this list: send the line unsubscribe netdev in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: [PATCH] natsemi: Update locking documentation
Mark Brown wrote: The documentation regarding synchronisation at the head of the natsemi driver was badly bitrotted so replace it with a general statement about the techniques used which is less likely to bitrot. Also remove the note saying these chips are uncommon - it makes little difference but they were used in a number of laptops and at least one mass market PCI ethernet card. Signed-off-by: Mark Brown [EMAIL PROTECTED] --- drivers/net/natsemi.c | 18 ++ 1 files changed, 2 insertions(+), 16 deletions(-) applied -- To unsubscribe from this list: send the line unsubscribe netdev in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: [PATCH] phylib: Add Realtek 821x eth PHY support
Kim Phillips wrote: this PHY present on the MPC8315E and MPC837xE RDB boards. Signed-off-by: Johnson Leung [EMAIL PROTECTED] Signed-off-by: Kevin Lam [EMAIL PROTECTED] Signed-off-by: Joe D'Abbraccio [EMAIL PROTECTED] Signed-off-by: Kim Phillips [EMAIL PROTECTED] --- drivers/net/phy/Kconfig |5 +++ drivers/net/phy/Makefile |1 + drivers/net/phy/realtek.c | 80 + 3 files changed, 86 insertions(+), 0 deletions(-) create mode 100644 drivers/net/phy/realtek.c applied (though admittedly the filename seems a bit too generic) -- To unsubscribe from this list: send the line unsubscribe netdev in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: [PATCH] pci-skeleton: Misc fixes to build neatly
Jike Song wrote: The pci-skeleton.c has several problems with compilation, such as missing args when calling synchronize_irq(). Fix it. Signed-off-by: Jike Song [EMAIL PROTECTED] --- drivers/net/pci-skeleton.c | 49 ++- 1 files changed, 25 insertions(+), 24 deletions(-) applied -- To unsubscribe from this list: send the line unsubscribe netdev in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: [PATCH] NET: constify data and function pointer tables
Jan Engelhardt wrote: Signed-off-by: Jan Engelhardt [EMAIL PROTECTED] --- drivers/net/bonding/bond_main.c |2 +- drivers/net/hamradio/bpqether.c |2 +- drivers/net/hamradio/scc.c |2 +- drivers/net/hamradio/yam.c |2 +- drivers/net/ibmveth.c |2 +- drivers/net/pppoe.c |2 +- drivers/net/pppol2tp.c |4 ++-- drivers/net/wireless/libertas/debugfs.c | 14 +++--- drivers/net/wireless/strip.c|2 +- 9 files changed, 16 insertions(+), 16 deletions(-) ACK -- but you should collect linville's ack of the wireless stuff too (even though the patch is simple and obvious) -- To unsubscribe from this list: send the line unsubscribe netdev in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: ipcomp regression in 2.6.24
Herbert Xu wrote: Marco Berizzi [EMAIL PROTECTED] wrote: With 2.6.24 IPSEC/ESP tunnels to older kernels establish fine, data flows in both directions, but no data comes out of the tunnel. Needed to disable ipcomp. Same problem here: linux 2.6.24 driven by openswan 2.4.11 on Slackware 11.0 My bad. This patch should fix it. Sorry for bother you again. I have applied to 2.6.24, but ipcomp doesn't work anyway. I have patched a clean 2.6.24 tree and I did a complete rebuild. With tcpdump I see both the esp packets going in/out but I don't see the clear packets on the interface. -- To unsubscribe from this list: send the line unsubscribe netdev in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: [PATCH 1/8] [Blackfin] EMAC driver: shorten the mdelay value to solve netperf performance issue
Bryan Wu wrote: Signed-off-by: Bryan Wu [EMAIL PROTECTED] --- drivers/net/bfin_mac.c |4 ++-- 1 files changed, 2 insertions(+), 2 deletions(-) applied 1-8 -- To unsubscribe from this list: send the line unsubscribe netdev in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html
[PATCH 5/8] [Blackfin] EMAC driver: ADSP-BF52x arch/mach support
From: Michael Hennerich [EMAIL PROTECTED] Signed-off-by: Michael Hennerich [EMAIL PROTECTED] Signed-off-by: Bryan Wu [EMAIL PROTECTED] --- drivers/net/Kconfig|9 + drivers/net/bfin_mac.c |6 +++--- 2 files changed, 8 insertions(+), 7 deletions(-) diff --git a/drivers/net/Kconfig b/drivers/net/Kconfig index 5a2d1dd..ca2552b 100644 --- a/drivers/net/Kconfig +++ b/drivers/net/Kconfig @@ -814,8 +814,8 @@ config ULTRA32 will be called smc-ultra32. config BFIN_MAC - tristate Blackfin 536/537 on-chip mac support - depends on NET_ETHERNET (BF537 || BF536) (!BF537_PORT_H) + tristate Blackfin 527/536/537 on-chip mac support + depends on NET_ETHERNET (BF527 || BF537 || BF536) (!BF537_PORT_H) select CRC32 select MII select PHYLIB @@ -828,7 +828,7 @@ config BFIN_MAC config BFIN_MAC_USE_L1 bool Use L1 memory for rx/tx packets - depends on BFIN_MAC BF537 + depends on BFIN_MAC (BF527 || BF537) default y help To get maximum network performance, you should use L1 memory as rx/tx buffers. @@ -855,7 +855,8 @@ config BFIN_RX_DESC_NUM config BFIN_MAC_RMII bool RMII PHY Interface (EXPERIMENTAL) depends on BFIN_MAC EXPERIMENTAL - default n + default y if BFIN527_EZKIT + default n if BFIN537_STAMP help Use Reduced PHY MII Interface diff --git a/drivers/net/bfin_mac.c b/drivers/net/bfin_mac.c index ed935e1..e9bd059 100644 --- a/drivers/net/bfin_mac.c +++ b/drivers/net/bfin_mac.c @@ -42,7 +42,7 @@ #define DRV_NAME bfin_mac #define DRV_VERSION1.1 #define DRV_AUTHOR Bryan Wu, Luke Yang -#define DRV_DESC Blackfin BF53[67] on-chip Ethernet MAC driver +#define DRV_DESC Blackfin BF53[67] BF527 on-chip Ethernet MAC driver MODULE_AUTHOR(DRV_AUTHOR); MODULE_LICENSE(GPL); @@ -752,7 +752,7 @@ static void bf537mac_enable(void) #if defined(CONFIG_BFIN_MAC_RMII) opmode |= RMII; /* For Now only 100MBit are supported */ -#ifdef CONFIG_BF_REV_0_2 +#if (defined(CONFIG_BF537) || defined(CONFIG_BF536)) CONFIG_BF_REV_0_2 opmode |= TE; #endif #endif @@ -994,7 +994,7 @@ static int __init bf537mac_probe(struct net_device *dev) /* register irq handler */ if (request_irq (IRQ_MAC_RX, bf537mac_interrupt, IRQF_DISABLED | IRQF_SHARED, -BFIN537_MAC_RX, dev)) { +EMAC_RX, dev)) { printk(KERN_WARNING DRV_NAME : Unable to attach BlackFin MAC RX interrupt\n); return -EBUSY; -- 1.5.3.4 -- To unsubscribe from this list: send the line unsubscribe netdev in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html
[PATCH 8/8] [Blackfin] EMAC driver: Fix bug: The clock divisor is set to all ones at reset.
Signed-off-by: Kalle Pokki [EMAIL PROTECTED] Signed-off-by: Bryan Wu [EMAIL PROTECTED] --- drivers/net/bfin_mac.c |2 +- 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/drivers/net/bfin_mac.c b/drivers/net/bfin_mac.c index 0a17fb4..c993a32 100644 --- a/drivers/net/bfin_mac.c +++ b/drivers/net/bfin_mac.c @@ -408,7 +408,7 @@ static int mii_probe(struct net_device *dev) mdc_div = ((sclk / MDC_CLK) / 2) - 1; sysctl = bfin_read_EMAC_SYSCTL(); - sysctl |= SET_MDCDIV(mdc_div); + sysctl = (sysctl ~MDCDIV) | SET_MDCDIV(mdc_div); bfin_write_EMAC_SYSCTL(sysctl); /* search for connect PHY device */ -- 1.5.3.4 -- To unsubscribe from this list: send the line unsubscribe netdev in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html
[PATCH 7/8] [Blackfin] EMAC driver: fix bug - invalidate data cache of new_skb-data range when cache is WB
From: Alexey Demin [EMAIL PROTECTED] It prevents overwritting new data from DMA. Signed-off-by: Alexey Demin [EMAIL PROTECTED] Signed-off-by: Bryan Wu [EMAIL PROTECTED] --- drivers/net/bfin_mac.c |6 ++ 1 files changed, 6 insertions(+), 0 deletions(-) diff --git a/drivers/net/bfin_mac.c b/drivers/net/bfin_mac.c index f2368b7..0a17fb4 100644 --- a/drivers/net/bfin_mac.c +++ b/drivers/net/bfin_mac.c @@ -651,6 +651,12 @@ static void bf537mac_rx(struct net_device *dev) current_rx_ptr-skb = new_skb; current_rx_ptr-desc_a.start_addr = (unsigned long)new_skb-data - 2; + /* Invidate the data cache of skb-data range when it is write back +* cache. It will prevent overwritting the new data from DMA +*/ + blackfin_dcache_invalidate_range((unsigned long)new_skb-head, +(unsigned long)new_skb-end); + len = (unsigned short)((current_rx_ptr-status.status_word) RX_FRLEN); skb_put(skb, len); blackfin_dcache_invalidate_range((unsigned long)skb-head, -- 1.5.3.4 -- To unsubscribe from this list: send the line unsubscribe netdev in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html
[PATCH 6/8] [Blackfin] EMAC driver: add power down mode
From: Vitja Makarov [EMAIL PROTECTED] This patch puts phy in power-down mode when interface is down. Also we should think about energy detect power-down mode, that will decrease power consumption when no link. Signed-off-by: Vitja Makarov [EMAIL PROTECTED] Signed-off-by: Bryan Wu [EMAIL PROTECTED] --- drivers/net/bfin_mac.c |3 ++- 1 files changed, 2 insertions(+), 1 deletions(-) diff --git a/drivers/net/bfin_mac.c b/drivers/net/bfin_mac.c index e9bd059..f2368b7 100644 --- a/drivers/net/bfin_mac.c +++ b/drivers/net/bfin_mac.c @@ -884,10 +884,10 @@ static int bf537mac_open(struct net_device *dev) return retval; phy_start(lp-phydev); + phy_write(lp-phydev, MII_BMCR, BMCR_RESET); setup_system_regs(dev); bf537mac_disable(); bf537mac_enable(); - pr_debug(hardware init finished\n); netif_start_queue(dev); netif_carrier_on(dev); @@ -910,6 +910,7 @@ static int bf537mac_close(struct net_device *dev) netif_carrier_off(dev); phy_stop(lp-phydev); + phy_write(lp-phydev, MII_BMCR, BMCR_PDOWN); /* clear everything */ bf537mac_shutdown(dev); -- 1.5.3.4 -- To unsubscribe from this list: send the line unsubscribe netdev in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html
[PATCH 3/8] [Blackfin] EMAC driver: bf537 MAC multicast hash filtering patch
From: Aidan Williams [EMAIL PROTECTED] The bf537 Ethernet MAC driver in the 2007R1.1-RC3 kernel (and the current kernel) do not implement multicast hash filtering. This is a performance problem if you have lots of multicast on your network. This patch plugs the right bits into the multicast hash registers. Signed-off-by: Aidan Williams [EMAIL PROTECTED] Signed-off-by: Bryan Wu [EMAIL PROTECTED] --- drivers/net/bfin_mac.c | 42 +- 1 files changed, 41 insertions(+), 1 deletions(-) diff --git a/drivers/net/bfin_mac.c b/drivers/net/bfin_mac.c index ee39819..c6586cd 100644 --- a/drivers/net/bfin_mac.c +++ b/drivers/net/bfin_mac.c @@ -11,6 +11,7 @@ * Description: * * Modified: + * 2006-12-19 Aidan Williams, multicast hash support * Copyright 2004-2006 Analog Devices Inc. * * Bugs: Enter bugs at http://blackfin.uclinux.org/ @@ -800,6 +801,39 @@ static void bf537mac_timeout(struct net_device *dev) netif_wake_queue(dev); } +static void bf537mac_multicast_hash(struct net_device *dev) +{ + u32 emac_hashhi, emac_hashlo; + struct dev_mc_list *dmi = dev-mc_list; + char *addrs; + int i; + u32 crc; + + emac_hashhi = emac_hashlo = 0; + + for (i = 0; i dev-mc_count; i++) { + addrs = dmi-dmi_addr; + dmi = dmi-next; + + /* skip non-multicast addresses */ + if (!(*addrs 1)) + continue; + + crc = ether_crc(ETH_ALEN, addrs); + crc = 26; + + if (crc 0x20) + emac_hashhi |= 1 (crc 0x1f); + else + emac_hashlo |= 1 (crc 0x1f); + } + + bfin_write_EMAC_HASHHI(emac_hashhi); + bfin_write_EMAC_HASHLO(emac_hashlo); + + return; +} + /* * This routine will, depending on the values passed to it, * either make it accept multicast packets, go into @@ -815,11 +849,17 @@ static void bf537mac_set_multicast_list(struct net_device *dev) sysctl = bfin_read_EMAC_OPMODE(); sysctl |= RAF; bfin_write_EMAC_OPMODE(sysctl); - } else if (dev-flags IFF_ALLMULTI || dev-mc_count) { + } else if (dev-flags IFF_ALLMULTI) { /* accept all multicast */ sysctl = bfin_read_EMAC_OPMODE(); sysctl |= PAM; bfin_write_EMAC_OPMODE(sysctl); + } else if (dev-mc_count) { + /* set up multicast hash table */ + sysctl = bfin_read_EMAC_OPMODE(); + sysctl |= HM; + bfin_write_EMAC_OPMODE(sysctl); + bf537mac_multicast_hash(dev); } else { /* clear promisc or multicast mode */ sysctl = bfin_read_EMAC_OPMODE(); -- 1.5.3.4 -- To unsubscribe from this list: send the line unsubscribe netdev in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html
[PATCH 0/8] [Blackfin] EMAC driver updates
Several bug fixing for this driver. -- To unsubscribe from this list: send the line unsubscribe netdev in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: [PATCH 1/2] sky2: restore multicast addresses after recovery
Stephen Hemminger wrote: If the sky2 deadman timer forces a recovery, the multicast hash list is lost. Move the call to sky2_set_multicast to the end of sky2_up() so all paths that bring device up will restore multicast. Signed-off-by: Stephen Hemminger [EMAIL PROTECTED] --- Please apply for 2.6.24 applied 1-2 You'll want to send this to [EMAIL PROTECTED], since by the time I read your mail, 2.6.24 had been released, just around 24 hours thereafter. -- To unsubscribe from this list: send the line unsubscribe netdev in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html
[PATCH 2/8] [Blackfin] EMAC driver: define MDC_CLK=2.5MHz and caculate mdc_div according to SCLK.
Signed-off-by: Bryan Wu [EMAIL PROTECTED] --- drivers/net/bfin_mac.c | 16 1 files changed, 12 insertions(+), 4 deletions(-) diff --git a/drivers/net/bfin_mac.c b/drivers/net/bfin_mac.c index 4006a5d..ee39819 100644 --- a/drivers/net/bfin_mac.c +++ b/drivers/net/bfin_mac.c @@ -412,20 +412,26 @@ static void bf537_adjust_link(struct net_device *dev) spin_unlock_irqrestore(lp-lock, flags); } +/* MDC = 2.5 MHz */ +#define MDC_CLK 250 + static int mii_probe(struct net_device *dev) { struct bf537mac_local *lp = netdev_priv(dev); struct phy_device *phydev = NULL; unsigned short sysctl; int i; + u32 sclk, mdc_div; /* Enable PHY output early */ if (!(bfin_read_VR_CTL() PHYCLKOE)) bfin_write_VR_CTL(bfin_read_VR_CTL() | PHYCLKOE); - /* MDC = 2.5 MHz */ + sclk = get_sclk(); + mdc_div = ((sclk / MDC_CLK) / 2) - 1; + sysctl = bfin_read_EMAC_SYSCTL(); - sysctl |= SET_MDCDIV(24); + sysctl |= SET_MDCDIV(mdc_div); bfin_write_EMAC_SYSCTL(sysctl); /* search for connect PHY device */ @@ -477,8 +483,10 @@ static int mii_probe(struct net_device *dev) lp-phydev = phydev; printk(KERN_INFO %s: attached PHY driver [%s] - (mii_bus:phy_addr=%s, irq=%d)\n, - DRV_NAME, phydev-drv-name, phydev-dev.bus_id, phydev-irq); + (mii_bus:phy_addr=%s, irq=%d, mdc_clk=%dHz(mdc_div=%d) + @sclk=%dMHz)\n, + DRV_NAME, phydev-drv-name, phydev-dev.bus_id, phydev-irq, + MDC_CLK, mdc_div, sclk/100); return 0; } -- 1.5.3.4 -- To unsubscribe from this list: send the line unsubscribe netdev in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html
[PATCH 1/8] [Blackfin] EMAC driver: shorten the mdelay value to solve netperf performance issue
Signed-off-by: Bryan Wu [EMAIL PROTECTED] --- drivers/net/bfin_mac.c |4 ++-- 1 files changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/net/bfin_mac.c b/drivers/net/bfin_mac.c index eb97175..4006a5d 100644 --- a/drivers/net/bfin_mac.c +++ b/drivers/net/bfin_mac.c @@ -296,7 +296,7 @@ static void mdio_poll(void) /* poll the STABUSY bit */ while ((bfin_read_EMAC_STAADD()) STABUSY) { - mdelay(10); + udelay(1); if (timeout_cnt-- 0) { printk(KERN_ERR DRV_NAME : wait MDC/MDIO transaction to complete timeout\n); @@ -551,7 +551,7 @@ static void adjust_tx_list(void) */ if (current_tx_ptr-next-next == tx_list_head) { while (tx_list_head-status.status_word == 0) { - mdelay(10); + mdelay(1); if (tx_list_head-status.status_word != 0 || !(bfin_read_DMA2_IRQ_STATUS() 0x08)) { goto adjust_head; -- 1.5.3.4 -- To unsubscribe from this list: send the line unsubscribe netdev in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html
[PATCH 4/8] [Blackfin] EMAC driver: use simpler comment headers and strip out information that is maintained in the scm's log
From: Mike Frysinger [EMAIL PROTECTED] Signed-off-by: Mike Frysinger [EMAIL PROTECTED] Signed-off-by: Bryan Wu [EMAIL PROTECTED] --- drivers/net/bfin_mac.c | 32 drivers/net/bfin_mac.h | 31 --- 2 files changed, 8 insertions(+), 55 deletions(-) diff --git a/drivers/net/bfin_mac.c b/drivers/net/bfin_mac.c index c6586cd..ed935e1 100644 --- a/drivers/net/bfin_mac.c +++ b/drivers/net/bfin_mac.c @@ -1,35 +1,11 @@ /* - * File: drivers/net/bfin_mac.c - * Based on: - * Maintainer: - * Bryan Wu [EMAIL PROTECTED] + * Blackfin On-Chip MAC Driver * - * Original author: - * Luke Yang [EMAIL PROTECTED] + * Copyright 2004-2007 Analog Devices Inc. * - * Created: - * Description: + * Enter bugs at http://blackfin.uclinux.org/ * - * Modified: - * 2006-12-19 Aidan Williams, multicast hash support - * Copyright 2004-2006 Analog Devices Inc. - * - * Bugs: Enter bugs at http://blackfin.uclinux.org/ - * - * This program is free software ; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation ; either version 2, or (at your option) - * any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY ; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program ; see the file COPYING. - * If not, write to the Free Software Foundation, - * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + * Licensed under the GPL-2 or later. */ #include linux/init.h diff --git a/drivers/net/bfin_mac.h b/drivers/net/bfin_mac.h index 5970ea7..f774d5a 100644 --- a/drivers/net/bfin_mac.h +++ b/drivers/net/bfin_mac.h @@ -1,34 +1,11 @@ /* - * File: drivers/net/bfin_mac.c - * Based on: - * Maintainer: - * Bryan Wu [EMAIL PROTECTED] + * Blackfin On-Chip MAC Driver * - * Original author: - * Luke Yang [EMAIL PROTECTED] + * Copyright 2004-2007 Analog Devices Inc. * - * Created: - * Description: + * Enter bugs at http://blackfin.uclinux.org/ * - * Modified: - * Copyright 2004-2006 Analog Devices Inc. - * - * Bugs: Enter bugs at http://blackfin.uclinux.org/ - * - * This program is free software ; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation ; either version 2, or (at your option) - * any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY ; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program ; see the file COPYING. - * If not, write to the Free Software Foundation, - * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + * Licensed under the GPL-2 or later. */ #define BFIN_MAC_CSUM_OFFLOAD -- 1.5.3.4 -- To unsubscribe from this list: send the line unsubscribe netdev in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html
[PATCH] [1/1] Deprecate tcp_tw_{reuse,recycle}
We've recently had a long discussion about the CVE-2005-0356 time stamp denial-of-service attack. It turned out that Linux is only vunerable to this problem when tcp_tw_recycle is enabled (which it is not by default). In general these two options are not really usable in today's internet because they make the (often false) assumption that a single IP address has a single TCP time stamp / PAWS clock. This assumption breaks both NAT/masquerading and also opens Linux to denial of service attacks (see the CVE description) Due to these numerous problems I propose to remove this code for 2.6.26 Signed-off-by: Andi Kleen [EMAIL PROTECTED] Index: linux/Documentation/feature-removal-schedule.txt === --- linux.orig/Documentation/feature-removal-schedule.txt +++ linux/Documentation/feature-removal-schedule.txt @@ -354,3 +354,15 @@ Why: The support code for the old firmwa and slightly hurts runtime performance. Bugfixes for the old firmware are not provided by Broadcom anymore. Who: Michael Buesch [EMAIL PROTECTED] + +--- + +What: Support for /proc/sys/net/ipv4/tcp_tw_{reuse,recycle} = 1 +When: 2.6.26 +Why:Enabling either of those makes Linux TCP incompatible with masquerading and +also opens Linux to the CVE-2005-0356 denial of service attack. And these +optimizations are explicitely disallowed by some benchmarks. They also have +been disabled by default for more than ten years so they're unlikely to be used + much. Due to these fatal flaws it doesn't make sense to keep the code. +Who:Andi Kleen [EMAIL PROTECTED] + -- To unsubscribe from this list: send the line unsubscribe netdev in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: net-2.6.25 is no more...
David Miller wrote: Now that the bulk has been merged over and we are actively working alongside Linus's tree I have moved all current patch applying to net-2.6 instead of net-2.6.25, so the current tree to use is: kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6.git This tree is for fixes only, right ? or shall we send enhancement patches to net-2.6 until net-2.6.26 appears ? -- To unsubscribe from this list: send the line unsubscribe netdev in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: sis190 build breakage
On Wed, Jan 30, 2008 at 03:22:51AM -0500, Jeff Garzik wrote: Sam Ravnborg wrote: On Tue, Jan 29, 2008 at 11:03:10PM +0100, Francois Romieu wrote: maximilian attems [EMAIL PROTECTED] : CC [M] drivers/net/sis190.o drivers/net/sis190.c:329: error: sis190_pci_tbl causes a section type conflict make[5]: *** [drivers/net/sis190.o] Error 1 gcc --version gcc (GCC) 4.1.2 20061115 (prerelease) (Debian 4.1.1-21) Looks like a bug where __initdata has been used for const data. Searching: static int __devinit sis190_get_mac_addr_from_apc(struct pci_dev *pdev, struct net_device *dev) { static const u16 __devinitdata ids[] = { 0x0965, 0x0966, 0x0968 }; struct sis190_private *tp = netdev_priv(dev); struct pci_dev *isa_bridge; u8 reg, tmp8; Try to change this is __initconst and it should be fixed. We have __initconst now? Three cheers, and a beer, to whomever did that... I will hand over the cheers to Jan Beulich and drink the beer myself ;-) Sam -- To unsubscribe from this list: send the line unsubscribe netdev in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html
[PATCH] cls_u32 u32_classify()
Currently fine u32 hashkey ... at ... not work with relative offsets. There are simpliest fix to use eat. -- WBR, Denis Kaganovich, [EMAIL PROTECTED] http://mahatma.bspu.unibel.by diff -pruN linux-2.6.orig/net/sched/cls_u32.c linux-2.6/net/sched/cls_u32.c --- linux-2.6.orig/net/sched/cls_u32.c 2008-01-29 23:02:50.0 +0200 +++ linux-2.6/net/sched/cls_u32.c 2008-01-30 10:56:11.0 +0200 @@ -181,11 +181,13 @@ check_terminal: ht = n-ht_down; sel = 0; - if (ht-divisor) - sel = ht-divisoru32_hash_fold(*(u32*)(ptr+n-sel.hoff), n-sel,n-fshift); - if (!(n-sel.flags(TC_U32_VAROFFSET|TC_U32_OFFSET|TC_U32_EAT))) + if (!(n-sel.flags(TC_U32_VAROFFSET|TC_U32_OFFSET|TC_U32_EAT))) { + if (!ht-divisor) + goto next_ht; + sel = ht-divisoru32_hash_fold(*(u32*)(ptr+n-sel.hoff), n-sel,n-fshift); goto next_ht; + } if (n-sel.flags(TC_U32_OFFSET|TC_U32_VAROFFSET)) { off2 = n-sel.off + 3; @@ -198,6 +200,9 @@ check_terminal: off2 = 0; } + if (ht-divisor) + sel = ht-divisoru32_hash_fold(*(u32*)(ptr+n-sel.hoff), n-sel,n-fshift); + if (ptr skb_tail_pointer(skb)) goto next_ht; }
Re: [PATCH] PHYLIB: Add BCM5482 PHY support
On Tue, 29 Jan 2008, Nate Case wrote: +static struct phy_driver bcm5482_driver = { +.phy_id = 0x0143bcb0, + .phy_id_mask= 0xfff0, Please check formatting above and also I am a bit curious as to why the ID is so different from the other ones -- the number is meant to be based on the OUI assigned to the manufacturer. Otherwise your addition is fine. Maciej -- To unsubscribe from this list: send the line unsubscribe netdev in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html
[PATCH] cls_u32 u32_classify() ++
Currently fine u32 hashkey ... at ... not work with relative offsets. There are simpliest fix to use eat. (sorry, i'm idiot) -- WBR, Denis Kaganovich, [EMAIL PROTECTED] http://mahatma.bspu.unibel.by diff -pruN linux-2.6.orig/net/sched/cls_u32.c linux-2.6/net/sched/cls_u32.c --- linux-2.6.orig/net/sched/cls_u32.c 2008-01-29 23:02:50.0 +0200 +++ linux-2.6/net/sched/cls_u32.c 2008-01-30 11:37:31.0 +0200 @@ -181,11 +181,13 @@ check_terminal: ht = n-ht_down; sel = 0; - if (ht-divisor) - sel = ht-divisoru32_hash_fold(*(u32*)(ptr+n-sel.hoff), n-sel,n-fshift); - if (!(n-sel.flags(TC_U32_VAROFFSET|TC_U32_OFFSET|TC_U32_EAT))) + if (!(n-sel.flags(TC_U32_VAROFFSET|TC_U32_OFFSET|TC_U32_EAT))) { + if (!ht-divisor) + goto next_ht; + sel = ht-divisoru32_hash_fold(*(u32*)(ptr+n-sel.hoff), n-sel,n-fshift); goto next_ht; + } if (n-sel.flags(TC_U32_OFFSET|TC_U32_VAROFFSET)) { off2 = n-sel.off + 3; @@ -198,6 +200,9 @@ check_terminal: off2 = 0; } + if (ht-divisor ptr+n-sel.hoff+4 skb_tail_pointer(skb)) + sel = ht-divisoru32_hash_fold(*(u32*)(ptr+n-sel.hoff), n-sel,n-fshift); + if (ptr skb_tail_pointer(skb)) goto next_ht; }
[git patches] net driver fixes
First pass through the queue that built up over the weekend (plus a few others that just missed 2.6.24 release), with a focus specifically on fixes. Please pull from 'upstream-davem' branch of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/netdev-2.6.git upstream-davem to receive the following updates: MAINTAINERS |2 - drivers/net/Kconfig |9 ++-- drivers/net/arm/at91_ether.c|2 +- drivers/net/bfin_mac.c | 107 +-- drivers/net/bfin_mac.h | 31 ++-- drivers/net/bonding/bond_main.c | 106 -- drivers/net/bonding/bonding.h |4 +- drivers/net/cxgb3/mc5.c |2 +- drivers/net/cxgb3/sge.c |2 +- drivers/net/cxgb3/t3_hw.c | 22 drivers/net/forcedeth.c | 61 ++ drivers/net/natsemi.c | 18 +-- drivers/net/pci-skeleton.c | 49 +- drivers/net/phy/Kconfig |5 ++ drivers/net/phy/Makefile|1 + drivers/net/phy/mdio_bus.c |2 +- drivers/net/phy/phy.c | 68 + drivers/net/phy/phy_device.c| 11 ++-- drivers/net/phy/realtek.c | 80 + drivers/net/sis190.c|2 +- drivers/net/sky2.c | 14 +++-- include/linux/phy.h |5 +- 22 files changed, 355 insertions(+), 248 deletions(-) create mode 100644 drivers/net/phy/realtek.c Aidan Williams (1): EMAC driver: bf537 MAC multicast hash filtering patch Alexey Demin (1): EMAC driver: fix bug - invalidate data cache of new_skb-data range when cache is WB Andy Gospodarek (1): bonding: fix race that causes invalid statistics Ayaz Abdulla (6): forcedeth: reset register fix forcedeth: checksum fix forcedeth: updated copyright section forcedeth: tx pause fix forcedeth: multicast fix forcedeth: mac address mcp77/79 Bryan Wu (3): EMAC driver: shorten the mdelay value to solve netperf performance issue EMAC driver: define MDC_CLK=2.5MHz and caculate mdc_div according to SCLK. EMAC driver: Fix bug: The clock divisor is set to all ones at reset. Jay Vosburgh (6): bonding: fix parameter parsing bonding: fix set_multicast_list locking bonding: fix NULL pointer deref in startup processing bonding: do not acquire rtnl in ARP monitor bonding: update version bonding: update MAINTAINERS Jeff Garzik (1): [netdrvr] sis190: build fix Jike Song (1): pci-skeleton: Misc fixes to build neatly Kim Phillips (1): phylib: Add Realtek 821x eth PHY support Mark Brown (1): natsemi: Update locking documentation Michael Hennerich (1): EMAC driver: ADSP-BF52x arch/mach support Mike Frysinger (1): EMAC driver: use simpler comment headers and strip out information that is maintained in the scm's log Nate Case (1): PHYLIB: Locking fixes for PHY I/O potentially sleeping Roel Kluin (1): drivers/net/arm/at91_ether.c: logical/bitand typo in function reset_phy() Roland Dreier (1): cxgb3: Remove incorrect __devinit annotations Stephen Hemminger (2): sky2: restore multicast addresses after recovery sky2: fix Wake On Lan interaction with BIOS Vitja Makarov (1): EMAC driver: add power down mode diff --git a/MAINTAINERS b/MAINTAINERS index 10011d9..77ad82a 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -939,8 +939,6 @@ M: [EMAIL PROTECTED] S: Maintained BONDING DRIVER -P: Chad Tindel -M: [EMAIL PROTECTED] P: Jay Vosburgh M: [EMAIL PROTECTED] L: [EMAIL PROTECTED] diff --git a/drivers/net/Kconfig b/drivers/net/Kconfig index 5a2d1dd..ca2552b 100644 --- a/drivers/net/Kconfig +++ b/drivers/net/Kconfig @@ -814,8 +814,8 @@ config ULTRA32 will be called smc-ultra32. config BFIN_MAC - tristate Blackfin 536/537 on-chip mac support - depends on NET_ETHERNET (BF537 || BF536) (!BF537_PORT_H) + tristate Blackfin 527/536/537 on-chip mac support + depends on NET_ETHERNET (BF527 || BF537 || BF536) (!BF537_PORT_H) select CRC32 select MII select PHYLIB @@ -828,7 +828,7 @@ config BFIN_MAC config BFIN_MAC_USE_L1 bool Use L1 memory for rx/tx packets - depends on BFIN_MAC BF537 + depends on BFIN_MAC (BF527 || BF537) default y help To get maximum network performance, you should use L1 memory as rx/tx buffers. @@ -855,7 +855,8 @@ config BFIN_RX_DESC_NUM config BFIN_MAC_RMII bool RMII PHY Interface (EXPERIMENTAL) depends on BFIN_MAC EXPERIMENTAL - default n + default y if BFIN527_EZKIT + default n if BFIN537_STAMP help Use Reduced PHY MII Interface diff --git a/drivers/net/arm/at91_ether.c b/drivers/net/arm/at91_ether.c index 25b114a..0ae0d83
[PATCH] cls_u32 u32_classify() +
Currently fine u32 hashkey ... at ... not work with relative offsets. There are simpliest fix to use eat. (sorry, v2) -- WBR, Denis Kaganovich, [EMAIL PROTECTED] http://mahatma.bspu.unibel.by diff -pruN linux-2.6.orig/net/sched/cls_u32.c linux-2.6/net/sched/cls_u32.c --- linux-2.6.orig/net/sched/cls_u32.c 2008-01-29 23:02:50.0 +0200 +++ linux-2.6/net/sched/cls_u32.c 2008-01-30 11:28:00.0 +0200 @@ -181,11 +181,13 @@ check_terminal: ht = n-ht_down; sel = 0; - if (ht-divisor) - sel = ht-divisoru32_hash_fold(*(u32*)(ptr+n-sel.hoff), n-sel,n-fshift); - if (!(n-sel.flags(TC_U32_VAROFFSET|TC_U32_OFFSET|TC_U32_EAT))) + if (!(n-sel.flags(TC_U32_VAROFFSET|TC_U32_OFFSET|TC_U32_EAT))) { + if (!ht-divisor) + goto next_ht; + sel = ht-divisoru32_hash_fold(*(u32*)(ptr+n-sel.hoff), n-sel,n-fshift); goto next_ht; + } if (n-sel.flags(TC_U32_OFFSET|TC_U32_VAROFFSET)) { off2 = n-sel.off + 3; @@ -198,6 +200,9 @@ check_terminal: off2 = 0; } + if (ht-divisor ptr+n-sel.hoff skb_tail_pointer(skb)) + sel = ht-divisoru32_hash_fold(*(u32*)(ptr+n-sel.hoff), n-sel,n-fshift); + if (ptr skb_tail_pointer(skb)) goto next_ht; }
Re: [git patches] net driver fixes
Jeff Garzik (1): [netdrvr] sis190: build fix But you did it wrong... sis190.c b/drivers/net/sis190.c index b570402..2e9e88b 100644 --- a/drivers/net/sis190.c +++ b/drivers/net/sis190.c @@ -326,7 +326,7 @@ static const struct { { SiS 191 PCI Gigabit Ethernet adapter }, }; -static struct pci_device_id sis190_pci_tbl[] __devinitdata = { +static struct pci_device_id sis190_pci_tbl[] = { { PCI_DEVICE(PCI_VENDOR_ID_SI, 0x0190), 0, 0, 0 }, { PCI_DEVICE(PCI_VENDOR_ID_SI, 0x0191), 0, 0, 1 }, { 0, }, The __devinitdata is OK, it is the following _devinitdata that had to be _devinitconst. Sam -- To unsubscribe from this list: send the line unsubscribe netdev in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: Mostly revert e1000/e1000e: Move PCI-Express device IDs over to e1000e
Linus Torvalds wrote: On Tue, 29 Jan 2008, Randy Dunlap wrote: Andrew was concerned about this when the driver was in -mm. He asked for a patch that would set E1000E to same value as E1000 and I supplied that. Auke acked it IIRC. Other people vetoed it. :( Yeah, I've been discussing with Jeff and the gang. I think we have agreed on a solution where the ID's show up in the old driver if the new driver is not enabled at all. (And as a side note: it turns out that the problem I experienced didn't come from the new e1000e driver after all, so I'll be removing the EXPERIMENTAL flag again). So I'd suggest the final patch be something like this, but I'm sendign it out just as an example of how we could solve this, not necessarily as a final patch. Jeff, Auke, would something like this be acceptable? It makes it very obvious in the driver table which entries are for the PCIE versions that would be handled by the E1000E driver if it is enabled.. Untested, but as mentioned, this is more of a this looks maintainable and like it should solve the issues rather than anything I was planning on committing now. Linus --- drivers/net/Kconfig|5 ++- drivers/net/e1000/e1000_main.c | 60 ++-- 2 files changed, 37 insertions(+), 28 deletions(-) diff --git a/drivers/net/Kconfig b/drivers/net/Kconfig index 5a2d1dd..6c57540 100644 --- a/drivers/net/Kconfig +++ b/drivers/net/Kconfig @@ -1992,7 +1992,7 @@ config E1000_DISABLE_PACKET_SPLIT config E1000E tristate Intel(R) PRO/1000 PCI-Express Gigabit Ethernet support - depends on PCI EXPERIMENTAL + depends on PCI ---help--- This driver supports the PCI-Express Intel(R) PRO/1000 gigabit ethernet family of adapters. For PCI or PCI-X e1000 adapters, @@ -2009,6 +2009,9 @@ config E1000E To compile this driver as a module, choose M here. The module will be called e1000e. +config E1000E_ENABLED + def_bool E1000E != n + config IP1000 tristate IP1000 Gigabit Ethernet support depends on PCI EXPERIMENTAL diff --git a/drivers/net/e1000/e1000_main.c b/drivers/net/e1000/e1000_main.c index 3111af6..8c87940 100644 --- a/drivers/net/e1000/e1000_main.c +++ b/drivers/net/e1000/e1000_main.c @@ -47,6 +47,12 @@ static const char e1000_copyright[] = Copyright (c) 1999-2006 Intel Corporation * Macro expands to... * {PCI_DEVICE(PCI_VENDOR_ID_INTEL, device_id)} */ +#ifdef CONFIG_E1000E_ENABLED + #define PCIE(x) +#else + #define PCIE(x) x, +#endif Patch gets my ACK, if you like, though an improvement would be to have your Kconfig logic activate CONFIG_E1000_PCIEX. Then future janitors could come along and disable unused code in addition to PCI IDs. Jeff -- To unsubscribe from this list: send the line unsubscribe netdev in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: [PATCH retry] bluetooth : add conn add/del workqueues to avoid connection fail
Hi Dave, The bluetooth hci_conn sysfs add/del executed in the default workqueue. If the del_conn is executed after the new add_conn with same target, add_conn will failed with warning of same kobject name. Here add btaddconn btdelconn workqueues, flush the btdelconn workqueue in the add_conn function to avoid the issue. Signed-off-by: Dave Young [EMAIL PROTECTED] This looks good, applied, thanks Dave. I've queued this up for 2.6.25 merging, if you want me to schedule it for -stable, just let me know. don't include it. I first have to stress test it on one of my machines. Besides that I have to do some coding style cleanups. Regards Marcel -- To unsubscribe from this list: send the line unsubscribe netdev in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: [git patches] net driver fixes
Sam Ravnborg wrote: Jeff Garzik (1): [netdrvr] sis190: build fix But you did it wrong... sis190.c b/drivers/net/sis190.c index b570402..2e9e88b 100644 --- a/drivers/net/sis190.c +++ b/drivers/net/sis190.c @@ -326,7 +326,7 @@ static const struct { { SiS 191 PCI Gigabit Ethernet adapter }, }; -static struct pci_device_id sis190_pci_tbl[] __devinitdata = { +static struct pci_device_id sis190_pci_tbl[] = { { PCI_DEVICE(PCI_VENDOR_ID_SI, 0x0190), 0, 0, 0 }, { PCI_DEVICE(PCI_VENDOR_ID_SI, 0x0191), 0, 0, 1 }, { 0, }, The __devinitdata is OK, it is the following _devinitdata that had to be _devinitconst. Cool. Either way is fine with me. I just wanted to get a build fix upstream ASAP, one I was sure would work. Jeff -- To unsubscribe from this list: send the line unsubscribe netdev in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: [PATCH] [SIS190] Constify data marked as __devinitdata
On Jan 30 2008 11:53, Jonas Bonn wrote: This fixes build error as gcc complains about a section type conflict due to the const __devinitdata in sis190_get_mac_addr_from_apc(). -static struct pci_device_id sis190_pci_tbl[] __devinitdata = { +static const struct pci_device_id sis190_pci_tbl[] __devinitdata = { { PCI_DEVICE(PCI_VENDOR_ID_SI, 0x0190), 0, 0, 0 }, { PCI_DEVICE(PCI_VENDOR_ID_SI, 0x0191), 0, 0, 1 }, { 0, }, Eh? Did you mean to -static const u16 __devinitdata ids[] = { 0x0965, 0x0966, 0x0968 }; +static u16 __devinitdata ids[] = { 0x0965, 0x0966, 0x0968 }; instead? Because AFAIK, const *and* __sectionmarker does not mix. -- To unsubscribe from this list: send the line unsubscribe netdev in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html
b44 compile failure
drivers/net/b44.c: In function 'b44_remove_one': drivers/net/b44.c:2231: error: implicit declaration of function 'ssb_pcihost_set_power_state' compiles fine on 64 bit x86, but not on 32, see log: http://stats.buildserver.net/fetch.php?pkg=linux-2.6ver=2.6.24-trunk1%7Esnapshot.10272arch=i386stamp=1201665377file=logas=raw -- To unsubscribe from this list: send the line unsubscribe netdev in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html
[PATCH] [SIS190] Constify data marked as __devinitdata
This fixes build error as gcc complains about a section type conflict due to the const __devinitdata in sis190_get_mac_addr_from_apc(). --- drivers/net/sis190.c |2 +- 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/drivers/net/sis190.c b/drivers/net/sis190.c index b570402..e48e4ad 100644 --- a/drivers/net/sis190.c +++ b/drivers/net/sis190.c @@ -326,7 +326,7 @@ static const struct { { SiS 191 PCI Gigabit Ethernet adapter }, }; -static struct pci_device_id sis190_pci_tbl[] __devinitdata = { +static const struct pci_device_id sis190_pci_tbl[] __devinitdata = { { PCI_DEVICE(PCI_VENDOR_ID_SI, 0x0190), 0, 0, 0 }, { PCI_DEVICE(PCI_VENDOR_ID_SI, 0x0191), 0, 0, 1 }, { 0, }, -- 1.5.3.8 -- To unsubscribe from this list: send the line unsubscribe netdev in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: [PATCH] [SIS190] Constify data marked as __devinitdata
On Wed, Jan 30, 2008 at 12:23:23PM +0100, Jan Engelhardt wrote: On Jan 30 2008 11:53, Jonas Bonn wrote: This fixes build error as gcc complains about a section type conflict due to the const __devinitdata in sis190_get_mac_addr_from_apc(). -static struct pci_device_id sis190_pci_tbl[] __devinitdata = { +static const struct pci_device_id sis190_pci_tbl[] __devinitdata = { { PCI_DEVICE(PCI_VENDOR_ID_SI, 0x0190), 0, 0, 0 }, { PCI_DEVICE(PCI_VENDOR_ID_SI, 0x0191), 0, 0, 1 }, { 0, }, Eh? Did you mean to -static const u16 __devinitdata ids[] = { 0x0965, 0x0966, 0x0968 }; +static u16 __devinitdata ids[] = { 0x0965, 0x0966, 0x0968 }; instead? Because AFAIK, const *and* __sectionmarker does not mix. We have just introduced __initconst, __cpuinitconst, __meminitconst for const data. So the patch is wrong. Sam -- To unsubscribe from this list: send the line unsubscribe netdev in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html
[PATCH] [SIS190] Use _devinitconst for const data
This fixes build error as gcc complains about a section type conflict due to the mixing of const and non-const data in same section. --- drivers/net/sis190.c |4 ++-- 1 files changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/net/sis190.c b/drivers/net/sis190.c index b570402..f84c02e 100644 --- a/drivers/net/sis190.c +++ b/drivers/net/sis190.c @@ -326,7 +326,7 @@ static const struct { { SiS 191 PCI Gigabit Ethernet adapter }, }; -static struct pci_device_id sis190_pci_tbl[] __devinitdata = { +static struct pci_device_id sis190_pci_tbl[] __devinitconst = { { PCI_DEVICE(PCI_VENDOR_ID_SI, 0x0190), 0, 0, 0 }, { PCI_DEVICE(PCI_VENDOR_ID_SI, 0x0191), 0, 0, 1 }, { 0, }, @@ -1556,7 +1556,7 @@ static int __devinit sis190_get_mac_addr_from_eeprom(struct pci_dev *pdev, static int __devinit sis190_get_mac_addr_from_apc(struct pci_dev *pdev, struct net_device *dev) { - static const u16 __devinitdata ids[] = { 0x0965, 0x0966, 0x0968 }; + static u16 __devinitconst ids[] = { 0x0965, 0x0966, 0x0968 }; struct sis190_private *tp = netdev_priv(dev); struct pci_dev *isa_bridge; u8 reg, tmp8; -- 1.5.3.8 -- To unsubscribe from this list: send the line unsubscribe netdev in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: [PATCH] [SIS190] Constify data marked as __devinitdata
instead? Because AFAIK, const *and* __sectionmarker does not mix. You're right... it's documented in linux/init.h that const and __sectionmarker do not mix. The compile error is due to the use of const and __section marker in the function sis190_get_mac_addr_from_apc(). -- To unsubscribe from this list: send the line unsubscribe netdev in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: [PATCH] [SIS190] Use _devinitconst for const data
On Wed, Jan 30, 2008 at 12:57:16PM +0100, Jonas Bonn wrote: This fixes build error as gcc complains about a section type conflict due to the mixing of const and non-const data in same section. --- drivers/net/sis190.c |4 ++-- 1 files changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/net/sis190.c b/drivers/net/sis190.c index b570402..f84c02e 100644 --- a/drivers/net/sis190.c +++ b/drivers/net/sis190.c @@ -326,7 +326,7 @@ static const struct { { SiS 191 PCI Gigabit Ethernet adapter }, }; -static struct pci_device_id sis190_pci_tbl[] __devinitdata = { +static struct pci_device_id sis190_pci_tbl[] __devinitconst = { { PCI_DEVICE(PCI_VENDOR_ID_SI, 0x0190), 0, 0, 0 }, { PCI_DEVICE(PCI_VENDOR_ID_SI, 0x0191), 0, 0, 1 }, { 0, }, sis190_pci_tbl is not const... @@ -1556,7 +1556,7 @@ static int __devinit sis190_get_mac_addr_from_eeprom(struct pci_dev *pdev, static int __devinit sis190_get_mac_addr_from_apc(struct pci_dev *pdev, struct net_device *dev) { - static const u16 __devinitdata ids[] = { 0x0965, 0x0966, 0x0968 }; + static u16 __devinitconst ids[] = { 0x0965, 0x0966, 0x0968 }; struct sis190_private *tp = netdev_priv(dev); struct pci_dev *isa_bridge; u8 reg, tmp8; -- 1.5.3.8 -- To unsubscribe from this list: send the line unsubscribe linux-kernel in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/ -- To unsubscribe from this list: send the line unsubscribe netdev in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html
e1000 full-duplex TCP performance well below wire speed
(Pádraig Brady has suggested that I post this to Netdev. It was originally posted to LKML here: http://lkml.org/lkml/2008/1/30/141 ) Dear NetDev, We've connected a pair of modern high-performance boxes with integrated copper Gb/s Intel NICS, with an ethernet crossover cable, and have run some netperf full duplex TCP tests. The transfer rates are well below wire speed. We're reporting this as a kernel bug, because we expect a vanilla kernel with default settings to give wire speed (or close to wire speed) performance in this case. We DO see wire speed in simplex transfers. The behavior has been verified on multiple machines with identical hardware. Details: Kernel version: 2.6.23.12 ethernet NIC: Intel 82573L ethernet driver: e1000 version 7.3.20-k2 motherboard: Supermicro PDSML-LN2+ (one quad core Intel Xeon X3220, Intel 3000 chipset, 8GB memory) The test was done with various mtu sizes ranging from 1500 to 9000, with ethernet flow control switched on and off, and using reno and cubic as a TCP congestion control. The behavior depends on the setup. In one test we used cubic congestion control, flow control off. The transfer rate in one direction was above 0.9Gb/s while in the other direction it was 0.6 to 0.8 Gb/s. After 15-20s the rates flipped. Perhaps the two steams are fighting for resources. (The performance of a full duplex stream should be close to 1Gb/s in both directions.) A graph of the transfer speed as a function of time is here: https://n0.aei.uni-hannover.de/networktest/node19-new20-noflow.jpg Red shows transmit and green shows receive (please ignore other plots): We're happy to do additional testing, if that would help, and very grateful for any advice! Bruce Allen Carsten Aulbert Henning Fehrmann
Re: net-2.6.25 is no more...
From: Daniel Lezcano [EMAIL PROTECTED] Date: Wed, 30 Jan 2008 10:03:09 +0100 David Miller wrote: Now that the bulk has been merged over and we are actively working alongside Linus's tree I have moved all current patch applying to net-2.6 instead of net-2.6.25, so the current tree to use is: kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6.git This tree is for fixes only, right ? or shall we send enhancement patches to net-2.6 until net-2.6.26 appears ? The latter. -- To unsubscribe from this list: send the line unsubscribe netdev in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: [PATCH] [2/2] Remove some unnecessary gotos in established_get_first()
From: Oliver Neukum [EMAIL PROTECTED] Date: Wed, 30 Jan 2008 09:25:12 +0100 Now suppose somebody needs to change locking. He'll have to convert it back. IMHO a conditional return is worse than goto clearly_named_label I totally agree. -- To unsubscribe from this list: send the line unsubscribe netdev in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: [PATCH] [SIS190] Constify data marked as __devinitdata
On Wed, Jan 30, 2008 at 02:31:05PM +0100, Jan Engelhardt wrote: On Jan 30 2008 12:25, Sam Ravnborg wrote: We have just introduced __initconst, __cpuinitconst, __meminitconst for const data. So the patch is wrong. Oh joy, more tags. Is it actually possible to combine const with __devinitconst now? static const uint16_t foo[] __devinitconst = { ... }; Yes, try it. Sam -- To unsubscribe from this list: send the line unsubscribe netdev in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: e1000 full-duplex TCP performance well below wire speed
Hi David, Thanks for your note. (The performance of a full duplex stream should be close to 1Gb/s in both directions.) This is not a reasonable expectation. ACKs take up space on the link in the opposite direction of the transfer. So the link usage in the opposite direction of the transfer is very far from zero. Indeed, we are not asking to see 1000 Mb/s. We'd be happy to see 900 Mb/s. Netperf is trasmitting a large buffer in MTU-sized packets (min 1500 bytes). Since the acks are only about 60 bytes in size, they should be around 4% of the total traffic. Hence we would not expect to see more than 960 Mb/s. We have run these same tests on older kernels (with Broadcomm NICS) and gotten above 900 Mb/s full duplex. Cheers, Bruce -- To unsubscribe from this list: send the line unsubscribe netdev in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html
[drivers/net/bnx2.c] ADVERTISE_1000XPSE_ASYM
In drivers/net/bnx2.c:1285: it reads in function bnx2_setup_remote_phy(): if (pause_adv (ADVERTISE_1000XPSE_ASYM | ADVERTISE_1000XPSE_ASYM)) Note that the two are the same and this is therefore equivalent to if (pause_adv ADVERTISE_1000XPSE_ASYM) This appears to be incorrect, was maybe '| ADVERTISE_1000XPAUSE' intended? -- To unsubscribe from this list: send the line unsubscribe netdev in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html
[PATCH][net/sched/sch_teql.c] duplicate IFF_BROADCAST in FMASK, remove 2nd
Untested patch below, please confirm it's the right fix (should it be some other IFF_*?) -- duplicate IFF_BROADCAST, remove 2nd Signed-off-by: Roel Kluin [EMAIL PROTECTED] --- diff --git a/net/sched/sch_teql.c b/net/sched/sch_teql.c index c0ed06d..a53acf4 100644 --- a/net/sched/sch_teql.c +++ b/net/sched/sch_teql.c @@ -71,7 +71,7 @@ struct teql_sched_data #define NEXT_SLAVE(q) (((struct teql_sched_data*)qdisc_priv(q))-next) -#define FMASK (IFF_BROADCAST|IFF_POINTOPOINT|IFF_BROADCAST) +#define FMASK (IFF_BROADCAST|IFF_POINTOPOINT) /* teql* qdisc routines */ -- To unsubscribe from this list: send the line unsubscribe netdev in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: [PATCH] [SIS190] Constify data marked as __devinitdata
On Jan 30 2008 12:25, Sam Ravnborg wrote: We have just introduced __initconst, __cpuinitconst, __meminitconst for const data. So the patch is wrong. Oh joy, more tags. Is it actually possible to combine const with __devinitconst now? static const uint16_t foo[] __devinitconst = { ... }; -- To unsubscribe from this list: send the line unsubscribe netdev in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: e1000 full-duplex TCP performance well below wire speed
From: Bruce Allen [EMAIL PROTECTED] Date: Wed, 30 Jan 2008 03:51:51 -0600 (CST) [ netdev@vger.kernel.org added to CC: list, that is where kernel networking issues are discussed. ] (The performance of a full duplex stream should be close to 1Gb/s in both directions.) This is not a reasonable expectation. ACKs take up space on the link in the opposite direction of the transfer. So the link usage in the opposite direction of the transfer is very far from zero. -- To unsubscribe from this list: send the line unsubscribe netdev in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html
[PATCH] [SIS190] Use __devinitconst for const devinit data
Mixing const and __section was previously not allowed. New __devinitconst tag allows this. This fixes a gcc section type mismatch build error. --- drivers/net/sis190.c |4 ++-- 1 files changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/net/sis190.c b/drivers/net/sis190.c index b570402..d3126a9 100644 --- a/drivers/net/sis190.c +++ b/drivers/net/sis190.c @@ -326,7 +326,7 @@ static const struct { { SiS 191 PCI Gigabit Ethernet adapter }, }; -static struct pci_device_id sis190_pci_tbl[] __devinitdata = { +static const struct pci_device_id sis190_pci_tbl[] __devinitconst = { { PCI_DEVICE(PCI_VENDOR_ID_SI, 0x0190), 0, 0, 0 }, { PCI_DEVICE(PCI_VENDOR_ID_SI, 0x0191), 0, 0, 1 }, { 0, }, @@ -1556,7 +1556,7 @@ static int __devinit sis190_get_mac_addr_from_eeprom(struct pci_dev *pdev, static int __devinit sis190_get_mac_addr_from_apc(struct pci_dev *pdev, struct net_device *dev) { - static const u16 __devinitdata ids[] = { 0x0965, 0x0966, 0x0968 }; + static const u16 __devinitconst ids[] = { 0x0965, 0x0966, 0x0968 }; struct sis190_private *tp = netdev_priv(dev); struct pci_dev *isa_bridge; u8 reg, tmp8; -- 1.5.3.8 -- To unsubscribe from this list: send the line unsubscribe netdev in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: [PATCH 1/3] netns netfilter: semi-rewrite of /proc/net/foo_tables_*
Alexey Dobriyan wrote: Argh, there are many small but still wrong things with /proc/net/*_tables_* so I decided to do overhaul simultaneously making it more suitable for per-netns /proc/net/*_tables_* implementation. Fix a) xt_get_idx() duplicating now standard seq_list_start/seq_list_next iterators b) tables/matches/targets list was chosen again and again on every -next c) multiple useless af = NPROTO checks -- we simple don't supply invalid AFs there and registration function should BUG_ON instead. Regardless, the one in -next() is the most useless -- -next doesn't run at all if -start fails. d) Don't use mutex_lock_interruptible() -- it can fail and -stop is executed even if -start failed, so unlock without lock is possible. As side effect, streamline code by splitting xt_tgt_ops into xt_target_ops, xt_matches_ops, xt_tables_ops. xt_tables_ops hooks will be changed by per-netns code. Code of xt_matches_ops, xt_target_ops is identical except the list chosen for iterating, but I think consolidating code for two files not worth it given 16 hacks needed for it. Signed-off-by: Alexey Dobriyan [EMAIL PROTECTED] Applied, and I also removed the now unused TABLE/TARGET/MATCH enum. -- To unsubscribe from this list: send the line unsubscribe netdev in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: [PATCH 2/3] netns netfilter: netns propagation for /proc/net/*_tables_names
Alexey Dobriyan wrote: Propagate netns together with AF down to -start/-next/-stop iterators. Choose table based on netns and AF for showing. Applied. -- To unsubscribe from this list: send the line unsubscribe netdev in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: [PATCH 3/3] netns netfilter: create per-netns /proc/net/*_tables_*
Alexey Dobriyan wrote: Signed-off-by: Alexey Dobriyan [EMAIL PROTECTED] --- include/linux/netfilter/x_tables.h |4 ++-- net/ipv4/netfilter/arp_tables.c| 21 ++--- net/ipv4/netfilter/ip_tables.c | 21 ++--- net/ipv6/netfilter/ip6_tables.c| 22 +++--- net/netfilter/x_tables.c | 20 ++-- 5 files changed, 67 insertions(+), 21 deletions(-) Also applied, thanks. -- To unsubscribe from this list: send the line unsubscribe netdev in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: e1000 full-duplex TCP performance well below wire speed
On Wed, 30 Jan 2008 08:01:46 -0600 (CST) Bruce Allen [EMAIL PROTECTED] wrote: Hi David, Thanks for your note. (The performance of a full duplex stream should be close to 1Gb/s in both directions.) This is not a reasonable expectation. ACKs take up space on the link in the opposite direction of the transfer. So the link usage in the opposite direction of the transfer is very far from zero. Indeed, we are not asking to see 1000 Mb/s. We'd be happy to see 900 Mb/s. Netperf is trasmitting a large buffer in MTU-sized packets (min 1500 bytes). Since the acks are only about 60 bytes in size, they should be around 4% of the total traffic. Hence we would not expect to see more than 960 Mb/s. We have run these same tests on older kernels (with Broadcomm NICS) and gotten above 900 Mb/s full duplex. Cheers, Bru Don't forget the network overhead: http://sd.wareonearth.com/~phil/net/overhead/ Max TCP Payload data rates over ethernet: (1500-40)/(38+1500) = 94.9285 % IPv4, minimal headers (1500-52)/(38+1500) = 94.1482 % IPv4, TCP timestamps I believe what you are seeing is an effect that occurs when using cubic on links with no other idle traffic. With two flows at high speed, the first flow consumes most of the router buffer and backs off gradually, and the second flow is not very aggressive. It has been discussed back and forth between TCP researchers with no agreement, one side says that it is unfairness and the other side says it is not a problem in the real world because of the presence of background traffic. See: http://www.hamilton.ie/net/pfldnet2007_cubic_final.pdf http://www.csc.ncsu.edu/faculty/rhee/Rebuttal-LSM-new.pdf -- Stephen Hemminger [EMAIL PROTECTED] -- To unsubscribe from this list: send the line unsubscribe netdev in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: Mostly revert e1000/e1000e: Move PCI-Express device IDs over to e1000e
Jeff Garzik wrote: Linus Torvalds wrote: On Tue, 29 Jan 2008, Randy Dunlap wrote: Andrew was concerned about this when the driver was in -mm. He asked for a patch that would set E1000E to same value as E1000 and I supplied that. Auke acked it IIRC. Other people vetoed it. :( Yeah, I've been discussing with Jeff and the gang. I think we have agreed on a solution where the ID's show up in the old driver if the new driver is not enabled at all. (And as a side note: it turns out that the problem I experienced didn't come from the new e1000e driver after all, so I'll be removing the EXPERIMENTAL flag again). So I'd suggest the final patch be something like this, but I'm sendign it out just as an example of how we could solve this, not necessarily as a final patch. Jeff, Auke, would something like this be acceptable? It makes it very obvious in the driver table which entries are for the PCIE versions that would be handled by the E1000E driver if it is enabled.. Untested, but as mentioned, this is more of a this looks maintainable and like it should solve the issues rather than anything I was planning on committing now. Linus --- drivers/net/Kconfig|5 ++- drivers/net/e1000/e1000_main.c | 60 ++-- 2 files changed, 37 insertions(+), 28 deletions(-) diff --git a/drivers/net/Kconfig b/drivers/net/Kconfig index 5a2d1dd..6c57540 100644 --- a/drivers/net/Kconfig +++ b/drivers/net/Kconfig @@ -1992,7 +1992,7 @@ config E1000_DISABLE_PACKET_SPLIT config E1000E tristate Intel(R) PRO/1000 PCI-Express Gigabit Ethernet support -depends on PCI EXPERIMENTAL +depends on PCI ---help--- This driver supports the PCI-Express Intel(R) PRO/1000 gigabit ethernet family of adapters. For PCI or PCI-X e1000 adapters, @@ -2009,6 +2009,9 @@ config E1000E To compile this driver as a module, choose M here. The module will be called e1000e. +config E1000E_ENABLED +def_bool E1000E != n + config IP1000 tristate IP1000 Gigabit Ethernet support depends on PCI EXPERIMENTAL diff --git a/drivers/net/e1000/e1000_main.c b/drivers/net/e1000/e1000_main.c index 3111af6..8c87940 100644 --- a/drivers/net/e1000/e1000_main.c +++ b/drivers/net/e1000/e1000_main.c @@ -47,6 +47,12 @@ static const char e1000_copyright[] = Copyright (c) 1999-2006 Intel Corporation * Macro expands to... * {PCI_DEVICE(PCI_VENDOR_ID_INTEL, device_id)} */ +#ifdef CONFIG_E1000E_ENABLED + #define PCIE(x) +#else + #define PCIE(x) x, +#endif Patch gets my ACK, if you like, though an improvement would be to have your Kconfig logic activate CONFIG_E1000_PCIEX. Then future janitors could come along and disable unused code in addition to PCI IDs. Ack from my side as well, allthough I hope that this code will not live long as I would love to start taking out pci-e code out of e1000. If we merge this patch then I suggest that we don't do that until for at least a whole cycle, since it does not make much sense otherwise. Auke -- To unsubscribe from this list: send the line unsubscribe netdev in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: [PATCH] NET: constify data and function pointer tables
On Wed, Jan 30, 2008 at 04:25:17AM -0500, Jeff Garzik wrote: Jan Engelhardt wrote: Signed-off-by: Jan Engelhardt [EMAIL PROTECTED] --- drivers/net/bonding/bond_main.c |2 +- drivers/net/hamradio/bpqether.c |2 +- drivers/net/hamradio/scc.c |2 +- drivers/net/hamradio/yam.c |2 +- drivers/net/ibmveth.c |2 +- drivers/net/pppoe.c |2 +- drivers/net/pppol2tp.c |4 ++-- drivers/net/wireless/libertas/debugfs.c | 14 +++--- drivers/net/wireless/strip.c|2 +- 9 files changed, 16 insertions(+), 16 deletions(-) ACK -- but you should collect linville's ack of the wireless stuff too (even though the patch is simple and obvious) Looks fine to me...ACK -- John W. Linville [EMAIL PROTECTED] -- To unsubscribe from this list: send the line unsubscribe netdev in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: b44 compile failure
On Wed, Jan 30, 2008 at 11:59:26AM +0100, maximilian attems wrote: drivers/net/b44.c: In function 'b44_remove_one': drivers/net/b44.c:2231: error: implicit declaration of function 'ssb_pcihost_set_power_state' compiles fine on 64 bit x86, but not on 32, see log: http://stats.buildserver.net/fetch.php?pkg=linux-2.6ver=2.6.24-trunk1%7Esnapshot.10272arch=i386stamp=1201665377file=logas=raw It seems to build fine on my i686 box. What dtree are you using? And what is your .config? Is CONFIG_SSB enabled? Thanks, John -- John W. Linville [EMAIL PROTECTED] -- To unsubscribe from this list: send the line unsubscribe netdev in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html
[BUILD FAILURE] 2.6.24-git7 section type conflict at various drivers on powerpc
Hi, Following are the different build failure with 2.6.24-git7 kernel on the powerpc drivers/net/typhoon.c:181: error: typhoon_card_info causes a section type conflict make[2]: *** [drivers/net/typhoon.o] Error 1 drivers/net/natsemi.c:259: error: natsemi_pci_info causes a section type conflict make[2]: *** [drivers/net/natsemi.o] Error 1 drivers/net/bnx2.c:95: error: board_info causes a section type conflict make[2]: *** [drivers/net/bnx2.o] Error 1 drivers/net/via-velocity.c:454: error: velocity_id_table causes a section type conflict make[2]: *** [drivers/net/via-velocity.o] Error 1 Following are warning with section mismatch CONFIG_DEBUG_SECTION_MISMATCH enabled, WARNING: kernel/built-in.o(.text+0x423f4): Section mismatch in reference from the function .enable_nonboot_cpus() to the function .cpuinit.text:._cpu_up() The function .enable_nonboot_cpus() references the function __cpuinit ._cpu_up(). This is often because .enable_nonboot_cpus lacks a __cpuinit annotation or the annotation of ._cpu_up is wrong. WARNING: drivers/net/ibm_newemac/ibm_newemac.o(.devinit.text+0x1bb4): Section mismatch in reference from the function .emac_probe() to the function .devexit.text:.tah_detach() The function __devinit .emac_probe() references a function __devexit .tah_detach(). This is often seen when error handling in the init function uses functionality in the exit path. The fix is often to remove the __devexit annotation of .tah_detach() so it may be used outside an exit section. WARNING: drivers/net/ibm_newemac/ibm_newemac.o(.devinit.text+0x1bd0): Section mismatch in reference from the function .emac_probe() to the function .devexit.text:.rgmii_detach() The function __devinit .emac_probe() references a function __devexit .rgmii_detach(). This is often seen when error handling in the init function uses functionality in the exit path. The fix is often to remove the __devexit annotation of .rgmii_detach() so it may be used outside an exit section. WARNING: drivers/net/ibm_newemac/ibm_newemac.o(.devinit.text+0x1bec): Section mismatch in reference from the function .emac_probe() to the function .devexit.text:.zmii_detach() The function __devinit .emac_probe() references a function __devexit .zmii_detach(). This is often seen when error handling in the init function uses functionality in the exit path. The fix is often to remove the __devexit annotation of .zmii_detach() so it may be used outside an exit section. WARNING: drivers/net/ibm_newemac/ibm_newemac.o(.devinit.text+0x1bfc): Section mismatch in reference from the function .emac_probe() to the function .devexit.text:.mal_unregister_commac() The function __devinit .emac_probe() references a function __devexit .mal_unregister_commac(). This is often seen when error handling in the init function uses functionality in the exit path. The fix is often to remove the __devexit annotation of .mal_unregister_commac() so it may be used outside an exit section. LD drivers/net/ibm_newemac/built-in.o WARNING: drivers/net/ibm_newemac/built-in.o(.devinit.text+0x1bb4): Section mismatch in reference from the function .emac_probe() to the function .devexit.text:.tah_detach() The function __devinit .emac_probe() references a function __devexit .tah_detach(). This is often seen when error handling in the init function uses functionality in the exit path. The fix is often to remove the __devexit annotation of .tah_detach() so it may be used outside an exit section. WARNING: drivers/net/ibm_newemac/built-in.o(.devinit.text+0x1bd0): Section mismatch in reference from the function .emac_probe() to the function .devexit.text:.rgmii_detach() The function __devinit .emac_probe() references a function __devexit .rgmii_detach(). This is often seen when error handling in the init function uses functionality in the exit path. The fix is often to remove the __devexit annotation of .rgmii_detach() so it may be used outside an exit section. WARNING: drivers/net/ibm_newemac/built-in.o(.devinit.text+0x1bec): Section mismatch in reference from the function .emac_probe() to the function .devexit.text:.zmii_detach() The function __devinit .emac_probe() references a function __devexit .zmii_detach(). This is often seen when error handling in the init function uses functionality in the exit path. The fix is often to remove the __devexit annotation of .zmii_detach() so it may be used outside an exit section. WARNING: drivers/net/ibm_newemac/built-in.o(.devinit.text+0x1bfc): Section mismatch in reference from the function .emac_probe() to the function .devexit.text:.mal_unregister_commac() The function __devinit .emac_probe() references a function __devexit .mal_unregister_commac(). This is often seen when error handling in the init function uses functionality in the exit path. The fix is often to remove the __devexit annotation of .mal_unregister_commac() so it may be used outside an exit section. WARNING: drivers/net/mlx4/mlx4_core.o(.text+0x6cf8): Section
Re: [RFC/PATCH] e100 driver didn't support any MII-less PHYs...
Andreas Mohr wrote: Hi, On Tue, Jan 29, 2008 at 03:09:25PM -0800, Kok, Auke wrote: Andreas Mohr wrote: Perhaps it's useful to file a bug/patch on http://sourceforge.net/projects/e1000/ ? Perhaps -mm testing? I wanted to push this though our testing labs first which has not happened due to time constraints - that should quickly at least confirm that the most common nics work OK after the change with your patch. I'll try and see if we can get this testing done soon. Oh, full-scale regression testing even? Nice idea... Would optionally be even better if during hardware tests one could also dig out some i82503-based card (or additional MII-less cards?) since I didn't really make any effort yet to try to make them all recognized/supported by my patch already (would have been out of scope anyway since I have this single card only). the problem is that I think that most of those (mii-less cards) are customly designed by OEM's that buy the silicon and glue on a different interface and we usually do not carry those designs in our labs apart from a few exceptions. So, I can at least touch the common hardware in testing, but not the exotic stuff. Auke -- To unsubscribe from this list: send the line unsubscribe netdev in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: [PATCH] [NET] cpmac: convert to new Fixed PHY infrastructure (was: Re: fixed phy support (warning related to FIXED_MII_100_FDX))
On Jan 21, 2008, at 2:49 PM, Anton Vorontsov wrote: On Mon, Jan 21, 2008 at 01:19:41PM -0600, Kumar Gala wrote: Anton, it looks like the TI AR7 CPMAC Ethernet support uses FIXED_PHY and was selecting FIXED_MII_100_FDX which is gone. Can you look into this. I get the following warning now: scripts/kconfig/conf -s arch/powerpc/Kconfig drivers/net/Kconfig:1713:warning: 'select' used by config symbol 'CPMAC' refers to undefined symbol 'FIXED_MII_100_FDX' Wow. I thought there were no Fixed PHY users. :-) Jeff, as you've already Acked Fixed PHY rework to go through powerpc tree, would you please Ack this patch in addition? I hope cpmac maintainer will fix remaining issues as time goes by. Thanks! Jeff, just a reminder to look at this. - k - - - - From: Anton Vorontsov [EMAIL PROTECTED] Subject: [PATCH] [NET] cpmac: convert to new Fixed PHY infrastructure This patch converts cpmac to the new Fixed PHY infrastructure, though it doesn't fix all the problems with that driver. I didn't even bother to test this patch to compile, because cpmac driver is broken in several ways: 1. This driver won't compile by itself because lack of its header describing platform data; 2. It assumes that fixed PHYs should be created by the ethernet driver. It is wrong assumption: fixed PHYs creation is platform code authority, driver must blindly accept bus_id and phy_id platform data variables instead. Also, it seem that that driver doesn't have actual in-tree users, so nothing to fix further. The main purpose of that patch is to get rid of the following Kconfig warning: scripts/kconfig/conf -s arch/powerpc/Kconfig drivers/net/Kconfig:1713:warning: 'select' used by config symbol 'CPMAC' refers to undefined symbol 'FIXED_MII_100_FDX' Signed-off-by: Anton Vorontsov [EMAIL PROTECTED] --- drivers/net/Kconfig |4 +-- drivers/net/cpmac.c | 55 +++ +-- 2 files changed, 19 insertions(+), 40 deletions(-) diff --git a/drivers/net/Kconfig b/drivers/net/Kconfig index 114771a..5380ff9 100644 --- a/drivers/net/Kconfig +++ b/drivers/net/Kconfig @@ -1707,10 +1707,8 @@ config SC92031 config CPMAC tristate TI AR7 CPMAC Ethernet support (EXPERIMENTAL) - depends on NET_ETHERNET EXPERIMENTAL AR7 + depends on NET_ETHERNET EXPERIMENTAL AR7 BROKEN select PHYLIB - select FIXED_PHY - select FIXED_MII_100_FDX help TI AR7 CPMAC Ethernet support diff --git a/drivers/net/cpmac.c b/drivers/net/cpmac.c index 6fd95a2..88eeb1d 100644 --- a/drivers/net/cpmac.c +++ b/drivers/net/cpmac.c @@ -848,15 +848,6 @@ static void cpmac_adjust_link(struct net_device *dev) spin_unlock(priv-lock); } -static int cpmac_link_update(struct net_device *dev, -struct fixed_phy_status *status) -{ - status-link = 1; - status-speed = 100; - status-duplex = 1; - return 0; -} - static int cpmac_open(struct net_device *dev) { int i, size, res; @@ -999,11 +990,11 @@ static int external_switch; static int __devinit cpmac_probe(struct platform_device *pdev) { int rc, phy_id, i; + int mdio_bus_id = cpmac_mii.id; struct resource *mem; struct cpmac_priv *priv; struct net_device *dev; struct plat_cpmac_data *pdata; - struct fixed_info *fixed_phy; DECLARE_MAC_BUF(mac); pdata = pdev-dev.platform_data; @@ -1017,9 +1008,23 @@ static int __devinit cpmac_probe(struct platform_device *pdev) } if (phy_id == PHY_MAX_ADDR) { - if (external_switch || dumb_switch) + if (external_switch || dumb_switch) { + struct fixed_phy_status status = {}; + + mdio_bus_id = 0; + + /* +* FIXME: this should be in the platform code! +* Since there is not platform code at all (that is, +* no mainline users of that driver), place it here +* for now. +*/ phy_id = 0; - else { + status.link = 1; + status.duplex = 1; + status.speed = 100; + fixed_phy_add(PHY_POLL, phy_id, status); + } else { printk(KERN_ERR cpmac: no PHY present\n); return -ENODEV; } @@ -1063,32 +1068,8 @@ static int __devinit cpmac_probe(struct platform_device *pdev) priv-msg_enable = netif_msg_init(debug_level, 0xff); memcpy(dev-dev_addr, pdata-dev_addr, sizeof(dev-dev_addr)); - if (phy_id == 31) { - snprintf(priv-phy_name, BUS_ID_SIZE, PHY_ID_FMT, cpmac_mii.id, -phy_id); - } else { - /* Let's try to get a free fixed phy... */ - for (i = 0; i
Re: e1000 performance issue in 4 simultaneous links
Denys Fedoryshchenko wrote: Sorry. that i interfere in this subject. Do you recommend CONFIG_IRQBALANCE to be enabled? I certainly do not. Manual tweaking and pinning the irq's to the correct CPU will give the best performance (for specific loads). The userspace irqbalance daemon tries very hard to approximate this behaviour and is what I recommend for most situations, it usually does the right thing and does so without making your head spin (just start it). The in-kernel one usually does the wrong thing for network loads. Cheers, Auke -- To unsubscribe from this list: send the line unsubscribe netdev in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: [PATCH] [NET] cpmac: convert to new Fixed PHY infrastructure
Anton Vorontsov wrote: On Mon, Jan 21, 2008 at 01:19:41PM -0600, Kumar Gala wrote: Anton, it looks like the TI AR7 CPMAC Ethernet support uses FIXED_PHY and was selecting FIXED_MII_100_FDX which is gone. Can you look into this. I get the following warning now: scripts/kconfig/conf -s arch/powerpc/Kconfig drivers/net/Kconfig:1713:warning: 'select' used by config symbol 'CPMAC' refers to undefined symbol 'FIXED_MII_100_FDX' Wow. I thought there were no Fixed PHY users. :-) Jeff, as you've already Acked Fixed PHY rework to go through powerpc tree, would you please Ack this patch in addition? I hope cpmac maintainer will fix remaining issues as time goes by. Thanks! - - - - From: Anton Vorontsov [EMAIL PROTECTED] Subject: [PATCH] [NET] cpmac: convert to new Fixed PHY infrastructure This patch converts cpmac to the new Fixed PHY infrastructure, though it doesn't fix all the problems with that driver. I didn't even bother to test this patch to compile, because cpmac driver is broken in several ways: 1. This driver won't compile by itself because lack of its header describing platform data; 2. It assumes that fixed PHYs should be created by the ethernet driver. It is wrong assumption: fixed PHYs creation is platform code authority, driver must blindly accept bus_id and phy_id platform data variables instead. Also, it seem that that driver doesn't have actual in-tree users, so nothing to fix further. The main purpose of that patch is to get rid of the following Kconfig warning: scripts/kconfig/conf -s arch/powerpc/Kconfig drivers/net/Kconfig:1713:warning: 'select' used by config symbol 'CPMAC' refers to undefined symbol 'FIXED_MII_100_FDX' Signed-off-by: Anton Vorontsov [EMAIL PROTECTED] ACK -- To unsubscribe from this list: send the line unsubscribe netdev in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: [PATCH] [NET] cpmac: convert to new Fixed PHY infrastructure
On Jan 30, 2008, at 11:09 AM, Jeff Garzik wrote: Anton Vorontsov wrote: On Mon, Jan 21, 2008 at 01:19:41PM -0600, Kumar Gala wrote: Anton, it looks like the TI AR7 CPMAC Ethernet support uses FIXED_PHY and was selecting FIXED_MII_100_FDX which is gone. Can you look into this. I get the following warning now: scripts/kconfig/conf -s arch/powerpc/Kconfig drivers/net/Kconfig:1713:warning: 'select' used by config symbol 'CPMAC' refers to undefined symbol 'FIXED_MII_100_FDX' Wow. I thought there were no Fixed PHY users. :-) Jeff, as you've already Acked Fixed PHY rework to go through powerpc tree, would you please Ack this patch in addition? I hope cpmac maintainer will fix remaining issues as time goes by. Thanks! - - - - From: Anton Vorontsov [EMAIL PROTECTED] Subject: [PATCH] [NET] cpmac: convert to new Fixed PHY infrastructure This patch converts cpmac to the new Fixed PHY infrastructure, though it doesn't fix all the problems with that driver. I didn't even bother to test this patch to compile, because cpmac driver is broken in several ways: 1. This driver won't compile by itself because lack of its header describing platform data; 2. It assumes that fixed PHYs should be created by the ethernet driver. It is wrong assumption: fixed PHYs creation is platform code authority, driver must blindly accept bus_id and phy_id platform data variables instead. Also, it seem that that driver doesn't have actual in-tree users, so nothing to fix further. The main purpose of that patch is to get rid of the following Kconfig warning: scripts/kconfig/conf -s arch/powerpc/Kconfig drivers/net/Kconfig:1713:warning: 'select' used by config symbol 'CPMAC' refers to undefined symbol 'FIXED_MII_100_FDX' Signed-off-by: Anton Vorontsov [EMAIL PROTECTED] ACK Is this going through netdev or do you want me to pick it via the powerpc route? - k -- To unsubscribe from this list: send the line unsubscribe netdev in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: [BUILD FAILURE] 2.6.24-git7 section type conflict at various drivers on powerpc
On Wed, Jan 30, 2008 at 09:49:59PM +0530, Kamalesh Babulal wrote: Hi, Following are the different build failure with 2.6.24-git7 kernel on the powerpc drivers/net/typhoon.c:181: error: typhoon_card_info causes a section type conflict make[2]: *** [drivers/net/typhoon.o] Error 1 drivers/net/natsemi.c:259: error: natsemi_pci_info causes a section type conflict make[2]: *** [drivers/net/natsemi.o] Error 1 drivers/net/bnx2.c:95: error: board_info causes a section type conflict make[2]: *** [drivers/net/bnx2.o] Error 1 drivers/net/via-velocity.c:454: error: velocity_id_table causes a section type conflict make[2]: *** [drivers/net/via-velocity.o] Error 1 A quick look told me that they are all caused by const data annotated with __devinitdata. Try replacing all annotations of const variables from __devinitdata to __devinitconst. Sam -- To unsubscribe from this list: send the line unsubscribe netdev in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: [PATCH] [1/2] Skip empty hash buckets faster in /proc/net/tcp
On a 2GB Core2 system here I see a time cat /proc/net/tcp /dev/null constently dropping from 0.44s to 0.4-0.8s system time with this change. Seems like there must be a typo in either the before or after times you report here? -- To unsubscribe from this list: send the line unsubscribe netdev in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: [PATCH] [1/2] Skip empty hash buckets faster in /proc/net/tcp
On Wed, Jan 30, 2008 at 09:03:16AM -0800, Roland Dreier wrote: On a 2GB Core2 system here I see a time cat /proc/net/tcp /dev/null constently dropping from 0.44s to 0.4-0.8s system time with this change. Seems like there must be a typo in either the before or after times you report here? Yes thanks, it was 0.44s down to 0.04s/0.08s here. Somehow the zeroes got lost. -Andi -- To unsubscribe from this list: send the line unsubscribe netdev in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html
RE: e1000 full-duplex TCP performance well below wire speed
Bruce Allen wrote: Details: Kernel version: 2.6.23.12 ethernet NIC: Intel 82573L ethernet driver: e1000 version 7.3.20-k2 motherboard: Supermicro PDSML-LN2+ (one quad core Intel Xeon X3220, Intel 3000 chipset, 8GB memory) Hi Bruce, The 82573L (a client NIC, regardless of the class of machine it is in) only has a x1 connection which does introduce some latency since the slot is only capable of about 2Gb/s data total, which includes overhead of descriptors and other transactions. As you approach the maximum of the slot it gets more and more difficult to get wire speed in a bidirectional test. The test was done with various mtu sizes ranging from 1500 to 9000, with ethernet flow control switched on and off, and using reno and cubic as a TCP congestion control. As asked in LKML thread, please post the exact netperf command used to start the client/server, whether or not you're using irqbalanced (aka irqbalance) and what cat /proc/interrupts looks like (you ARE using MSI, right?) I've recently discovered that particularly with the most recent kernels if you specify any socket options (-- -SX -sY) to netperf it does worse than if it just lets the kernel auto-tune. The behavior depends on the setup. In one test we used cubic congestion control, flow control off. The transfer rate in one direction was above 0.9Gb/s while in the other direction it was 0.6 to 0.8 Gb/s. After 15-20s the rates flipped. Perhaps the two steams are fighting for resources. (The performance of a full duplex stream should be close to 1Gb/s in both directions.) A graph of the transfer speed as a function of time is here: https://n0.aei.uni-hannover.de/networktest/node19-new20-noflow.jpg Red shows transmit and green shows receive (please ignore other plots): One other thing you can try with e1000 is disabling the dynamic interrupt moderation by loading the driver with InterruptThrottleRate=8000,8000,... (the number of commas depends on your number of ports) which might help in your particular benchmark. just for completeness can you post the dump of ethtool -e eth0 and lspci -vvv? Thanks, Jesse -- To unsubscribe from this list: send the line unsubscribe netdev in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: [PATCH] [NET] cpmac: convert to new Fixed PHY infrastructure
Kumar Gala wrote: On Jan 30, 2008, at 11:09 AM, Jeff Garzik wrote: Anton Vorontsov wrote: On Mon, Jan 21, 2008 at 01:19:41PM -0600, Kumar Gala wrote: Anton, it looks like the TI AR7 CPMAC Ethernet support uses FIXED_PHY and was selecting FIXED_MII_100_FDX which is gone. Can you look into this. I get the following warning now: scripts/kconfig/conf -s arch/powerpc/Kconfig drivers/net/Kconfig:1713:warning: 'select' used by config symbol 'CPMAC' refers to undefined symbol 'FIXED_MII_100_FDX' Wow. I thought there were no Fixed PHY users. :-) Jeff, as you've already Acked Fixed PHY rework to go through powerpc tree, would you please Ack this patch in addition? I hope cpmac maintainer will fix remaining issues as time goes by. Thanks! - - - - From: Anton Vorontsov [EMAIL PROTECTED] Subject: [PATCH] [NET] cpmac: convert to new Fixed PHY infrastructure This patch converts cpmac to the new Fixed PHY infrastructure, though it doesn't fix all the problems with that driver. I didn't even bother to test this patch to compile, because cpmac driver is broken in several ways: 1. This driver won't compile by itself because lack of its header describing platform data; 2. It assumes that fixed PHYs should be created by the ethernet driver. It is wrong assumption: fixed PHYs creation is platform code authority, driver must blindly accept bus_id and phy_id platform data variables instead. Also, it seem that that driver doesn't have actual in-tree users, so nothing to fix further. The main purpose of that patch is to get rid of the following Kconfig warning: scripts/kconfig/conf -s arch/powerpc/Kconfig drivers/net/Kconfig:1713:warning: 'select' used by config symbol 'CPMAC' refers to undefined symbol 'FIXED_MII_100_FDX' Signed-off-by: Anton Vorontsov [EMAIL PROTECTED] ACK Is this going through netdev or do you want me to pick it via the powerpc route? Based on your comments I sorta assumed it was most convenient to lump in with the rest of the powerpc changes... Jeff -- To unsubscribe from this list: send the line unsubscribe netdev in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: net-2.6.25 is no more...
David Miller wrote: From: Daniel Lezcano [EMAIL PROTECTED] Date: Wed, 30 Jan 2008 10:03:09 +0100 David Miller wrote: Now that the bulk has been merged over and we are actively working alongside Linus's tree I have moved all current patch applying to net-2.6 instead of net-2.6.25, so the current tree to use is: kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6.git This tree is for fixes only, right ? or shall we send enhancement patches to net-2.6 until net-2.6.26 appears ? The latter. What will happen to the patches sent to net-2.6.25 a few days ago during the merge ? Should I resend them against net-2.6 ? -- To unsubscribe from this list: send the line unsubscribe netdev in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html
Strange commit 42a73808ed4f30b739eb52bcbb33a02fe62ceef5
Commit 42a73808ed4f30b739eb52bcbb33a02fe62ceef5 ([RAW]: Consolidate proc interface.) did not only change raw6_seq_ops (including adding 3 EXPORT_SYMBOL_GPL's to net/ipv4/raw.c for accessing functions from there), it also removed the only user of raw6_seq_ops... cu Adrian -- Is there not promise of rain? Ling Tan asked suddenly out of the darkness. There had been need of rain for many days. Only a promise, Lao Er said. Pearl S. Buck - Dragon Seed -- To unsubscribe from this list: send the line unsubscribe netdev in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: b44 compile failure
On Wed, 30 Jan 2008, John W. Linville wrote: On Wed, Jan 30, 2008 at 11:59:26AM +0100, maximilian attems wrote: drivers/net/b44.c: In function 'b44_remove_one': drivers/net/b44.c:2231: error: implicit declaration of function 'ssb_pcihost_set_power_state' compiles fine on 64 bit x86, but not on 32, see log: http://stats.buildserver.net/fetch.php?pkg=linux-2.6ver=2.6.24-trunk1%7Esnapshot.10272arch=i386stamp=1201665377file=logas=raw It seems to build fine on my i686 box. What dtree are you using? And what is your .config? Is CONFIG_SSB enabled? don't see any CONFIG_SSB above. strange can't reprodcue neither, so forget for now. thanks -- To unsubscribe from this list: send the line unsubscribe netdev in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: net-2.6.25 is no more...
Em Wed, Jan 30, 2008 at 06:38:53PM +0100, Daniel Lezcano escreveu: David Miller wrote: From: Daniel Lezcano [EMAIL PROTECTED] Date: Wed, 30 Jan 2008 10:03:09 +0100 David Miller wrote: Now that the bulk has been merged over and we are actively working alongside Linus's tree I have moved all current patch applying to net-2.6 instead of net-2.6.25, so the current tree to use is: kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6.git This tree is for fixes only, right ? or shall we send enhancement patches to net-2.6 until net-2.6.26 appears ? The latter. What will happen to the patches sent to net-2.6.25 a few days ago during the merge ? Should I resend them against net-2.6 ? They are probably in net-2.6 already, have you checked? I checked and a fix I sent that was not yet merged by Linus is there, in net-2.6. - Arnaldo -- To unsubscribe from this list: send the line unsubscribe netdev in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: [PATCH] [NET] cpmac: convert to new Fixed PHY infrastructure
Is this going through netdev or do you want me to pick it via the powerpc route? Based on your comments I sorta assumed it was most convenient to lump in with the rest of the powerpc changes... That's fine. I'll push it via the powerpc trees. - k -- To unsubscribe from this list: send the line unsubscribe netdev in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: e1000 full-duplex TCP performance well below wire speed
As asked in LKML thread, please post the exact netperf command used to start the client/server, whether or not you're using irqbalanced (aka irqbalance) and what cat /proc/interrupts looks like (you ARE using MSI, right?) In particular, it would be good to know if you are doing two concurrent streams, or if you are using the burst mode TCP_RR with large request/response sizes method which then is only using one connection. I've recently discovered that particularly with the most recent kernels if you specify any socket options (-- -SX -sY) to netperf it does worse than if it just lets the kernel auto-tune. That is the bit where explicit setsockopts are capped by core [rw]mem sysctls but the autotuning is not correct? rick jones BTW, a bit of netperf news - the omni (two routines to measure it all) tests seem to be more or less working now in top of trunk netperf. It of course still needs work/polish, but if folks would like to play with them, I'd love the feedback. Output is a bit different from classic netperf, and includes an option to emit the results as csv (test-specific -o presently) rather than human readable (test-specific -O). You get the omni stuff via ./configure --enable-omni and use omni as the test name. No docs yet, for options and their effects, you need to look at scan_omni_args in src/nettest_omni.c One other addition in the omni tests is retreiving not just the initial SO_*BUF sizes, but also the final SO_*BUF sizes so one can see where autotuning took things just based on netperf output. If the general concensus is that the overhead of the omni stuff isn't too dear, (there are more conditionals in the mainline than with classic netperf) I will convert the classic netperf tests to use the omni code. BTW, don't have a heart attack when you see the quantity of current csv output - I do plan on being able to let the user specify what values should be included :) -- To unsubscribe from this list: send the line unsubscribe netdev in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: [drivers/net/bnx2.c] ADVERTISE_1000XPSE_ASYM
On Wed, 2008-01-30 at 15:07 +0100, Roel Kluin wrote: In drivers/net/bnx2.c:1285: it reads in function bnx2_setup_remote_phy(): if (pause_adv (ADVERTISE_1000XPSE_ASYM | ADVERTISE_1000XPSE_ASYM)) Note that the two are the same and this is therefore equivalent to if (pause_adv ADVERTISE_1000XPSE_ASYM) This appears to be incorrect, was maybe '| ADVERTISE_1000XPAUSE' intended? Thanks for catching this. The patch below will fix it. [BNX2]: Fix ASYM PAUSE advertisement for remote PHY. We were checking for the ASYM_PAUSE bit for 1000Base-X twice instead checking for both the 1000Base-X bit and the 10/100/1000Base-T bit. The purpose of the logic is to tell the firmware that ASYM_PAUSE is set on either the Serdes or Copper interface. Problem was discovered by Roel Kluin [EMAIL PROTECTED] Signed-off-by: Michael Chan [EMAIL PROTECTED] diff --git a/drivers/net/bnx2.c b/drivers/net/bnx2.c index be7e8f8..77400ad 100644 --- a/drivers/net/bnx2.c +++ b/drivers/net/bnx2.c @@ -1429,7 +1429,7 @@ bnx2_setup_remote_phy(struct bnx2 *bp, u8 port) if (pause_adv (ADVERTISE_1000XPAUSE | ADVERTISE_PAUSE_CAP)) speed_arg |= BNX2_NETLINK_SET_LINK_FC_SYM_PAUSE; - if (pause_adv (ADVERTISE_1000XPSE_ASYM | ADVERTISE_1000XPSE_ASYM)) + if (pause_adv (ADVERTISE_1000XPSE_ASYM | ADVERTISE_PAUSE_ASYM)) speed_arg |= BNX2_NETLINK_SET_LINK_FC_ASYM_PAUSE; if (port == PORT_TP) -- To unsubscribe from this list: send the line unsubscribe netdev in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: net-2.6.25 is no more...
Arnaldo Carvalho de Melo wrote: Em Wed, Jan 30, 2008 at 06:38:53PM +0100, Daniel Lezcano escreveu: David Miller wrote: From: Daniel Lezcano [EMAIL PROTECTED] Date: Wed, 30 Jan 2008 10:03:09 +0100 David Miller wrote: Now that the bulk has been merged over and we are actively working alongside Linus's tree I have moved all current patch applying to net-2.6 instead of net-2.6.25, so the current tree to use is: kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6.git This tree is for fixes only, right ? or shall we send enhancement patches to net-2.6 until net-2.6.26 appears ? The latter. What will happen to the patches sent to net-2.6.25 a few days ago during the merge ? Should I resend them against net-2.6 ? They are probably in net-2.6 already, have you checked? I checked and a fix I sent that was not yet merged by Linus is there, in net-2.6. I checked net-2.6, but unfortunately they are not in. I sent two compilation fix error and a subset of the netns ipv6 routing. -- To unsubscribe from this list: send the line unsubscribe netdev in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: [PATCH] [1/1] Deprecate tcp_tw_{reuse,recycle}
Andi Kleen wrote: We've recently had a long discussion about the CVE-2005-0356 time stamp denial-of-service attack. It turned out that Linux is only vunerable to this problem when tcp_tw_recycle is enabled (which it is not by default). In general these two options are not really usable in today's internet because they make the (often false) assumption that a single IP address has a single TCP time stamp / PAWS clock. This assumption breaks both NAT/masquerading and also opens Linux to denial of service attacks (see the CVE description) Due to these numerous problems I propose to remove this code for 2.6.26 We use these features to enable creating very high numbers of short-lived TCP connections, primarily used as a test tool for other network devices. Perhaps just document the adverse affects and/or have it print out a warning on the console whenever the feature is enabled? Thanks, Ben -- Ben Greear [EMAIL PROTECTED] Candela Technologies Inc http://www.candelatech.com -- To unsubscribe from this list: send the line unsubscribe netdev in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: e1000 full-duplex TCP performance well below wire speed
Bruce Allen wrote: (Pádraig Brady has suggested that I post this to Netdev. It was originally posted to LKML here: http://lkml.org/lkml/2008/1/30/141 ) Dear NetDev, We've connected a pair of modern high-performance boxes with integrated copper Gb/s Intel NICS, with an ethernet crossover cable, and have run some netperf full duplex TCP tests. The transfer rates are well below wire speed. We're reporting this as a kernel bug, because we expect a vanilla kernel with default settings to give wire speed (or close to wire speed) performance in this case. We DO see wire speed in simplex transfers. The behavior has been verified on multiple machines with identical hardware. Try using NICs in the pci-e slots. We have better luck there, as you usually have more lanes and/or higher quality NIC chipsets available in this case. Try a UDP test to make sure the NIC can actually handle the throughput. Look at the actual link usage as reported by the ethernet driver so that you take all of the ACKS and other overhead into account. Try the same test using 10G hardware (CX4 NICs are quite affordable these days, and we drove a 2-port 10G NIC based on the Intel ixgbe chipset at around 4Gbps on two ports, full duplex, using pktgen). As in around 16Gbps throughput across the busses. That may also give you an idea if the bottleneck is hardware or software related. Ben -- Ben Greear [EMAIL PROTECTED] Candela Technologies Inc http://www.candelatech.com -- To unsubscribe from this list: send the line unsubscribe netdev in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html
[2.6 patch] via-rhine.c:rhine_hw_init() must be __devinit
Thie patch fixes the following section mismatch: -- snip -- ... WARNING: drivers/net/built-in.o(.text+0xdd840): Section mismatch in reference from the function rhine_hw_init() to the function .devinit.text:rhine_reload_eeprom() ... -- snip -- Signed-off-by: Adrian Bunk [EMAIL PROTECTED] --- a79db62b73dab2b71fa2f47398fd39364d7aae31 diff --git a/drivers/net/via-rhine.c b/drivers/net/via-rhine.c index 87c180b..7c851b1 100644 --- a/drivers/net/via-rhine.c +++ b/drivers/net/via-rhine.c @@ -606,7 +606,7 @@ static int rhine_napipoll(struct napi_struct *napi, int budget) } #endif -static void rhine_hw_init(struct net_device *dev, long pioaddr) +static void __devinit rhine_hw_init(struct net_device *dev, long pioaddr) { struct rhine_private *rp = netdev_priv(dev); -- To unsubscribe from this list: send the line unsubscribe netdev in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html
[2.6 patch] olympic_open() must be __devinit
This patch fixes the following section mismatch: -- snip -- ... WARNING: drivers/net/built-in.o(.text+0x155573): Section mismatch in reference from the function olympic_open() to the function .devinit.text:olympic_init() ... -- snip -- Signed-off-by: Adrian Bunk [EMAIL PROTECTED] --- fd1e6e0bb5b17dc85cd24d6263e8751e816f59e6 diff --git a/drivers/net/tokenring/olympic.c b/drivers/net/tokenring/olympic.c index e7b4adc..433c994 100644 --- a/drivers/net/tokenring/olympic.c +++ b/drivers/net/tokenring/olympic.c @@ -434,7 +434,7 @@ static int __devinit olympic_init(struct net_device *dev) } -static int olympic_open(struct net_device *dev) +static int __devinit olympic_open(struct net_device *dev) { struct olympic_private *olympic_priv=netdev_priv(dev); u8 __iomem *olympic_mmio=olympic_priv-olympic_mmio,*init_srb; -- To unsubscribe from this list: send the line unsubscribe netdev in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html
[2.6 patch] ibmlana_adapter_names[] must be __devinitdata
This patch fixes the following section mismatch: -- snip -- ... WARNING: drivers/net/built-in.o(.devinit.text+0x1baa4): Section mismatch in reference from the function ibmlana_init_one() to the variable .init.data:ibmlana_adapter_names ... -- snip -- Signed-off-by: Adrian Bunk [EMAIL PROTECTED] --- 50492d4a3ae5358858e6db3572370fb874203074 diff --git a/drivers/net/ibmlana.c b/drivers/net/ibmlana.c index 4ccc1cd..95e3464 100644 --- a/drivers/net/ibmlana.c +++ b/drivers/net/ibmlana.c @@ -901,7 +901,7 @@ static short ibmlana_adapter_ids[] __initdata = { 0x }; -static char *ibmlana_adapter_names[] __initdata = { +static char *ibmlana_adapter_names[] __devinitdata = { IBM LAN Adapter/A, NULL }; -- To unsubscribe from this list: send the line unsubscribe netdev in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html
[2.6 patch] ibmlana_init_one() must be __devinit
This patch fixes the following section mismatch: -- snip -- ... WARNING: drivers/net/built-in.o(.text+0x1148a5): Section mismatch in reference from the function ibmlana_init_one() to the variable .init.data:ibmlana_adapter_names ... -- snip -- Signed-off-by: Adrian Bunk [EMAIL PROTECTED] --- ec20d90864ce5b935b10bb9190be09686aa94904 diff --git a/drivers/net/ibmlana.c b/drivers/net/ibmlana.c index 46e2c52..4ccc1cd 100644 --- a/drivers/net/ibmlana.c +++ b/drivers/net/ibmlana.c @@ -906,7 +906,7 @@ static char *ibmlana_adapter_names[] __initdata = { NULL }; -static int ibmlana_init_one(struct device *kdev) +static int __devinit ibmlana_init_one(struct device *kdev) { struct mca_device *mdev = to_mca_device(kdev); struct net_device *dev; -- To unsubscribe from this list: send the line unsubscribe netdev in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html
[2.6 patch] net/xfrm/: remove unused exports
This patch removes the following no longer used EXPORT_SYMBOL's: - xfrm_input.c: xfrm_parse_spi - xfrm_state.c: xfrm_replay_check - xfrm_state.c: xfrm_replay_advance Signed-off-by: Adrian Bunk [EMAIL PROTECTED] --- net/xfrm/xfrm_input.c |1 - net/xfrm/xfrm_state.c |2 -- 2 files changed, 3 deletions(-) 03a968fa089d9d1a700875af339b263b6fff4ff3 diff --git a/net/xfrm/xfrm_input.c b/net/xfrm/xfrm_input.c index 039e701..d32b67a 100644 --- a/net/xfrm/xfrm_input.c +++ b/net/xfrm/xfrm_input.c @@ -81,7 +81,6 @@ int xfrm_parse_spi(struct sk_buff *skb, u8 nexthdr, __be32 *spi, __be32 *seq) *seq = *(__be32*)(skb_transport_header(skb) + offset_seq); return 0; } -EXPORT_SYMBOL(xfrm_parse_spi); int xfrm_prepare_input(struct xfrm_state *x, struct sk_buff *skb) { diff --git a/net/xfrm/xfrm_state.c b/net/xfrm/xfrm_state.c index 3003503..15daed0 100644 --- a/net/xfrm/xfrm_state.c +++ b/net/xfrm/xfrm_state.c @@ -1645,7 +1645,6 @@ err: xfrm_audit_state_replay(x, skb, net_seq); return -EINVAL; } -EXPORT_SYMBOL(xfrm_replay_check); void xfrm_replay_advance(struct xfrm_state *x, __be32 net_seq) { @@ -1667,7 +1666,6 @@ void xfrm_replay_advance(struct xfrm_state *x, __be32 net_seq) if (xfrm_aevent_is_on()) xfrm_replay_notify(x, XFRM_REPLAY_UPDATE); } -EXPORT_SYMBOL(xfrm_replay_advance); static LIST_HEAD(xfrm_km_list); static DEFINE_RWLOCK(xfrm_km_lock); -- To unsubscribe from this list: send the line unsubscribe netdev in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html
[2.6 patch] unexport sysctl_tcp_tso_win_divisor
This patch removes the no longer used EXPORT_SYMBOL(sysctl_tcp_tso_win_divisor). Signed-off-by: Adrian Bunk [EMAIL PROTECTED] --- 4884e7997ba5f63f2efeaeead21ed2768fb3f4de diff --git a/net/ipv4/tcp_output.c b/net/ipv4/tcp_output.c index 89f0188..ed750f9 100644 --- a/net/ipv4/tcp_output.c +++ b/net/ipv4/tcp_output.c @@ -2564,5 +2564,4 @@ EXPORT_SYMBOL(tcp_connect); EXPORT_SYMBOL(tcp_make_synack); EXPORT_SYMBOL(tcp_simple_retransmit); EXPORT_SYMBOL(tcp_sync_mss); -EXPORT_SYMBOL(sysctl_tcp_tso_win_divisor); EXPORT_SYMBOL(tcp_mtup_init); -- To unsubscribe from this list: send the line unsubscribe netdev in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html
[2.6 patch] unexport ip6_find_1stfragopt
This patch removes the no longer used EXPORT_SYMBOL_GPL(ip6_find_1stfragopt). Signed-off-by: Adrian Bunk [EMAIL PROTECTED] --- 961bcbf7370019e35920a75d2d34c91b71708dfe diff --git a/net/ipv6/ip6_output.c b/net/ipv6/ip6_output.c index 15c4f6c..ca707c0 100644 --- a/net/ipv6/ip6_output.c +++ b/net/ipv6/ip6_output.c @@ -595,7 +595,6 @@ int ip6_find_1stfragopt(struct sk_buff *skb, u8 **nexthdr) return offset; } -EXPORT_SYMBOL_GPL(ip6_find_1stfragopt); static int ip6_fragment(struct sk_buff *skb, int (*output)(struct sk_buff *)) { -- To unsubscribe from this list: send the line unsubscribe netdev in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html
[2.6 patch] IBMLANA no longer has to depend on MCA_LEGACY
This patch removes the no longer required dependency of IBMLANA on MCA_LEGACY. Signed-off-by: Adrian Bunk [EMAIL PROTECTED] --- d83989118e59f403200ea9c71d2293337b49df01 diff --git a/drivers/net/Kconfig b/drivers/net/Kconfig index af40ff4..578ae2c 100644 --- a/drivers/net/Kconfig +++ b/drivers/net/Kconfig @@ -1199,7 +1199,7 @@ config NE2_MCA config IBMLANA tristate IBM LAN Adapter/A support - depends on MCA MCA_LEGACY + depends on MCA ---help--- This is a Micro Channel Ethernet adapter. You need to set CONFIG_MCA to use this driver. It is both available as an in-kernel -- To unsubscribe from this list: send the line unsubscribe netdev in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html
[2.6 patch] e1000e/ethtool.c: make a function static
This patch makes the needlessly global reg_pattern_test_array() static. Signed-off-by: Adrian Bunk [EMAIL PROTECTED] --- ed72e457f06311390d9a9e51a00c904939466aff diff --git a/drivers/net/e1000e/ethtool.c b/drivers/net/e1000e/ethtool.c index 6d9c27f..a2034cf 100644 --- a/drivers/net/e1000e/ethtool.c +++ b/drivers/net/e1000e/ethtool.c @@ -690,8 +690,8 @@ err_setup: return err; } -bool reg_pattern_test_array(struct e1000_adapter *adapter, u64 *data, - int reg, int offset, u32 mask, u32 write) +static bool reg_pattern_test_array(struct e1000_adapter *adapter, u64 *data, + int reg, int offset, u32 mask, u32 write) { int i; u32 read; -- To unsubscribe from this list: send the line unsubscribe netdev in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html
[2.6 patch] make struct ipv4_devconf static
struct ipv4_devconf can now become static. Signed-off-by: Adrian Bunk [EMAIL PROTECTED] --- include/linux/inetdevice.h |2 -- net/ipv4/devinet.c |2 +- 2 files changed, 1 insertion(+), 3 deletions(-) 20262a3317069b1bdbf2b37f4002fa5322445914 diff --git a/include/linux/inetdevice.h b/include/linux/inetdevice.h index 8d9eaae..fc4e3db 100644 --- a/include/linux/inetdevice.h +++ b/include/linux/inetdevice.h @@ -17,8 +17,6 @@ struct ipv4_devconf DECLARE_BITMAP(state, __NET_IPV4_CONF_MAX - 1); }; -extern struct ipv4_devconf ipv4_devconf; - struct in_device { struct net_device *dev; diff --git a/net/ipv4/devinet.c b/net/ipv4/devinet.c index 21f71bf..5ab5acc 100644 --- a/net/ipv4/devinet.c +++ b/net/ipv4/devinet.c @@ -64,7 +64,7 @@ #include net/rtnetlink.h #include net/net_namespace.h -struct ipv4_devconf ipv4_devconf = { +static struct ipv4_devconf ipv4_devconf = { .data = { [NET_IPV4_CONF_ACCEPT_REDIRECTS - 1] = 1, [NET_IPV4_CONF_SEND_REDIRECTS - 1] = 1, -- To unsubscribe from this list: send the line unsubscribe netdev in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html
[2.6 patch] make nf_ct_path[] static
This patch makes the needlessly global nf_ct_path[] static. Signed-off-by: Adrian Bunk [EMAIL PROTECTED] --- 6396fbcebe3eb61f7e6eb1a671920a515912b005 diff --git a/net/netfilter/nf_conntrack_standalone.c b/net/netfilter/nf_conntrack_standalone.c index 696074a..5bd38a6 100644 --- a/net/netfilter/nf_conntrack_standalone.c +++ b/net/netfilter/nf_conntrack_standalone.c @@ -380,7 +380,7 @@ static ctl_table nf_ct_netfilter_table[] = { { .ctl_name = 0 } }; -struct ctl_path nf_ct_path[] = { +static struct ctl_path nf_ct_path[] = { { .procname = net, .ctl_name = CTL_NET, }, { } }; -- To unsubscribe from this list: send the line unsubscribe netdev in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html