21 Mar, 2006

1 commit


18 Jan, 2006

1 commit


04 Jan, 2006

1 commit


11 Nov, 2005

1 commit

  • Here is the patch that introduces the generic skb_checksum_complete
    which also checks for hardware RX checksum faults. If that happens,
    it'll call netdev_rx_csum_fault which currently prints out a stack
    trace with the device name. In future it can turn off RX checksum.

    I've converted every spot under net/ that does RX checksum checks to
    use skb_checksum_complete or __skb_checksum_complete with the
    exceptions of:

    * Those places where checksums are done bit by bit. These will call
    netdev_rx_csum_fault directly.

    * The following have not been completely checked/converted:

    ipmr
    ip_vs
    netfilter
    dccp

    This patch is based on patches and suggestions from Stephen Hemminger
    and David S. Miller.

    Signed-off-by: Herbert Xu
    Signed-off-by: David S. Miller

    Herbert Xu
     

04 Oct, 2005

1 commit

  • The following patch renames __in_dev_get() to __in_dev_get_rtnl() and
    introduces __in_dev_get_rcu() to cover the second case.

    1) RCU with refcnt should use in_dev_get().
    2) RCU without refcnt should use __in_dev_get_rcu().
    3) All others must hold RTNL and use __in_dev_get_rtnl().

    There is one exception in net/ipv4/route.c which is in fact a pre-existing
    race condition. I've marked it as such so that we remember to fix it.

    This patch is based on suggestions and prior work by Suzanne Wood and
    Paul McKenney.

    Signed-off-by: Herbert Xu
    Signed-off-by: David S. Miller

    Herbert Xu
     

10 Sep, 2005

1 commit


12 Aug, 2005

7 commits

  • Remove unused variable

    Signed-off-by: Matt Mackall
    Signed-off-by: David S. Miller

    Matt Mackall
     
  • This fixes a race during initialization with the NAPI softirq
    processing by using an RCU approach.

    This race was discovered when refill_skbs() was added to
    the setup code.

    Signed-off-by: Matt Mackall
    Signed-off-by: David S. Miller

    Matt Mackall
     
  • we could do one thing (see the patch below): i think it would be useful
    to fill up the netlogging skb queue straight at initialization time.
    Especially if netpoll is used for dumping alone, the system might not be
    in a situation to fill up the queue at the point of crash, so better be
    a bit more prepared and keep the pipeline filled.

    [ I've modified this to be called earlier - mpm ]

    Signed-off-by: Ingo Molnar
    Signed-off-by: Matt Mackall
    Signed-off-by: David S. Miller

    Ingo Molnar
     
  • Add limited retry logic to netpoll_send_skb

    Each time we attempt to send, decrement our per-device retry counter.
    On every successful send, we reset the counter.

    We delay 50us between attempts with up to 20000 retries for a total of
    1 second. After we've exhausted our retries, subsequent failed
    attempts will try only once until reset by success.

    Signed-off-by: Matt Mackall
    Signed-off-by: David S. Miller

    Matt Mackall
     
  • Minor netpoll_send_skb restructuring

    Restructure to avoid confusing goto and move some bits out of the
    retry loop.

    Signed-off-by: Matt Mackall
    Signed-off-by: David S. Miller

    Matt Mackall
     
  • This fixes an obvious deadlock in the netpoll code. netpoll_rx takes the
    npinfo->rx_lock. netpoll_rx is also the only caller of arp_reply (through
    __netpoll_rx). As such, it is not necessary to take this lock.

    Signed-off-by: Jeff Moyer
    Signed-off-by: Matt Mackall
    Signed-off-by: David S. Miller

    Jeff Moyer
     
  • Initialize npinfo->rx_flags. The way it stands now, this will have random
    garbage, and so will incur a locking penalty even when an rx_hook isn't
    registered and we are not active in the netpoll polling code.

    Signed-off-by: Jeff Moyer
    Signed-off-by: Matt Mackall
    Signed-off-by: David S. Miller

    Jeff Moyer
     

23 Jun, 2005

2 commits

  • This patch provides support for registering multiple netpoll clients to the
    same network device. Only one of these clients may register an rx_hook,
    however. In practice, this restriction has not been problematic. It is
    worth mentioning, though, that the current design can be easily extended to
    allow for the registration of multiple rx_hooks.

    The basic idea of the patch is that the rx_np pointer in the netpoll_info
    structure points to the struct netpoll that has rx_hook filled in. Aside
    from this one case, there is no need for a pointer from the struct
    net_device to an individual struct netpoll.

    A lock is introduced to protect the setting and clearing of the np_rx
    pointer. The pointer will only be cleared upon netpoll client module
    removal, and the lock should be uncontested.

    Signed-off-by: Jeff Moyer
    Signed-off-by: David S. Miller

    Jeff Moyer
     
  • This patch introduces a netpoll_info structure, which the struct net_device
    will now point to instead of pointing to a struct netpoll. The reason for
    this is two-fold: 1) fields such as the rx_flags, poll_owner, and poll_lock
    should be maintained per net_device, not per netpoll; and 2) this is a first
    step in providing support for multiple netpoll clients to register against the
    same net_device.

    The struct netpoll is now pointed to by the netpoll_info structure. As
    such, the previous behaviour of the code is preserved.

    Signed-off-by: Jeff Moyer
    Signed-off-by: David S. Miller

    Jeff Moyer
     

17 Apr, 2005

1 commit

  • Initial git repository build. I'm not bothering with the full history,
    even though we have it. We can create a separate "historical" git
    archive of that later if we want to, and in the meantime it's about
    3.2GB when imported into git - space that would just make the early
    git days unnecessarily complicated, when we don't have a lot of good
    infrastructure for it.

    Let it rip!

    Linus Torvalds