Re: [PATCH] net/, drivers/net/ , missing EXPERIMENTAL in menus

2007-08-31 Thread Jeff Garzik

Robert P. J. Day wrote:

On Fri, 31 Aug 2007, Randy Dunlap wrote:


On Thu, 19 Jul 2007 23:05:57 +0100 Simon Arlott wrote:


On 19/07/07 17:19, Robert P. J. Day wrote:

On Thu, 19 Jul 2007, Randy Dunlap wrote:

I think that Stefan means a patch to the kconfig source code,
not the the Kconfig files.  Good luck.  I'd still like to see it.

yes, i understand what he wanted now.  as a first step (that
theoretically shouldn't change any behaviour), i'd patch the Kconfig
structure to add a new attribute ("maturity") which would be allowed
to be set to *exactly one* of a pre-defined set of values (say,
OBSOLETE, DEPRECATED, EXPERIMENTAL, and STILLBLEEDING).  and that's
it, nothing more.

don't try to do anything with any of that just yet, just add the
infrastructure to support the (optional) association of a maturity
level with a config option.  that's step one.

What about something like this? I'm not sure if the addition to sym_init
is desirable... I also had to prefix _ to the name for now otherwise it
conflicts badly with the current symbols. It probably should stop
"depends on _BROKEN" etc. too.


i'm sure i'm going to get shouted down here, but i really disagree
with "BROKEN" being considered a "maturity level".  IMHO, things like
EXPERIMENTAL, DEPRECATED and OBSOLETE represent maturity levels, for
what i think are obvious reasons.

something like BROKEN, though, has *nothing* to do with maturity.  a
feature can be any of those maturity levels, and simultaneously be
BROKEN.  i consider BROKEN to be what i call a "status", and different
status levels might be the default of normal, or KIND_OF_FLAKY or
TOTALLY_BORKED -- that's where BROKEN would fit in.


BROKEN is definitely a maturity level.  A more accurate description 
would be BITROTTING perhaps.  The code in question has passed through 
bleeding -> experimental -> stable, and come out the other side.


In contrast, OBSOLETE and DEPRECATED reflect high-level status not code 
quality/maturity.


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 2.6.24 2/3]S2io: Support for add/delete/store/restore ethernet addresses

2007-08-31 Thread David Miller
From: Jeff Garzik <[EMAIL PROTECTED]>
Date: Fri, 31 Aug 2007 09:28:23 -0400

> Sreenivasa Honnur wrote:
> > - Support to add/delete/store/restore 64 and 128 Ethernet addresses for
> > Xframe I and Xframe II respectively.
> > 
> > Signed-off-by: Sreenivasa Honnur <[EMAIL PROTECTED]>
> > Signed-off-by: Ramkrishna Vepa <[EMAIL PROTECTED]>
> 
> What is the purpose of this?  We do not support more than one unicast 
> MAC address at present...

Yes we do, the card can register with the card in ->set_rx_mode() or
enable promiscuous mode if it has no alternate MAC facility.

See netdev->uc_list.
-
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.6.24 2/3]S2io: Support for add/delete/store/restore ethernet addresses

2007-08-31 Thread Jeff Garzik

David Miller wrote:

From: Jeff Garzik <[EMAIL PROTECTED]>
Date: Fri, 31 Aug 2007 09:28:23 -0400


Sreenivasa Honnur wrote:

- Support to add/delete/store/restore 64 and 128 Ethernet addresses for
Xframe I and Xframe II respectively.

Signed-off-by: Sreenivasa Honnur <[EMAIL PROTECTED]>
Signed-off-by: Ramkrishna Vepa <[EMAIL PROTECTED]>
What is the purpose of this?  We do not support more than one unicast 
MAC address at present...


Yes we do, the card can register with the card in ->set_rx_mode() or
enable promiscuous mode if it has no alternate MAC facility.

See netdev->uc_list.


Ah, well objection removed then.  I stand corrected.  Didn't know it was 
in yet.


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


[git patches] net driver fixes

2007-08-31 Thread Jeff Garzik

Please pull from 'upstream-linus' branch of
master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/netdev-2.6.git 
upstream-linus

to receive the following updates:

 drivers/infiniband/hw/cxgb3/cxio_hal.c |2 +-
 drivers/net/cxgb3/adapter.h|2 +
 drivers/net/cxgb3/common.h |3 +-
 drivers/net/cxgb3/cxgb3_main.c |  252 +++-
 drivers/net/cxgb3/cxgb3_offload.c  |   16 ++-
 drivers/net/cxgb3/cxgb3_offload.h  |2 +
 drivers/net/cxgb3/sge.c|   23 ++-
 drivers/net/cxgb3/t3_hw.c  |   46 +-
 drivers/net/cxgb3/t3cdev.h |3 -
 drivers/net/ioc3-eth.c |   80 ---
 drivers/net/netxen/netxen_nic_hdr.h|6 +-
 drivers/net/netxen/netxen_nic_hw.c |8 +-
 drivers/net/netxen/netxen_nic_main.c   |   19 +--
 drivers/net/ps3_gelic_net.c|1 -
 drivers/s390/net/qeth.h|4 +-
 drivers/s390/net/qeth_main.c   |  158 +++-
 drivers/s390/net/qeth_mpc.h|1 +
 drivers/s390/net/qeth_sys.c|8 +-
 18 files changed, 428 insertions(+), 206 deletions(-)

Divy Le Ray (2):
  cxgb3 - Fix dev->priv usage
  - cxgb3 engine microcode load

Frank Blaschka (2):
  qeth: enforce a rate limit for inbound scatter gather messages
  qeth: Announce tx checksumming for qeth devices in TSO/EDDP mode

Heiko Carstens (1):
  qeth: dont return the return values of void functions.

Klaus D. Wacker (1):
  qeth: Drop ARP packages on HiperSockets interface with NOARP attribute.

Masakazu Mokuno (1):
  PS3: fix the bug that 'ifconfig down' would hang

Ralf Baechle (1):
  IOC3: Program UART predividers.

Ursula Braun (3):
  qeth: ungrouping a device must not be interruptible
  qeth: crash during reboot after failing online setting
  qeth: provide specific message for OSA-adapters exclusively used

[EMAIL PROTECTED] (2):
  netxen: Avoid firmware load in PCI probe
  netxen: fix crashes during module unload

diff --git a/drivers/infiniband/hw/cxgb3/cxio_hal.c 
b/drivers/infiniband/hw/cxgb3/cxio_hal.c
index 1518b41..beb2a38 100644
--- a/drivers/infiniband/hw/cxgb3/cxio_hal.c
+++ b/drivers/infiniband/hw/cxgb3/cxio_hal.c
@@ -916,7 +916,7 @@ int cxio_rdev_open(struct cxio_rdev *rdev_p)
PDBG("%s opening rnic dev %s\n", __FUNCTION__, rdev_p->dev_name);
memset(&rdev_p->ctrl_qp, 0, sizeof(rdev_p->ctrl_qp));
if (!rdev_p->t3cdev_p)
-   rdev_p->t3cdev_p = T3CDEV(netdev_p);
+   rdev_p->t3cdev_p = dev2t3cdev(netdev_p);
rdev_p->t3cdev_p->ulp = (void *) rdev_p;
err = rdev_p->t3cdev_p->ctl(rdev_p->t3cdev_p, RDMA_GET_PARAMS,
 &(rdev_p->rnic_info));
diff --git a/drivers/net/cxgb3/adapter.h b/drivers/net/cxgb3/adapter.h
index ab72563..20e887d 100644
--- a/drivers/net/cxgb3/adapter.h
+++ b/drivers/net/cxgb3/adapter.h
@@ -50,7 +50,9 @@ typedef irqreturn_t(*intr_handler_t) (int, void *);
 
 struct vlan_group;
 
