Re: sis190 build breakage

2008-01-30 Thread Jeff Garzik

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

2008-01-30 Thread Andi Kleen

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

2008-01-30 Thread Eric Dumazet

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

2008-01-30 Thread Kamalesh Babulal
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

2008-01-30 Thread Kamalesh Babulal
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

2008-01-30 Thread Daniel Lezcano

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()

2008-01-30 Thread 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.

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()

2008-01-30 Thread Oliver Neukum
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()

2008-01-30 Thread Andi Kleen
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

2008-01-30 Thread Jeff Garzik

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

2008-01-30 Thread Jeff Garzik

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

2008-01-30 Thread Jeff Garzik

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

2008-01-30 Thread Jeff Garzik

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

2008-01-30 Thread Jeff Garzik

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

2008-01-30 Thread Jeff Garzik

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

2008-01-30 Thread Jeff Garzik

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

2008-01-30 Thread Jeff Garzik

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

2008-01-30 Thread Jeff Garzik

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

2008-01-30 Thread Jeff Garzik

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

2008-01-30 Thread Jeff Garzik

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

2008-01-30 Thread Marco Berizzi
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

2008-01-30 Thread Jeff Garzik

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

2008-01-30 Thread Bryan Wu
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.

2008-01-30 Thread Bryan Wu
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

2008-01-30 Thread Bryan Wu
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

2008-01-30 Thread Bryan Wu
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

2008-01-30 Thread Bryan Wu
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

2008-01-30 Thread Bryan Wu
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

2008-01-30 Thread Jeff Garzik

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.

2008-01-30 Thread Bryan Wu
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

2008-01-30 Thread Bryan Wu
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

2008-01-30 Thread Bryan Wu
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}

2008-01-30 Thread Andi Kleen

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...

2008-01-30 Thread Daniel Lezcano

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

2008-01-30 Thread Sam Ravnborg
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()

2008-01-30 Thread Dzianis Kahanovich

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

2008-01-30 Thread Maciej W. Rozycki
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() ++

2008-01-30 Thread Dzianis Kahanovich

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

2008-01-30 Thread Jeff Garzik
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() +

2008-01-30 Thread Dzianis Kahanovich

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

2008-01-30 Thread Sam Ravnborg
 
 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

2008-01-30 Thread Jeff Garzik

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

2008-01-30 Thread Marcel Holtmann
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

2008-01-30 Thread Jeff Garzik

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

2008-01-30 Thread Jan Engelhardt

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

2008-01-30 Thread maximilian attems
 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

2008-01-30 Thread Jonas Bonn
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

2008-01-30 Thread Sam Ravnborg
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

2008-01-30 Thread Jonas Bonn
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

2008-01-30 Thread Jonas Bonn


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

2008-01-30 Thread Sam Ravnborg
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

2008-01-30 Thread Bruce Allen
(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...

2008-01-30 Thread David Miller
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()

2008-01-30 Thread David Miller
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

2008-01-30 Thread Sam Ravnborg
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

2008-01-30 Thread Bruce Allen

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

2008-01-30 Thread Roel Kluin
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

2008-01-30 Thread Roel Kluin
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

2008-01-30 Thread Jan Engelhardt

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

2008-01-30 Thread David Miller
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

2008-01-30 Thread Jonas Bonn
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_*

2008-01-30 Thread Patrick McHardy

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

2008-01-30 Thread Patrick McHardy

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_*

2008-01-30 Thread Patrick McHardy

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

2008-01-30 Thread Stephen Hemminger
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

2008-01-30 Thread Kok, Auke
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

2008-01-30 Thread John W. Linville
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

2008-01-30 Thread John W. Linville
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

2008-01-30 Thread Kamalesh Babulal
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...

2008-01-30 Thread Kok, Auke
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))

2008-01-30 Thread Kumar Gala


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

2008-01-30 Thread Kok, Auke
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

2008-01-30 Thread Jeff Garzik

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

2008-01-30 Thread Kumar Gala


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

2008-01-30 Thread Sam Ravnborg
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

2008-01-30 Thread Roland Dreier
  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

2008-01-30 Thread Andi Kleen
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

2008-01-30 Thread Brandeburg, Jesse
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

2008-01-30 Thread Jeff Garzik

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...

2008-01-30 Thread Daniel Lezcano

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

2008-01-30 Thread Adrian Bunk
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

2008-01-30 Thread maximilian attems
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...

2008-01-30 Thread Arnaldo Carvalho de Melo
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

2008-01-30 Thread Kumar Gala
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

2008-01-30 Thread Rick Jones

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

2008-01-30 Thread Michael Chan
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...

2008-01-30 Thread Daniel Lezcano

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}

2008-01-30 Thread Ben Greear

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

2008-01-30 Thread Ben Greear

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

2008-01-30 Thread Adrian Bunk
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

2008-01-30 Thread Adrian Bunk
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

2008-01-30 Thread Adrian Bunk
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

2008-01-30 Thread Adrian Bunk
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

2008-01-30 Thread Adrian Bunk
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

2008-01-30 Thread Adrian Bunk
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

2008-01-30 Thread Adrian Bunk
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

2008-01-30 Thread Adrian Bunk
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

2008-01-30 Thread Adrian Bunk
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

2008-01-30 Thread Adrian Bunk
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

2008-01-30 Thread Adrian Bunk
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


  1   2   >