1. 02 6月, 2010 1 次提交
  2. 01 6月, 2010 2 次提交
  3. 31 5月, 2010 1 次提交
  4. 29 5月, 2010 1 次提交
  5. 27 5月, 2010 1 次提交
    • E
      net: fix lock_sock_bh/unlock_sock_bh · 8a74ad60
      Eric Dumazet 提交于
      This new sock lock primitive was introduced to speedup some user context
      socket manipulation. But it is unsafe to protect two threads, one using
      regular lock_sock/release_sock, one using lock_sock_bh/unlock_sock_bh
      
      This patch changes lock_sock_bh to be careful against 'owned' state.
      If owned is found to be set, we must take the slow path.
      lock_sock_bh() now returns a boolean to say if the slow path was taken,
      and this boolean is used at unlock_sock_bh time to call the appropriate
      unlock function.
      
      After this change, BH are either disabled or enabled during the
      lock_sock_bh/unlock_sock_bh protected section. This might be misleading,
      so we rename these functions to lock_sock_fast()/unlock_sock_fast().
      Reported-by: NAnton Blanchard <anton@samba.org>
      Signed-off-by: NEric Dumazet <eric.dumazet@gmail.com>
      Tested-by: NAnton Blanchard <anton@samba.org>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      8a74ad60
  6. 26 5月, 2010 1 次提交
  7. 25 5月, 2010 1 次提交
  8. 18 5月, 2010 8 次提交
  9. 16 5月, 2010 3 次提交
  10. 13 5月, 2010 3 次提交
  11. 12 5月, 2010 5 次提交
  12. 10 5月, 2010 2 次提交
    • D
      net: Fix FDDI and TR config checks in ipv4 arp and LLC. · f0ecde14
      David S. Miller 提交于
      Need to check both CONFIG_FOO and CONFIG_FOO_MODULE
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      f0ecde14
    • A
      IPv4: unresolved multicast route cleanup · bbd72543
      Andreas Meissner 提交于
      Fixes the expiration timer for unresolved multicast route entries.
      In case new multicast routing requests come in faster than the 
      expiration timeout occurs (e.g. zap through multicast TV streams), the 
      timer is prevented from being called at time for already existing entries.
      
      As the single timer is resetted to default whenever a new entry is made, 
      the timeout for existing unresolved entires are missed and/or not 
      updated. As a consequence new requests are denied when the limit of 
      unresolved entries has been reached because old entries live longer than 
      they are supposed to.
      
      The solution is to reset the timer only for the first unresolved entry 
      in the multicast routing cache. All other timers are already set and 
      updated correctly within the timer function itself by now.
      
      Signed-off by: Andreas Meissner <andreas.meissner@sphairon.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      bbd72543
  13. 08 5月, 2010 1 次提交
  14. 07 5月, 2010 1 次提交
  15. 02 5月, 2010 2 次提交
  16. 29 4月, 2010 3 次提交
    • E
      net: ip_queue_rcv_skb() helper · f84af32c
      Eric Dumazet 提交于
      When queueing a skb to socket, we can immediately release its dst if
      target socket do not use IP_CMSG_PKTINFO.
      
      tcp_data_queue() can drop dst too.
      
      This to benefit from a hot cache line and avoid the receiver, possibly
      on another cpu, to dirty this cache line himself.
      Signed-off-by: NEric Dumazet <eric.dumazet@gmail.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      f84af32c
    • E
      net: speedup udp receive path · 4b0b72f7
      Eric Dumazet 提交于
      Since commit 95766fff ([UDP]: Add memory accounting.), 
      each received packet needs one extra sock_lock()/sock_release() pair.
      
      This added latency because of possible backlog handling. Then later,
      ticket spinlocks added yet another latency source in case of DDOS.
      
      This patch introduces lock_sock_bh() and unlock_sock_bh()
      synchronization primitives, avoiding one atomic operation and backlog
      processing.
      
      skb_free_datagram_locked() uses them instead of full blown
      lock_sock()/release_sock(). skb is orphaned inside locked section for
      proper socket memory reclaim, and finally freed outside of it.
      
      UDP receive path now take the socket spinlock only once.
      Signed-off-by: NEric Dumazet <eric.dumazet@gmail.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      4b0b72f7
    • D
      Revert "tcp: bind() fix when many ports are bound" · 8d238b25
      David S. Miller 提交于
      This reverts two commits:
      
      fda48a0d
      tcp: bind() fix when many ports are bound
      
      and a follow-on fix for it:
      
      6443bb1f
      ipv6: Fix inet6_csk_bind_conflict()
      
      It causes problems with binding listening sockets when time-wait
      sockets from a previous instance still are alive.
      
      It's too late to keep fiddling with this so late in the -rc
      series, and we'll deal with it in net-next-2.6 instead.
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      8d238b25
  17. 28 4月, 2010 3 次提交
  18. 26 4月, 2010 1 次提交