+struct adapter;
 struct port_info {
+   struct adapter *adapter;
struct vlan_group *vlan_grp;
const struct port_type_info *port_type;
u8 port_id;
diff --git a/drivers/net/cxgb3/common.h b/drivers/net/cxgb3/common.h
index 1637800..2129210 100644
--- a/drivers/net/cxgb3/common.h
+++ b/drivers/net/cxgb3/common.h
@@ -679,7 +679,8 @@ const struct adapter_info *t3_get_adapter_info(unsigned int 
board_id);
 int t3_seeprom_read(struct adapter *adapter, u32 addr, u32 *data);
 int t3_seeprom_write(struct adapter *adapter, u32 addr, u32 data);
 int t3_seeprom_wp(struct adapter *adapter, int enable);
-int t3_check_tpsram_version(struct adapter *adapter);
+int t3_get_tp_version(struct adapter *adapter, u32 *vers);
+int t3_check_tpsram_version(struct adapter *adapter, int *must_load);
 int t3_check_tpsram(struct adapter *adapter, u8 *tp_ram, unsigned int size);
 int t3_set_proto_sram(struct adapter *adap, u8 *data);
 int t3_read_flash(struct adapter *adapter, unsigned int addr,
diff --git a/drivers/net/cxgb3/cxgb3_main.c b/drivers/net/cxgb3/cxgb3_main.c
index dc5d269..5ab319c 100644
--- a/drivers/net/cxgb3/cxgb3_main.c
+++ b/drivers/net/cxgb3/cxgb3_main.c
@@ -358,11 +358,14 @@ static int init_dummy_netdevs(struct adapter *adap)
 
for (j = 0; j < pi->nqsets - 1; j++) {
if (!adap->dummy_netdev[dummy_idx]) {
-   nd = alloc_netdev(0, "", ether_setup);
+   struct port_info *p;
+
+   nd = alloc_netdev(sizeof(*p), "", ether_setup);
if (!nd)
goto free_all;
 
-   nd->priv = adap;
+   p = netdev_priv(nd);
+   p->adapter = adap;
nd->weight = 64;
set_b

Re: [PATCH] make _minimum_ TCP retransmission timeout configurable take 2

2007-08-31 Thread David Miller
From: Rick Jones <[EMAIL PROTECTED]>
Date: Fri, 31 Aug 2007 11:11:37 -0700

> At the risk of showing my ignorance (what me worry about that?-) I 
> presume this is then an interface expecting to take-in jiffies?  That 
> means the user has to know the value of HZ which can be (IIRC) one of 
> three different values?

The iproute2 changes might look something like this:

--- ./include/linux/rtnetlink.h.orig2007-08-31 11:55:30.0 -0700
+++ ./include/linux/rtnetlink.h 2007-08-31 11:52:22.0 -0700
@@ -351,6 +351,8 @@ enum
 #define RTAX_INITCWND RTAX_INITCWND
RTAX_FEATURES,
 #define RTAX_FEATURES RTAX_FEATURES
+   RTAX_RTO_MIN,
+#define RTAX_RTO_MIN RTAX_RTO_MIN
__RTAX_MAX
 };
 
--- ./ip/iproute.c.orig 2007-08-31 11:55:30.0 -0700
+++ ./ip/iproute.c  2007-08-31 11:53:29.0 -0700
@@ -51,6 +51,7 @@ static const char *mx_names[RTAX_MAX+1] 
[RTAX_HOPLIMIT] = "hoplimit",
[RTAX_INITCWND] = "initcwnd",
[RTAX_FEATURES] = "features",
+   [RTAX_RTO_MIN]  = "rto_min",
 };
 static void usage(void) __attribute__((noreturn));
 
@@ -74,6 +75,7 @@ static void usage(void)
fprintf(stderr, "   [ rtt NUMBER ] [ rttvar NUMBER ]\n");
fprintf(stderr, "   [ window NUMBER] [ cwnd NUMBER ] [ initcwnd 
NUMBER ]\n");
fprintf(stderr, "   [ ssthresh NUMBER ] [ realms REALM ]\n");
+   fprintf(stderr, "   [ rto_min NUMBER ]\n");
fprintf(stderr, "TYPE := [ unicast | local | broadcast | multicast | 
throw |\n");
fprintf(stderr, "  unreachable | prohibit | blackhole | nat 
]\n");
fprintf(stderr, "TABLE_ID := [ local | main | default | all | NUMBER 
]\n");
@@ -520,7 +522,8 @@ int print_route(const struct sockaddr_nl
if (mxlock & (1<= hz)
fprintf(fp, " %ums", val/hz);
@@ -803,6 +806,15 @@ int iproute_modify(int cmd, unsigned fla
if (get_unsigned(&rtt, *argv, 0))
invarg("\"rtt\" value is invalid\n", *argv);
rta_addattr32(mxrta, sizeof(mxbuf), RTAX_RTT, rtt);
+   } else if (strcmp(*argv, "rto_min") == 0) {
+   unsigned rto_min;
+   NEXT_ARG();
+   mxlock |= (1

Re: net-2.6.24 rebased

2007-08-31 Thread David Miller
From: "John W. Linville" <[EMAIL PROTECTED]>
Date: Fri, 31 Aug 2007 09:44:32 -0400

> Sorry, I sent the patch through Jeff.
> 
>   
> http://www.kernel.org/pub/linux/kernel/people/linville/wireless-2.6/upstream-jgarzik/0010-rtl8187-remove-IEEE80211_HW_DATA_NULLFUNC_ACK.patch
> 
> But, it sounds like you have taken care of it...?
> 
> Let me know if I need to fix this.

Thanks for tracking this down, that is exactly the change
I checked into 2.6.24 so everything is good now.
-
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/, drivers/net/ , missing EXPERIMENTAL in menus

2007-08-31 Thread Jan Engelhardt

On Aug 31 2007 14:06, Jeff Garzik wrote:
>> something like BROKEN, though, has *nothing* to do with maturity.  a
>> feature can be any of those maturity levels, and simultaneously be
>> BROKEN.  i consider BROKEN to be what i call a "status", and different
>> status levels might be the default of normal, or KIND_OF_FLAKY or
>> TOTALLY_BORKED -- that's where BROKEN would fit in.
>
> BROKEN is definitely a maturity level.  A more accurate description would be
> BITROTTING perhaps.  The code in question has passed through bleeding ->
> experimental -> stable, and come out the other side.

Software is quite unlike the art of medicine. There, you would go from
'stable' to 'broken', then someone 'experiments' with you, and if
it's a bad day, you bleed out. :)


Jan
-- 
-
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/, drivers/net/ , missing EXPERIMENTAL in menus

2007-08-31 Thread Randy Dunlap
On Fri, 31 Aug 2007 14:06:33 -0400 Jeff Garzik wrote:

> Robert P. J. Day wrote:
> > On Fri, 31 Aug 2007, Randy Dunlap wrote:
> > 
> >> On Thu, 19 Jul 2007 23:05:57 +0100 Simon Arlott wrote:
> >>
> >>> On 19/07/07 17:19, Robert P. J. Day wrote:
>  On Thu, 19 Jul 2007, Randy Dunlap wrote:
> > I think that Stefan means a patch to the kconfig source code,
> > not the the Kconfig files.  Good luck.  I'd still like to see it.
>  yes, i understand what he wanted now.  as a first step (that
>  theoretically shouldn't change any behaviour), i'd patch the Kconfig
>  structure to add a new attribute ("maturity") which would be allowed
>  to be set to *exactly one* of a pre-defined set of values (say,
>  OBSOLETE, DEPRECATED, EXPERIMENTAL, and STILLBLEEDING).  and that's
>  it, nothing more.
> 
>  don't try to do anything with any of that just yet, just add the
>  infrastructure to support the (optional) association of a maturity
>  level with a config option.  that's step one.
> >>> What about something like this? I'm not sure if the addition to sym_init
> >>> is desirable... I also had to prefix _ to the name for now otherwise it
> >>> conflicts badly with the current symbols. It probably should stop
> >>> "depends on _BROKEN" etc. too.
> > 
> > i'm sure i'm going to get shouted down here, but i really disagree
> > with "BROKEN" being considered a "maturity level".  IMHO, things like
> > EXPERIMENTAL, DEPRECATED and OBSOLETE represent maturity levels, for
> > what i think are obvious reasons.
> > 
> > something like BROKEN, though, has *nothing* to do with maturity.  a
> > feature can be any of those maturity levels, and simultaneously be
> > BROKEN.  i consider BROKEN to be what i call a "status", and different
> > status levels might be the default of normal, or KIND_OF_FLAKY or
> > TOTALLY_BORKED -- that's where BROKEN would fit in.
> 
> BROKEN is definitely a maturity level.  A more accurate description 
> would be BITROTTING perhaps.  The code in question has passed through 
> bleeding -> experimental -> stable, and come out the other side.
> 
> In contrast, OBSOLETE and DEPRECATED reflect high-level status not code 
> quality/maturity.

What I like about the patch is that it associates some kconfig symbol
with prompt strings, so that we don't have to edit "(EXPERIMENTAL)"
all the darn time (e.g.).

I'd be quite happy with calling it "status" rather than "maturity",
and with being able to use multiple of the status tags at one time,
such as

config FOO
depends on BAR
status OBSOLETE BROKEN


---
~Randy
*** Remember to use Documentation/SubmitChecklist when testing your code ***
-
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] Fix e100 on systems that have cache incoherent DMA

2007-08-31 Thread David Acker
On the systems that have cache incoherent DMA, including ARM, there is a
race condition between software allocating a new receive buffer and hardware
writing into a buffer.  The two race on touching the last Receive Frame
Descriptor (RFD).  It has its el-bit set and its next link equal to 0.
When hardware encounters this buffer it attempts to write data to it and
then update Status Word bits and Actual Count in the RFD.  At the same time
software may try to clear the el-bit and set the link address to a new buffer.

Since the entire RFD is once cache-line, the two write operations can collide.
This can lead to the receive unit stalling or interpreting random memory as
its receive area.

The fix is to set the el-bit on and the size to 0 on the next to last buffer
in the chain.  When the hardware encounters this buffer it stops and does not
write to it at all.  The hardware issues an RNR interrupt with the receive
unit in the No Resources state.  Software can write to the tail of the list
because it knows hardware will stop on the previous descriptor that was
marked as the end of list.

Once it has a new next to last buffer prepared, it can clear the el-bit and
set the size on the previous one.  The race on this buffer is safe since
the link already points to a valid next buffer and the software can handle
the race setting the size (assuming aligned 16 bit writes are atomic with
respect to the DMA read). If the hardware sees the el-bit cleared without
the size set, it will move on to the next buffer and skip this one.  If it
sees the size set but the el-bit still set, it will complete that buffer
and then RNR interrupt and wait.

Flags are kept in the software descriptor to note if the el bit is set and if
the size was 0.  When software clears the RFD's el bit and set its size, it
also clears the el flag but leaves the size was 0 bit set.  This way software
can identify them when the race may have occurred when cleaning the ring.
On these descriptors, it looks ahead and if the next one is complete then
hardware must have skipped the current one.  Logic is added to prevent two
packets in a row being marked while the receiver is running to avoid running
in lockstep with the hardware and thereby limiting the required lookahead.

This is a patch for 2.6.23-rc4.

Signed-off-by: David Acker <[EMAIL PROTECTED]>

---

--- linux-2.6.23-rc4/drivers/net/e100.c.orig2007-08-30 13:32:10.0 
-0400
+++ linux-2.6.23-rc4/drivers/net/e100.c 2007-08-30 15:42:07.0 -0400
@@ -106,6 +106,13 @@
  * the RFD, the RFD must be dma_sync'ed to maintain a consistent
  * view from software and hardware.
  *
+ * In order to keep updates to the RFD link field from colliding with
+ * hardware writes to mark packets complete, we use the feature that
+ * hardware will not write to a size 0 descriptor and mark the previous
+ * packet as end-of-list (EL).   After updating the link, we remove EL
+ * and only then restore the size such that hardware may use the
+ * previous-to-end RFD. 
+ *
  * Under typical operation, the  receive unit (RU) is start once,
  * and the controller happily fills RFDs as frames arrive.  If
  * replacement RFDs cannot be allocated, or the RU goes non-active,
@@ -281,14 +288,14 @@ struct csr {
 };
 
 enum scb_status {
+   rus_no_res   = 0x08,
rus_ready= 0x10,
rus_mask = 0x3C,
 };
 
 enum ru_state  {
-   RU_SUSPENDED = 0,
-   RU_RUNNING   = 1,
-   RU_UNINITIALIZED = -1,
+   ru_stopped = 0,
+   ru_running = 1,
 };
 
 enum scb_stat_ack {
@@ -401,10 +408,16 @@ struct rfd {
u16 size;
 };
 
+enum rx_flags {
+   rx_el = 0x01,
+   rx_s0 = 0x02,
+};
+
 struct rx {
struct rx *next, *prev;
struct sk_buff *skb;
dma_addr_t dma_addr;
+   u8 flags;
 };
 
 #if defined(__BIG_ENDIAN_BITFIELD)
@@ -952,7 +965,7 @@ static void e100_get_defaults(struct nic
((nic->mac >= mac_82558_D101_A4) ? cb_cid : cb_i));
 
/* Template for a freshly allocated RFD */
-   nic->blank_rfd.command = cpu_to_le16(cb_el);
+   nic->blank_rfd.command = 0;
nic->blank_rfd.rbd = 0x;
nic->blank_rfd.size = cpu_to_le16(VLAN_ETH_FRAME_LEN);
 
@@ -1753,18 +1766,48 @@ static int e100_alloc_cbs(struct nic *ni
return 0;
 }
 
-static inline void e100_start_receiver(struct nic *nic, struct rx *rx)
+static void e100_find_mark_el(struct nic *nic, struct rx *marked_rx, int 
is_running)
 {
-   if(!nic->rxs) return;
-   if(RU_SUSPENDED != nic->ru_running) return;
+   struct rx *rx = nic->rx_to_use->prev->prev;
+   struct rfd *rfd;
+
+   if (marked_rx == rx)
+   return;
+
+   rfd = (struct rfd *) rx->skb->data;
+   rfd->command |= cpu_to_le16(cb_el);
+   rfd->size = 0;
+   pci_dma_sync_single_for_device(nic->pdev, rx->dma_addr,
+   sizeof(struct rfd), PCI_DMA_BIDIRECTIONAL);
+   rx->flags |= (

Re: [PATCH] make _minimum_ TCP retransmission timeout configurable take 2

2007-08-31 Thread Rick Jones
I managed to find iproute2 sources (they were debian lenny/testing 
2.6.20-1) and applied the patch, and figured-out how to add a host route 
back to one of my systems.  I then did a change to set rto_min to 300. 
I started a tcpdump and then a netperf, and then forces some 
retransmissions the old fashioned way - by pulling a cable :)  I then 
Ctrl-C'd netperf and at that point got this:


Unable to handle kernel NULL pointer dereference (address 0038)
swapper[0]: Oops 8813272891392 [1]
Modules linked in: ipv6 sg sr_mod cdrom dm_snapshot dm_mirror dm_mod 
loop button shpchp pci_hotplug joydev evdev ext3 jbd mbcache usb_storage 
usbhid hid ide_core mptspi mptscsih ehci_hcd cciss ohci_hcd mptbase 
scsi_transport_spi scsi_mod usbcore e1000 thermal processor fan


Pid: 0, CPU 3, comm:  swapper
psr : 101008026038 ifs : 8001 ip  : [] 
   Not tainted

ip is at tcp_rto_min+0x20/0x40
unat:  pfs : 0307 rsc : 0003
rnat: e100f32917e0 bsps: e100f32917e8 pr  : 000166a5
ldrs:  ccv : 00010001 fpsr: 0009804c0270033f
csd :  ssd : 
b0  : a001004777f0 b6  : a00100230700 b7  : a00100452e40
f6  : 0 f7  : 1003e0002813f
f8  : 1003e001c06e2 f9  : 1003e043f
f10 : 1003e000fd24b f11 : 1003e0044b82fa09b5a53
r1  : a001009b2710 r2  :  r3  : e100fd317b40
r8  : 0032 r9  : 012c r10 : 0003
r11 : e00ff07b63a0 r12 : e100fd317b40 r13 : e100fd31
r14 :  r15 : 0038 r16 : 0068
r17 : e00ff07b6380 r18 : fa58 r19 : 8d769671
r20 : 8d769c19 r21 : e00ff07b62f0 r22 : 8d7712e1
r23 : e00ff07b62ec r24 : e00ff07b637c r25 : 012c
r26 : 0032 r27 : e00ff07b6438 r28 : e00ff07b5fc8
r29 : e00ff215bd80 r30 : e00ff07b60d0 r31 : e00ff07b6250

Call Trace:
 [] show_stack+0x40/0xa0
sp=e100fd317710 bsp=e100fd311310
 [] show_regs+0x840/0x880
sp=e100fd3178e0 bsp=e100fd3112b8
 [] die+0x1a0/0x2a0
sp=e100fd3178e0 bsp=e100fd311270
 [] ia64_do_page_fault+0x8d0/0xa00
sp=e100fd3178e0 bsp=e100fd311220
 [] ia64_leave_kernel+0x0/0x270
sp=e100fd317970 bsp=e100fd311220
 [] tcp_rto_min+0x20/0x40
sp=e100fd317b40 bsp=e100fd311218
 [] tcp_rtt_estimator+0x1d0/0x280
sp=e100fd317b40 bsp=e100fd3111e0
 [] tcp_ack_saw_tstamp+0x50/0xc0
sp=e100fd317b40 bsp=e100fd3111c0
 [] tcp_ack+0x13c0/0x4380
sp=e100fd317b40 bsp=e100fd311120
 [] tcp_rcv_state_process+0x1420/0x2100
sp=e100fd317b60 bsp=e100fd3110d8
 [] tcp_v4_do_rcv+0x960/0xa80
sp=e100fd317b60 bsp=e100fd311078
 [] tcp_v4_rcv+0x19d0/0x1b20
sp=e100fd317b70 bsp=e100fd311008
 [] ip_local_deliver+0x530/0x7c0
sp=e100fd317b70 bsp=e100fd310fd0
 [] ip_rcv+0xe70/0xf80
sp=e100fd317b80 bsp=e100fd310f98
 [] netif_receive_skb+0xa20/0xb80
sp=e100fd317ba0 bsp=e100fd310f50
 [] e1000_clean_rx_irq+0x9e0/0xc00 [e1000]
sp=e100fd317ba0 bsp=e100fd310e90
 [] e1000_clean+0x130/0x6e0 [e1000]
sp=e100fd317ba0 bsp=e100fd310e38
 [] net_rx_action+0x1c0/0x540
sp=e100fd317bb0 bsp=e100fd310df0
 [] __do_softirq+0xf0/0x240
sp=e100fd317bc0 bsp=e100fd310d78
 [] do_softirq+0x70/0xc0
sp=e100fd317bc0 bsp=e100fd310d18
 [] irq_exit+0x80/0xa0
sp=e100fd317bc0 bsp=e100fd310d00
 [] ia64_handle_irq+0x2a0/0x2e0
sp=e100fd317bc0 bsp=e100fd310cd0
 [] ia64_leave_kernel+0x0/0x270
sp=e100fd317bc0 bsp=e100fd310cd0
 [] default_idle+0x110/0x180
sp=e100fd317d90 bsp=e100fd310c90
 [] cpu_idle+0x210/0x2e0
sp=e100fd317e30 bsp=e100fd310c60
 [] start_secondary+0x4b0/0x4e0
sp=e100fd317e30 bsp=e100fd310c20
 [] __kprobes_text_end+0x340/0x370
sp=e100fd317e30 bsp=e100fd310c20
Kernel panic - not syncing: Aiee, killing interrupt handler!

Of course there isn't all that much code to tcp_rto_min:


+static u32 tcp_rto_min(struct sock *s

Re: [PATCH] net/, drivers/net/ , missing EXPERIMENTAL in menus

2007-08-31 Thread Robert P. J. Day
On Fri, 31 Aug 2007, Jeff Garzik wrote:

> Robert P. J. Day wrote:

> > i'm sure i'm going to get shouted down here, but i really disagree
> > with "BROKEN" being considered a "maturity level".  IMHO, things
> > like EXPERIMENTAL, DEPRECATED and OBSOLETE represent maturity
> > levels, for what i think are obvious reasons.
> >
> > something like BROKEN, though, has *nothing* to do with maturity.
> > a feature can be any of those maturity levels, and simultaneously
> > be BROKEN.  i consider BROKEN to be what i call a "status", and
> > different status levels might be the default of normal, or
> > KIND_OF_FLAKY or TOTALLY_BORKED -- that's where BROKEN would fit
> > in.
>
> BROKEN is definitely a maturity level.

no.  it's not.  end of discussion.  you're wrong.

the concept of "maturity level" reflects where in the life cycle some
feature is.  it will typically start as "bleeding edge" or
"experimental" or something like that, eventually stabilize to be
normal (which would be the obvious default), after which, when its
value starts to run out and it begins showing its age, it becomes
"deprecated" and eventually "obsolete"  it's a natural and obvious
progression.

on the other hand, a feature can be "broken" at *any* point in that
life cycle -- that's why it is absolutely *not* a maturity level.
please don't fight with me on this, jeff.  you're simply wrong.

> In contrast, OBSOLETE and DEPRECATED reflect high-level status not
> code quality/maturity.

you have this so backwards, i can't begin to think how to explain it
to you.

rday
-- 

Robert P. J. Day
Linux Consulting, Training and Annoying Kernel Pedantry
Waterloo, Ontario, CANADA

http://crashcourse.ca

-
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/, drivers/net/ , missing EXPERIMENTAL in menus

2007-08-31 Thread Robert P. J. Day
On Fri, 31 Aug 2007, Randy Dunlap wrote:

> What I like about the patch is that it associates some kconfig
> symbol with prompt strings, so that we don't have to edit
> "(EXPERIMENTAL)" all the darn time (e.g.).
>
> I'd be quite happy with calling it "status" rather than "maturity",
> and with being able to use multiple of the status tags at one time,
> such as
>
>   config FOO
>   depends on BAR
>   status OBSOLETE BROKEN

g ... i already made my point in my earlier post.  i'd
really, really like it if *this* attribute remained as "maturity".  an
entirely *separate* attribute could be defined as a feature "status",
which would be entirely orthogonal to maturity level, so that the
above would be written as

maturity OBSOLETE
status BROKEN

there's a reason for this -- any feature should have exactly *one*
value for any attribute.  that is, in terms of maturity, a feature
could be EXPERIMENTAL *or* DEPRECATED *or* OBSOLETE.  it ***can't***
be more than one, as in both DEPRECATED *and* OBSOLETE.  to allow that
flexibility is to descend into absurdity.

rday
-- 

Robert P. J. Day
Linux Consulting, Training and Annoying Kernel Pedantry
Waterloo, Ontario, CANADA

http://crashcourse.ca

-
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/, drivers/net/ , missing EXPERIMENTAL in menus

2007-08-31 Thread Randy Dunlap
On Fri, 31 Aug 2007 17:00:57 -0400 (EDT) Robert P. J. Day wrote:

> On Fri, 31 Aug 2007, Randy Dunlap wrote:
> 
> > What I like about the patch is that it associates some kconfig
> > symbol with prompt strings, so that we don't have to edit
> > "(EXPERIMENTAL)" all the darn time (e.g.).
> >
> > I'd be quite happy with calling it "status" rather than "maturity",
> > and with being able to use multiple of the status tags at one time,
> > such as
> >
> > config FOO
> > depends on BAR
> > status OBSOLETE BROKEN
> 
> g ... i already made my point in my earlier post.  i'd
> really, really like it if *this* attribute remained as "maturity".  an
> entirely *separate* attribute could be defined as a feature "status",
> which would be entirely orthogonal to maturity level, so that the
> above would be written as
> 
>   maturity OBSOLETE
>   status BROKEN
> 
> there's a reason for this -- any feature should have exactly *one*
> value for any attribute.  that is, in terms of maturity, a feature
> could be EXPERIMENTAL *or* DEPRECATED *or* OBSOLETE.  it ***can't***
> be more than one, as in both DEPRECATED *and* OBSOLETE.  to allow that
> flexibility is to descend into absurdity.


If Simon (or anyone else) continues to work on it, I'll leave this
decision up to them...


---
~Randy
*** Remember to use Documentation/SubmitChecklist when testing your code ***
-
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] make _minimum_ TCP retransmission timeout configurable take 2

2007-08-31 Thread David Miller
From: Rick Jones <[EMAIL PROTECTED]>
Date: Fri, 31 Aug 2007 13:59:50 -0700

> ip is at tcp_rto_min+0x20/0x40

diff --git a/net/ipv4/tcp_input.c b/net/ipv4/tcp_input.c
index 1ee7212..bbad2cd 100644
--- a/net/ipv4/tcp_input.c
+++ b/net/ipv4/tcp_input.c
@@ -560,7 +560,7 @@ static u32 tcp_rto_min(struct sock *sk)
struct dst_entry *dst = __sk_dst_get(sk);
u32 rto_min = TCP_RTO_MIN;
 
-   if (dst_metric_locked(dst, RTAX_RTO_MIN))
+   if (dst && dst_metric_locked(dst, RTAX_RTO_MIN))
rto_min = dst->metrics[RTAX_RTO_MIN-1];
return rto_min;
 }
-
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 v3 0/2][BNX2]: Add iSCSI support to BNX2 devices.

2007-08-31 Thread Michael Chan
Third version of the iSCSI patch for BNX2 which has addressed the
comments we have received.  I know there is general dislike about this
stuff on netdev, as shown by the RDMA discussions.  iSCSI is at least a
bit more mainstream.  David, please consider merging this for 2.6.24.
Thanks.

Full patch available from ftp:

ftp://[EMAIL PROTECTED]/0003-BNX2-Add-iSCSI-support-to-BNX2-devices.patch

Firmware blob omitted in the next 2 emails for review.

--

[BNX2]: Add iSCSI support to BNX2 devices.

Modify bnx2 and add a cnic driver to support some offload functions
needed by iSCSI.

Add a new open-iscsi driver to support iSCSI offload on bnx2 devices.

Signed-off-by: Anil Veerabhadrappa <[EMAIL PROTECTED]>
Signed-off-by: Michael Chan <[EMAIL PROTECTED]>
---
 drivers/net/Kconfig   |   10 +
 drivers/net/Makefile  |1 +
 drivers/net/bnx2.c|  117 +-
 drivers/net/bnx2.h|   21 +-
 drivers/net/bnx2_fw.h | 7039 ++---
 drivers/net/cnic.c| 1881 
 drivers/net/cnic.h|  163 +
 drivers/net/cnic_cm.h |  555 +++
 drivers/net/cnic_if.h |  152 +
 drivers/scsi/Kconfig  |2 +
 drivers/scsi/Makefile |1 +
 drivers/scsi/bnx2i/57xx_iscsi_constants.h |  212 +
 drivers/scsi/bnx2i/57xx_iscsi_hsi.h   | 1501 ++
 drivers/scsi/bnx2i/Kconfig|7 +
 drivers/scsi/bnx2i/Makefile   |4 +
 drivers/scsi/bnx2i/bnx2i.h|  841 
 drivers/scsi/bnx2i/bnx2i_hwi.c| 1977 
 drivers/scsi/bnx2i/bnx2i_init.c   |  400 ++
 drivers/scsi/bnx2i/bnx2i_iscsi.c  | 3578 +++
 drivers/scsi/bnx2i/bnx2i_sysfs.c  |  615 +++
 20 files changed, 16440 insertions(+), 2637 deletions(-)
 create mode 100644 drivers/net/cnic.c
 create mode 100644 drivers/net/cnic.h
 create mode 100644 drivers/net/cnic_cm.h
 create mode 100644 drivers/net/cnic_if.h
 create mode 100644 drivers/scsi/bnx2i/57xx_iscsi_constants.h
 create mode 100644 drivers/scsi/bnx2i/57xx_iscsi_hsi.h
 create mode 100644 drivers/scsi/bnx2i/Kconfig
 create mode 100644 drivers/scsi/bnx2i/Makefile
 create mode 100644 drivers/scsi/bnx2i/bnx2i.h
 create mode 100644 drivers/scsi/bnx2i/bnx2i_hwi.c
 create mode 100644 drivers/scsi/bnx2i/bnx2i_init.c
 create mode 100644 drivers/scsi/bnx2i/bnx2i_iscsi.c
 create mode 100644 drivers/scsi/bnx2i/bnx2i_sysfs.c



-
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


Ethernet weirdness on 82xx

2007-08-31 Thread Rune Torgersen
I'm not sure if this is by design or an actual bug.

We have a system witb an 8280 with two active ethernets (fcc2 and fcc3)
We are running kernel 2.6.18.1 (and won't be upgrading in a while) out
of arch/ppc

Eth0 and eth1 are in totally different subnets.
We happened to have both ehternets connected to the same network, and I
ran a arping agains the IP on eth0.
Both ports (eth0 and eth1) responded with the same address, but
different macs

sudo /sbin/arping -c1 172.23.12.114
ARPING 172.23.12.114 from 172.23.15.21 eth0
Unicast reply from 172.23.12.114 [00:30:D7:00:14:55]  0.838ms
Unicast reply from 172.23.12.114 [00:30:D7:00:14:54]  0.890ms
Sent 1 probes (1 broadcast(s))
Received 2 response(s)

It only gets both responses on the first (broadcast) query from arping
All responses afterward is then from the wrong port

The ethernet setup on the target box:

eth0  Link encap:Ethernet  HWaddr 00:30:D7:00:14:54
  inet addr:172.23.12.114  Bcast:172.23.15.255
Mask:255.255.248.0
  UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
  RX packets:473244 errors:0 dropped:2 overruns:0 frame:0
  TX packets:186655 errors:0 dropped:0 overruns:0 carrier:0
  collisions:0 txqueuelen:1000
  RX bytes:162928671 (155.3 Mb)  TX bytes:4862 (40.2 Mb)
  Base address:0x8500

eth1  Link encap:Ethernet  HWaddr 00:30:D7:00:14:55
  inet addr:192.168.0.100  Bcast:192.168.0.255
Mask:255.255.255.0
  UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
  RX packets:1553 errors:0 dropped:0 overruns:0 frame:0
  TX packets:4 errors:0 dropped:0 overruns:0 carrier:0
  collisions:0 txqueuelen:1000
  RX bytes:203182 (198.4 Kb)  TX bytes:168 (168.0 b)
  Base address:0x8600
-
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: [1/1] Block device throttling [Re: Distributed storage.]

2007-08-31 Thread Alasdair G Kergon
On Thu, Aug 30, 2007 at 04:20:35PM -0700, Daniel Phillips wrote:
> Resubmitting a bio or submitting a dependent bio from 
> inside a block driver does not need to be throttled because all 
> resources required to guarantee completion must have been obtained 
> _before_ the bio was allowed to proceed into the block layer.

I'm toying with the idea of keeping track of the maximum device stack
depth for each stacked device, and only permitting it to increase in
controlled circumstances.

Alasdair
-- 
[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: [PATCH] net/, drivers/net/ , missing EXPERIMENTAL in menus

2007-08-31 Thread Jeff Garzik

Robert P. J. Day wrote:

On Fri, 31 Aug 2007, Jeff Garzik wrote:


Robert P. J. Day wrote:



i'm sure i'm going to get shouted down here, but i really disagree
with "BROKEN" being considered a "maturity level".  IMHO, things
like EXPERIMENTAL, DEPRECATED and OBSOLETE represent maturity
levels, for what i think are obvious reasons.

something like BROKEN, though, has *nothing* to do with maturity.
a feature can be any of those maturity levels, and simultaneously
be BROKEN.  i consider BROKEN to be what i call a "status", and
different status levels might be the default of normal, or
KIND_OF_FLAKY or TOTALLY_BORKED -- that's where BROKEN would fit
in.

BROKEN is definitely a maturity level.


no.  it's not.  end of discussion.  you're wrong.

the concept of "maturity level" reflects where in the life cycle some
feature is.  it will typically start as "bleeding edge" or
"experimental" or something like that, eventually stabilize to be
normal (which would be the obvious default), after which, when its
value starts to run out and it begins showing its age, it becomes
"deprecated" and eventually "obsolete"  it's a natural and obvious
progression.

on the other hand, a feature can be "broken" at *any* point in that
life cycle -- that's why it is absolutely *not* a maturity level.
please don't fight with me on this, jeff.  you're simply wrong.


Get off your high horse and actually look at the patches that mark 
things BROKEN.


'deprecrated' and 'obsolete' are matters of discussed opinion, 
describing the utility of the code in question.  'broken' describes the 
state of the code itself.


Clear difference.

Jeff, one who actually marks this stuff as such



-
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-2.6.24] introduce MAC_FMT/MAC_ARG

2007-08-31 Thread Joe Perches
On Tue, 2007-08-28 at 14:22 -0700, David Miller wrote:
> From: Joe Perches <[EMAIL PROTECTED]> 
> > Option 2:
> > DECLARE_MAC_BUF(mac);
> > printk("%s", print_mac(mac, dev->dev_addr));
> I'm slightly leaning towards 2.

Here are the patches for this conversion.

Compiled successfully x86, defconfig and allyesconfig
against net-2.6.24 but the patch is largely untested.

I've inlined the include changes, but the entire patch
is quite large. (300KB)

MAC address format changes:

UPPER->lower case changes in MAC addresses in printks.
presentation from "%x %x..." to "%02x:%02x...". 
seq_printf uses of mac addresses

Perhaps the seq_printf changes might cause problems
with usermode programs.

please pull from:
git pull git://repo.or.cz/linux-2.6/trivial-mods.git net-2.6.24-print_mac

Signed-off-by: Joe Perches <[EMAIL PROTECTED]>

--

 include/linux/if_ether.h |7 +++
 include/net/ieee80211.h  |5 -
 include/net/mac80211.h   |4 
 3 files changed, 7 insertions(+), 9 deletions(-)

diff --git a/include/linux/if_ether.h b/include/linux/if_ether.h
index 3213f6f..bb3eb51 100644
--- a/include/linux/if_ether.h
+++ b/include/linux/if_ether.h
@@ -122,4 +122,11 @@ extern struct ctl_table ether_table[];
 #endif
 #endif
 
+/*
+ *  Display a 6 byte device address (MAC) in a readable format.
+ */
+#define MAC_FMT "%02x:%02x:%02x:%02x:%02x:%02x"
+extern char *print_mac(char* buf, const u8 *addr);
+#define DECLARE_MAC_BUF(var) char var[18] __maybe_unused
+
 #endif /* _LINUX_IF_ETHER_H */
diff --git a/include/net/ieee80211.h b/include/net/ieee80211.h
index bbd85cd..164d132 100644
--- a/include/net/ieee80211.h
+++ b/include/net/ieee80211.h
@@ -119,11 +119,6 @@ do { if (ieee80211_debug_level & (level)) \
 #define IEEE80211_DEBUG(level, fmt, args...) do {} while (0)
 #endif /* CONFIG_IEEE80211_DEBUG */
 
-/* debug macros not dependent on CONFIG_IEEE80211_DEBUG */
-
-#define MAC_FMT "%02x:%02x:%02x:%02x:%02x:%02x"
-#define MAC_ARG(x) 
((u8*)(x))[0],((u8*)(x))[1],((u8*)(x))[2],((u8*)(x))[3],((u8*)(x))[4],((u8*)(x))[5]
-
 /* escape_essid() is intended to be used in debug (and possibly error)
  * messages. It should never be used for passing essid to user space. */
 const char *escape_essid(const char *essid, u8 essid_len);
diff --git a/include/net/mac80211.h b/include/net/mac80211.h
index ec8c739..6de3ceb 100644
--- a/include/net/mac80211.h
+++ b/include/net/mac80211.h
@@ -1089,8 +1089,4 @@ static inline int ieee80211_get_morefrag(struct 
ieee80211_hdr *hdr)
IEEE80211_FCTL_MOREFRAGS) != 0;
 }
 
-#define MAC_FMT "%02x:%02x:%02x:%02x:%02x:%02x"
-#define MAC_ARG(x) ((u8*)(x))[0], ((u8*)(x))[1], ((u8*)(x))[2], \
-  ((u8*)(x))[3], ((u8*)(x))[4], ((u8*)(x))[5]
-
 #endif /* MAC80211_H */

--

 drivers/net/3c503.c   |4 +-
 drivers/net/3c505.c   |   10 +-
 drivers/net/3c507.c   |6 +-
 drivers/net/3c509.c   |6 +-
 drivers/net/3c515.c   |4 +-
 drivers/net/3c523.c   |   20 +--
 drivers/net/3c527.c   |7 +-
 drivers/net/3c59x.c   |7 +-
 drivers/net/8139cp.c  |8 +-
 drivers/net/8139too.c |8 +-
 drivers/net/82596.c   |   18 +--
 drivers/net/a2065.c   |6 +-
 drivers/net/ac3200.c  |8 +-
 drivers/net/acenic.c  |7 +-
 drivers/net/amd8111e.c|   12 +-
 drivers/net/apne.c|9 +-
 drivers/net/ariadne.c |   44 +++---
 drivers/net/arm/am79c961a.c   |8 +-
 drivers/net/arm/at91_ether.c  |   18 +-
 drivers/net/arm/ether1.c  |8 +-
 drivers/net/arm/ether3.c  |8 +-
 drivers/net/arm/etherh.c  |8 +-
 drivers/net/at1700.c  |4 +-
 drivers/net/atarilance.c  |   40 +++---
 drivers/net/atp.c |8 +-
 drivers/net/b44.c |9 +-
 drivers/net/bmac.c|6 +-
 drivers/net/bnx2.c|   12 +-
 drivers/net/bonding/bond_main.c   |   34 ++---
 drivers/net/bonding/bond_sysfs.c  |   11 +-
 drivers/net/cassini.c |   11 +-
 drivers/net/cris/eth_v10.c|8 +-
 drivers/net/cs89x0.c  |   15 +--
 drivers/net/de600.c   |6 +-
 drivers/net/de620.c   |8 +-
 drivers/net/declance.c|   14 +-
 drivers/net/depca.c   |   13 +-
 drivers/net/dgrs.c|   18 +--
 drivers/net/dl2k.c

Re: [PATCH net-2.6.24] introduce MAC_FMT/MAC_ARG

2007-08-31 Thread Johannes Berg
On Fri, 2007-08-31 at 15:16 -0700, Joe Perches wrote:

> please pull from:
> git pull git://repo.or.cz/linux-2.6/trivial-mods.git net-2.6.24-print_mac

got a gitweb for that somewhere?

johannes


signature.asc
Description: This is a digitally signed message part


Re: [PATCH] make _minimum_ TCP retransmission timeout configurable take 2

2007-08-31 Thread Rick Jones

David Miller wrote:

From: Rick Jones <[EMAIL PROTECTED]>
Date: Fri, 31 Aug 2007 13:59:50 -0700



ip is at tcp_rto_min+0x20/0x40



diff --git a/net/ipv4/tcp_input.c b/net/ipv4/tcp_input.c
index 1ee7212..bbad2cd 100644
--- a/net/ipv4/tcp_input.c
+++ b/net/ipv4/tcp_input.c
@@ -560,7 +560,7 @@ static u32 tcp_rto_min(struct sock *sk)
struct dst_entry *dst = __sk_dst_get(sk);
u32 rto_min = TCP_RTO_MIN;
 
-	if (dst_metric_locked(dst, RTAX_RTO_MIN))

+   if (dst && dst_metric_locked(dst, RTAX_RTO_MIN))
rto_min = dst->metrics[RTAX_RTO_MIN-1];
return rto_min;
 }


Applied and beating on it with a while loop doing a bunch of ip route 
del add change stuff while netperf TCP_CRR tests are running.  Thusfar 
things seem OK wrt the system staying alive, but since I only saw the 
failure once I'm not sure how much that is really saying.


I'm going to go ahead and take a look at input vs output units and 
differences between those with rto_min vs rtt.


rick jones
-
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/, drivers/net/ , missing EXPERIMENTAL in menus

2007-08-31 Thread Robert P. J. Day
On Fri, 31 Aug 2007, Jeff Garzik wrote:

> 'deprecrated' and 'obsolete' are matters of discussed opinion,
> describing the utility of the code in question.  'broken' describes
> the state of the code itself.
>
> Clear difference.

precisely.  thank you for making my point for me.

rday
-- 

Robert P. J. Day
Linux Consulting, Training and Annoying Kernel Pedantry
Waterloo, Ontario, CANADA

http://crashcourse.ca

-
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-2.6.24] introduce MAC_FMT/MAC_ARG

2007-08-31 Thread Joe Perches
On Sat, 2007-09-01 at 00:21 +0200, Johannes Berg wrote:
> On Fri, 2007-08-31 at 15:16 -0700, Joe Perches wrote:
> > please pull from:
> > git pull git://repo.or.cz/linux-2.6/trivial-mods.git net-2.6.24-print_mac
> got a gitweb for that somewhere?

Does this work for you?

http://repo.or.cz/w/linux-2.6/trivial-mods.git

-
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] make _minimum_ TCP retransmission timeout configurable take 2

2007-08-31 Thread David Miller
From: Rick Jones <[EMAIL PROTECTED]>
Date: Fri, 31 Aug 2007 15:20:52 -0700

> I'm going to go ahead and take a look at input vs output units and 
> differences between those with rto_min vs rtt.

You better because that's one of the last non-trivial emails you'll
get for me over the next few days while I'm travelling to kernel
summit :-)

-
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-2.6.24] introduce MAC_FMT/MAC_ARG

2007-08-31 Thread Johannes Berg
On Fri, 2007-08-31 at 15:24 -0700, Joe Perches wrote:
> On Sat, 2007-09-01 at 00:21 +0200, Johannes Berg wrote:
> > On Fri, 2007-08-31 at 15:16 -0700, Joe Perches wrote:
> > > please pull from:
> > > git pull git://repo.or.cz/linux-2.6/trivial-mods.git net-2.6.24-print_mac
> > got a gitweb for that somewhere?
> 
> Does this work for you?
> 
> http://repo.or.cz/w/linux-2.6/trivial-mods.git

Perfect, thanks.

johannes


signature.asc
Description: This is a digitally signed message part


Re: [PATCH net-2.6.24] introduce MAC_FMT/MAC_ARG

2007-08-31 Thread Johannes Berg
On Fri, 2007-08-31 at 15:24 -0700, Joe Perches wrote:
> On Sat, 2007-09-01 at 00:21 +0200, Johannes Berg wrote:
> > On Fri, 2007-08-31 at 15:16 -0700, Joe Perches wrote:
> > > please pull from:
> > > git pull git://repo.or.cz/linux-2.6/trivial-mods.git net-2.6.24-print_mac
> > got a gitweb for that somewhere?
> 
> Does this work for you?
> 
> http://repo.or.cz/w/linux-2.6/trivial-mods.git

I think you got a bit too trigger-happy:


p += sprintf(p, "key[%d] alg=CCMP key_set=%d "
-"tx_pn=%02x%02x%02x%02x%02x%02x "
-"rx_pn=%02x%02x%02x%02x%02x%02x "
+"tx_pn=%s "
+"rx_pn=%s "
 "format_errors=%d replays=%d decrypt_errors=%d\n",
 ccmp->key_idx, ccmp->key_set,
-MAC_ARG(ccmp->tx_pn), MAC_ARG(ccmp->rx_pn),
+print_mac(mac, ccmp->tx_pn), print_mac(mac2, ccmp->rx_pn),

the PN is a number, not a MAC address :) The fact that it used MAC_ARG,
was, I guess, just laziness of the original author since the PN is also
6 bytes long. That said, I can live with it being printed this way too,
it's just a bit weird.

Going to be fun to merge with my 70 outstanding patches though :)

johannes


signature.asc
Description: This is a digitally signed message part


Re: [PATCH net-2.6.24] introduce MAC_FMT/MAC_ARG

2007-08-31 Thread Joe Perches
On Sat, 2007-09-01 at 00:32 +0200, Johannes Berg wrote:
> I think you got a bit too trigger-happy:
> p += sprintf(p, "key[%d] alg=CCMP key_set=%d "
> -"tx_pn=%02x%02x%02x%02x%02x%02x "
> -"rx_pn=%02x%02x%02x%02x%02x%02x "
> +"tx_pn=%s "
> +"rx_pn=%s "
>  "format_errors=%d replays=%d decrypt_errors=%d\n",
>  ccmp->key_idx, ccmp->key_set,
> -MAC_ARG(ccmp->tx_pn), MAC_ARG(ccmp->rx_pn),
> +print_mac(mac, ccmp->tx_pn), print_mac(mac2, 
> ccmp->rx_pn),
> 
> the PN is a number, not a MAC address :) The fact that it used MAC_ARG,
> was, I guess, just laziness of the original author since the PN is also
> 6 bytes long. That said, I can live with it being printed this way too,
> it's just a bit weird.

Yes, that was one of the dodgy ones.
I didn't actually realize it wasn't a MAC address though.

I think all of the sprintf/seq_foo changes should be inspected.
I broke ipv6 once doing something similar to v6 addresses.

> Going to be fun to merge with my 70 outstanding patches though :)

That's a cheery definition of fun.

-
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


[SKBUFF]: Fix up csum_start when head room changes

2007-08-31 Thread Herbert Xu
Hi Dave:

[SKBUFF]: Fix up csum_start when head room changes

Thanks for noticing the bug where csum_start is not updated
when the head room changes.

This patch fixes that.  It also moves the csum/ip_summed
copying into copy_skb_header so that skb_copy_expand gets
it too.  I've checked its callers and no one should be upset
by this.

Signed-off-by: Herbert Xu <[EMAIL PROTECTED]>

Cheers,
-- 
Visit Openswan at http://www.openswan.org/
Email: Herbert Xu ~{PmV>HI~} <[EMAIL PROTECTED]>
Home Page: http://gondor.apana.org.au/~herbert/
PGP Key: http://gondor.apana.org.au/~herbert/pubkey.txt
--
diff --git a/net/core/skbuff.c b/net/core/skbuff.c
index 35021eb..944189d 100644
--- a/net/core/skbuff.c
+++ b/net/core/skbuff.c
@@ -472,6 +472,9 @@ static void copy_skb_header(struct sk_buff *new, const 
struct sk_buff *old)
 #ifdef CONFIG_INET
new->sp = secpath_get(old->sp);
 #endif
+   new->csum_start = old->csum_start;
+   new->csum_offset = old->csum_offset;
+   new->ip_summed = old->ip_summed;
new->transport_header = old->transport_header;
new->network_header   = old->network_header;
new->mac_header   = old->mac_header;
@@ -545,8 +548,6 @@ struct sk_buff *skb_copy(const struct sk_buff *skb, gfp_t 
gfp_mask)
skb_reserve(n, headerlen);
/* Set the tail pointer and length */
skb_put(n, skb->len);
-   n->csum  = skb->csum;
-   n->ip_summed = skb->ip_summed;
 
if (skb_copy_bits(skb, -headerlen, n->head, headerlen + skb->len))
BUG();
@@ -589,8 +590,6 @@ struct sk_buff *pskb_copy(struct sk_buff *skb, gfp_t 
gfp_mask)
skb_put(n, skb_headlen(skb));
/* Copy the bytes */
skb_copy_from_linear_data(skb, n->data, n->len);
-   n->csum  = skb->csum;
-   n->ip_summed = skb->ip_summed;
 
n->truesize += skb->data_len;
n->data_len  = skb->data_len;
@@ -686,6 +685,7 @@ int pskb_expand_head(struct sk_buff *skb, int nhead, int 
ntail,
skb->transport_header += off;
skb->network_header   += off;
skb->mac_header   += off;
+   skb->csum_start   += off;
skb->cloned   = 0;
skb->hdr_len  = 0;
skb->nohdr= 0;
@@ -734,9 +734,6 @@ struct sk_buff *skb_realloc_headroom(struct sk_buff *skb, 
unsigned int headroom)
  *
  * You must pass %GFP_ATOMIC as the allocation priority if this function
  * is called from an interrupt.
- *
- * BUG ALERT: ip_summed is not copied. Why does this work? Is it used
- * only by netfilter in the cases when checksum is recalculated? --ANK
  */
 struct sk_buff *skb_copy_expand(const struct sk_buff *skb,
int newheadroom, int newtailroom,
@@ -749,7 +746,7 @@ struct sk_buff *skb_copy_expand(const struct sk_buff *skb,
  gfp_mask);
int oldheadroom = skb_headroom(skb);
int head_copy_len, head_copy_off;
-   int off = 0;
+   int off;
 
if (!n)
return NULL;
@@ -773,12 +770,13 @@ struct sk_buff *skb_copy_expand(const struct sk_buff *skb,
 
copy_skb_header(n, skb);
 
-#ifdef NET_SKBUFF_DATA_USES_OFFSET
off  = newheadroom - oldheadroom;
-#endif
+   n->csum_start   += off;
+#ifdef NET_SKBUFF_DATA_USES_OFFSET
n->transport_header += off;
n->network_header   += off;
n->mac_header   += off;
+#endif
 
return n;
 }
-
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.6.24 4/5]S2io: Check for CARD_DOWN before handling traffic

2007-08-31 Thread Ramkrishna Vepa
Jeff,
> > - Added check to return from the traffic handling function, if the
card
> status
> >   is DOWN.
> >
> > Signed-off-by: Sivakumar Subramani
<[EMAIL PROTECTED]>
> > Signed-off-by: Santosh Rastapur <[EMAIL PROTECTED]>
> > Signed-off-by: Ramkrishna Vepa <[EMAIL PROTECTED]>
> > ---
> > diff -Nurp patch3/drivers/net/s2io.c patch4/drivers/net/s2io.c
> > --- patch3/drivers/net/s2io.c   2007-08-15 08:57:32.0
-0700
> > +++ patch4/drivers/net/s2io.c   2007-08-15 08:42:14.0
-0700
> > @@ -2927,6 +2927,11 @@ static int s2io_poll(struct net_device *
> > int i;
> >
> > atomic_inc(&nic->isr_cnt);
> > +   if (unlikely(atomic_read(&nic->card_state) == CARD_DOWN)) {
> > +   atomic_dec(&nic->isr_cnt);
> > +   return IRQ_NONE;
> > +   }
> > +
> > mac_control = &nic->mac_control;
> > config = &nic->config;
> >
> 
> invalid return value, for this function
> 
> Overall, this looks quite racy -- why does the card state differ from
> net_device state in the first place?
[Ram] Agreed, it is racy. Will use test_and_set_bit(), set_bit() and
clear_bit().
The card reset could be initiated due to an internal error detected in
one of the blocks in the chip, while interrupts are still occurring.
There is a  net_device state (LINK_STATE_START) set at open and reset at
close but none for temporary disabled/enabled states. Did you want us to
use this enum along with the CARRIER states?

Ram

-
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] Net: ath5k, split hw into hw, phy and initvals

2007-08-31 Thread Nick Kossifidis
2007/8/30, John W. Linville <[EMAIL PROTECTED]>:
> On Thu, Aug 30, 2007 at 04:50:01AM +0300, Nick Kossifidis wrote:
> > 2007/8/28, Christoph Hellwig <[EMAIL PROTECTED]>:
>
> > > ath5k_hw_phy.o should probably be ath5k_phy.o by conventions used by
> > > most drivers and ath5k_hw_inivals.o mights aswell be something like
> > > ath5k_init.o
>
> > If you check out the code you'll see i'm using the same convention
> > inside them, ath5k_hw* files contain hw related functions
> > (ath5k_hw_) while driver code has ath5k_. Also ath5k_init
> > is misleading, file acually includes initial register settings for
>
> I have to agree w/ Christoph -- the extra "_hw" in the names is just
> a bit unwieldy.
>
> John
>
> P.S.  "ath5k_initvals.c" seems acceptable to me.

ACK, i'll remove _hw ;-)

-- 
GPG ID: 0xD21DB2DB
As you read this post global entropy rises. Have Fun ;-)
Nick
-
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: zd1211rw regression, device does not enumerate

2007-08-31 Thread Daniel Drake

Oliver Neukum wrote:

after bisection it boils down to this patch:

[EMAIL PROTECTED]:/home/olli2/Trees/linux-2.6> git bisect bad
74553aedd46b3a2cae986f909cf2a3f99369decc is first bad commit
commit 74553aedd46b3a2cae986f909cf2a3f99369decc
Author: Daniel Drake <[EMAIL PROTECTED]>
Date:   Sun Jul 1 18:22:32 2007 +0100

[PATCH] zd1211rw: Defer firmware load until first ifup

that plugging in my device I get an error:
Aug 16 13:17:11 oenone kernel: zd1211rw 3-4.3:1.0: zd1211b chip 0ace:1215 v4810 
high 00-02-72 AL2230_RF pa0 g--NS
Aug 16 13:17:12 oenone ifup: Cannot enable interface eth2.


Can you enable CONFIG_ZD1211RW_DEBUG and post new logs?

Would also be nice to have a bug on the kernel bugzilla to track this.

Thanks,
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


borkage in 2.6.23-rc4-mm1

2007-08-31 Thread Andrew Morton

Am seeing random crap like this:

Aug 31 20:57:46 sony dhclient: DHCPREQUEST on eth1 to 255.255.255.255 port 67
Aug 31 20:57:51 sony dhclient: DHCPREQUEST on eth1 to 255.255.255.255 port 67
Aug 31 20:57:56 sony dhclient: dhclient(4537) is already running - exiting. 
Aug 31 20:57:56 sony dhclient: exiting.
Aug 31 20:58:05 sony dhclient: DHCPDISCOVER on eth1 to 255.255.255.255 port 67 
interval 4
Aug 31 20:58:07 sony kernel: ipw2200: Firmware error detected.  Restarting.
Aug 31 20:58:09 sony dhclient: DHCPDISCOVER on eth1 to 255.255.255.255 port 67 
interval 7
Aug 31 20:58:16 sony dhclient: DHCPDISCOVER on eth1 to 255.255.255.255 port 67 
interval 14
Aug 31 20:58:16 sony dhclient: DHCPOFFER from 192.168.2.1
Aug 31 20:58:16 sony dhclient: DHCPREQUEST on eth1 to 255.255.255.255 port 67
Aug 31 20:58:20 sony dhclient: DHCPREQUEST on eth1 to 255.255.255.255 port 67
Aug 31 20:58:20 sony dhclient: DHCPACK from 192.168.2.1
Aug 31 20:58:20 sony NET[4946]: /sbin/dhclient-script : updated /etc/resolv.conf
Aug 31 20:58:20 sony dhclient: bound to 192.168.2.5 -- renewal in 125513 
seconds.
Aug 31 20:59:45 sony ntpd[2059]: sendto(192.36.143.234): Invalid argument
Aug 31 20:59:51 sony ntpd[2059]: sendto(193.225.14.163): Invalid argument
Aug 31 20:59:52 sony ntpd[2059]: sendto(193.60.199.78): Invalid argument
Aug 31 21:01:31 sony kernel: ipw2200: Firmware error detected.  Restarting.
Aug 31 21:01:54 sony ntpd[2059]: sendto(192.36.143.234): Invalid argument
Aug 31 21:01:59 sony ntpd[2059]: sendto(193.225.14.163): Invalid argument
Aug 31 21:02:02 sony ntpd[2059]: sendto(193.60.199.78): Invalid argument
Aug 31 21:04:04 sony ntpd[2059]: sendto(192.36.143.234): Invalid argument
Aug 31 21:04:05 sony kernel: ipw2200: Firmware error detected.  Restarting.
Aug 31 21:04:07 sony ntpd[2059]: sendto(193.225.14.163): Invalid argument
Aug 31 21:04:12 sony ntpd[2059]: sendto(193.60.199.78): Invalid argument
Aug 31 21:05:21 sony kernel: ipw2200: Firmware error detected.  Restarting.

when trying to use ssh on the current rc4-mm1 lineup.
-
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: ipv4_get_l4proto: Frag of proto 17

2007-08-31 Thread Patrick McHardy

Meelis Roos wrote:

Yesterdays git snapsot on a normal home PC spams dmesg with the following
line:
ipv4_get_l4proto: Frag of proto 17

In what situation does this happen?


It happens some times every hour on the average. Seems to be some UDP 
traffic. Firewall allows in any UDP that is ESTABLISHEFD,RELATED, DHCP 
(some more UDP rules with counter 0 so not important). Additionally 
there is internal netowkr that sometimes has a laptop but usually not 
and the messages have appeared also when there is nothin in the internal 
network.


Locally mldonkey is probably using UDP, and lsof -i | grep UDP tells 
that named, avahi-daemon, dhcpd, chronyd, nmbd and cupsd are listening 
on UDP sockets (most of them on internal network).


But I have no idea what application is causing the messages.



I'm guessing that its ICMP errors containing UDP fragments.

Could you add a WARN_ON(1) to ipv4_get_l4proto() in
net/ipv4/netfilter/nf_conntrack_l3proto_ipv4.c to verify
this?

-
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 5/5] Net: ath5k, kconfig changes

2007-08-31 Thread Nick Kossifidis
2007/8/31, Nick Kossifidis <[EMAIL PROTECTED]>:
> 2007/8/30, John W. Linville <[EMAIL PROTECTED]>:
> > On Thu, Aug 30, 2007 at 04:38:09AM +0300, Nick Kossifidis wrote:
> > > 2007/8/28, Christoph Hellwig <[EMAIL PROTECTED]>:
> >
> > > > Also this whole patch seems rather pointless.  It saves only
> > > > very little and turns the driver into a complete ifdef maze.
> >
> > > Also most
> > > people will use 5212 code only, 5211 cards are on some old laptops and
> > > 5210, well i couldn't even find  a 5210 for actual testing :P
> >
> > FWIW, I'd bet dollars to donuts that distros will enable them all
> > together.
> >
> > Is saving code space the only reason to turn these off?  How much
> > space do you save?
> >
> > Is there some way you can isolate and/or limit the number of ifdef
> > blocks further?  If so, we might consider a version of this patch
> > that depends on EMBEDDED or somesuch...?
> >
> > John
>
> O.K. as a first step i'll limit 5210 code only then, just an option
> like "support older 5210 chipsets" which is going to be off by default
> instead of 3 options. It's not just saving space, it's also saving
> some runtime checks. It's not really a gain in performance though,
> most checks are done during initialization and dfs setup, i just
> thought it would be usefull to save as much cpu as possible.
>

Well after some thought i removed them all, there is no real gain from
this in most cases (that ppl will use newer 5212 chips and
combatibles).



-- 
GPG ID: 0xD21DB2DB
As you read this post global entropy rises. Have Fun ;-)
Nick
-
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] skge: unbalanced parenthesis fix

2007-08-31 Thread Mariusz Kozlowski
Hello,

This patch fixes unbalanced parenthesis.

Signed-off-by: Mariusz Kozlowski <[EMAIL PROTECTED]>

 drivers/net/skge.h |2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

--- linux-2.6.23-rc4-mm1-a/drivers/net/skge.h   2007-09-01 07:23:52.0 
+0200
+++ linux-2.6.23-rc4-mm1-b/drivers/net/skge.h   2007-09-01 07:37:55.0 
+0200
@@ -1351,7 +1351,7 @@ enum {
PHY_M_PC_EN_DET_PLUS= 3<<8, /* Energy Detect Plus (Mode 2) */
 };

-#define PHY_M_PC_MDI_XMODE(x)  u16)(x)<<5) & PHY_M_PC_MDIX_MSK)
+#define PHY_M_PC_MDI_XMODE(x)  (((u16)(x)<<5) & PHY_M_PC_MDIX_MSK)

 enum {
PHY_M_PC_MAN_MDI= 0, /* 00 = Manual MDI configuration */
-
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