1. 26 4月, 2007 1 次提交
    • E
      [NET]: Keep sk_backlog near sk_lock · fa438ccf
      Eric Dumazet 提交于
      sk_backlog is a critical field of struct sock. (known famous words)
      
      It is (ab)used in hot paths, in particular in release_sock(), tcp_recvmsg(),
      tcp_v4_rcv(), sk_receive_skb().
      
      It really makes sense to place it next to sk_lock, because sk_backlog is only
      used after sk_lock locked (and thus memory cache line in L1 cache). This
      should reduce cache misses and sk_lock acquisition time.
      
      (In theory, we could only move the head pointer near sk_lock, and leaving tail
      far away, because 'tail' is normally not so hot, but keep it simple :) )
      Signed-off-by: NEric Dumazet <dada1@cosmosbay.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      fa438ccf
  2. 18 4月, 2007 3 次提交
  3. 13 4月, 2007 1 次提交
  4. 04 4月, 2007 1 次提交
    • E
      [PATCH] net: Ignore sysfs network device rename bugs. · 92749821
      Eric W. Biederman 提交于
      The generic networking code ensures that no two networking devices
      have the same name, so  there is no time except when sysfs has
      implementation bugs that device_rename when called from
      dev_change_name will fail.
      
      The current error handling for errors from device_rename in
      dev_change_name is wrong and results in an unusable and unrecoverable
      network device if device_rename is happens to return an error.
      
      This patch removes the buggy error handling.  Which confines the mess
      when device_rename hits a problem to sysfs, instead of propagating it
      the rest of the network stack.  Making linux a little more robust.
      
      Without this patch you can observe what happens when sysfs has a bug
      when CONFIG_SYSFS_DEPRECATED is not set and you attempt to rename
      a real network device to a name like (broken_parity_status, device,
      modalias, power, resource2, subsystem_vendor, class,  driver, irq,
      msi_bus, resource, subsystem, uevent, config, enable, local_cpus,
      numa_node, resource0, subsystem_device, vendor)
      
      Greg has a patch that fixes the sysfs bugs but he doesn't trust it
      for a 2.6.21 timeframe.  This patch which just ignores errors should
      be safe and it keeps the system from going completely wacky.
      Signed-off-by: NEric W. Biederman <ebiederm@xmission.com>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      92749821
  5. 03 4月, 2007 1 次提交
  6. 30 3月, 2007 1 次提交
  7. 28 3月, 2007 1 次提交
  8. 26 3月, 2007 3 次提交
    • P
      [NET_SCHED]: Fix ingress locking · 035832a2
      Patrick McHardy 提交于
      Ingress queueing uses a seperate lock for serializing enqueue operations,
      but fails to properly protect itself against concurrent changes to the
      qdisc tree. Use queue_lock for now since the real fix it quite intrusive.
      Signed-off-by: NPatrick McHardy <kaber@trash.net>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      035832a2
    • A
      [NET]: Fix neighbour destructor handling. · ecbb4169
      Alexey Kuznetsov 提交于
      ->neigh_destructor() is killed (not used), replaced with
      ->neigh_cleanup(), which is called when neighbor entry goes to dead
      state. At this point everything is still valid: neigh->dev,
      neigh->parms etc.
      
      The device should guarantee that dead neighbor entries (neigh->dead !=
      0) do not get private part initialized, otherwise nobody will cleanup
      it.
      
      I think this is enough for ipoib which is the only user of this thing.
      Initialization private part of neighbor entries happens in ipib
      start_xmit routine, which is not reached when device is down.  But it
      would be better to add explicit test for neigh->dead in any case.
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      ecbb4169
    • T
      [NET]: Fix fib_rules compatibility breakage · e1701c68
      Thomas Graf 提交于
      Based upon a patch from Patrick McHardy.
      
      The fib_rules netlink attribute policy introduced in 2.6.19 broke
      userspace compatibilty. When specifying a rule with "from all"
      or "to all", iproute adds a zero byte long netlink attribute,
      but the policy requires all addresses to have a size equal to
      sizeof(struct in_addr)/sizeof(struct in6_addr), resulting in a
      validation error.
      
      Check attribute length of FRA_SRC/FRA_DST in the generic framework
      by letting the family specific rules implementation provide the
      length of an address. Report an error if address length is non
      zero but no address attribute is provided. Fix actual bug by
      checking address length for non-zero instead of relying on
      availability of attribute.
      Signed-off-by: NThomas Graf <tgraf@suug.ch>
      Signed-off-by: NPatrick McHardy <kaber@trash.net>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      e1701c68
  9. 23 3月, 2007 2 次提交
  10. 17 3月, 2007 1 次提交
  11. 07 3月, 2007 1 次提交
  12. 01 3月, 2007 1 次提交
  13. 15 2月, 2007 2 次提交
    • E
      [PATCH] sysctl: remove insert_at_head from register_sysctl · 0b4d4147
      Eric W. Biederman 提交于
      The semantic effect of insert_at_head is that it would allow new registered
      sysctl entries to override existing sysctl entries of the same name.  Which is
      pain for caching and the proc interface never implemented.
      
      I have done an audit and discovered that none of the current users of
      register_sysctl care as (excpet for directories) they do not register
      duplicate sysctl entries.
      
      So this patch simply removes the support for overriding existing entries in
      the sys_sysctl interface since no one uses it or cares and it makes future
      enhancments harder.
      Signed-off-by: NEric W. Biederman <ebiederm@xmission.com>
      Acked-by: NRalf Baechle <ralf@linux-mips.org>
      Acked-by: NMartin Schwidefsky <schwidefsky@de.ibm.com>
      Cc: Russell King <rmk@arm.linux.org.uk>
      Cc: David Howells <dhowells@redhat.com>
      Cc: "Luck, Tony" <tony.luck@intel.com>
      Cc: Ralf Baechle <ralf@linux-mips.org>
      Cc: Paul Mackerras <paulus@samba.org>
      Cc: Martin Schwidefsky <schwidefsky@de.ibm.com>
      Cc: Andi Kleen <ak@muc.de>
      Cc: Jens Axboe <axboe@kernel.dk>
      Cc: Corey Minyard <minyard@acm.org>
      Cc: Neil Brown <neilb@suse.de>
      Cc: "John W. Linville" <linville@tuxdriver.com>
      Cc: James Bottomley <James.Bottomley@steeleye.com>
      Cc: Jan Kara <jack@ucw.cz>
      Cc: Trond Myklebust <trond.myklebust@fys.uio.no>
      Cc: Mark Fasheh <mark.fasheh@oracle.com>
      Cc: David Chinner <dgc@sgi.com>
      Cc: "David S. Miller" <davem@davemloft.net>
      Cc: Patrick McHardy <kaber@trash.net>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      0b4d4147
    • T
      [PATCH] remove many unneeded #includes of sched.h · cd354f1a
      Tim Schmielau 提交于
      After Al Viro (finally) succeeded in removing the sched.h #include in module.h
      recently, it makes sense again to remove other superfluous sched.h includes.
      There are quite a lot of files which include it but don't actually need
      anything defined in there.  Presumably these includes were once needed for
      macros that used to live in sched.h, but moved to other header files in the
      course of cleaning it up.
      
      To ease the pain, this time I did not fiddle with any header files and only
      removed #includes from .c-files, which tend to cause less trouble.
      
      Compile tested against 2.6.20-rc2 and 2.6.20-rc2-mm2 (with offsets) on alpha,
      arm, i386, ia64, mips, powerpc, and x86_64 with allnoconfig, defconfig,
      allmodconfig, and allyesconfig as well as a few randconfigs on x86_64 and all
      configs in arch/arm/configs on arm.  I also checked that no new warnings were
      introduced by the patch (actually, some warnings are removed that were emitted
      by unnecessarily included header files).
      Signed-off-by: NTim Schmielau <tim@physik3.uni-rostock.de>
      Acked-by: NRussell King <rmk+kernel@arm.linux.org.uk>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      cd354f1a
  14. 13 2月, 2007 1 次提交
  15. 12 2月, 2007 1 次提交
  16. 11 2月, 2007 1 次提交
  17. 10 2月, 2007 1 次提交
  18. 09 2月, 2007 3 次提交
  19. 08 2月, 2007 1 次提交
  20. 24 1月, 2007 1 次提交
  21. 04 1月, 2007 1 次提交
  22. 13 12月, 2006 1 次提交
  23. 12 12月, 2006 2 次提交
    • A
      [NETPOLL]: Fix local_bh_enable() warning. · a49f99ff
      Andrew Morton 提交于
      During boot we get:
      
      netconsole: device eth0 not up yet, forcing it
      e1000: eth0: e1000_watchdog: NIC Link is Up 100 Mbps Full Duplex
      WARNING (!__warned) at kernel/softirq.c:137 local_bh_enable()
      
      Call Trace:
       [<ffffffff80235baf>] local_bh_enable+0x41/0xa3
       [<ffffffff8045ab8e>] netpoll_send_skb+0x116/0x144
       [<ffffffff8045b1ee>] netpoll_send_udp+0x263/0x271
       [<ffffffff803d41ec>] write_msg+0x42/0x5e
       [<ffffffff80230c9b>] __call_console_drivers+0x5f/0x70
       [<ffffffff80230d19>] _call_console_drivers+0x6d/0x71
       [<ffffffff802313f0>] release_console_sem+0x148/0x1ec
       [<ffffffff802316ce>] register_console+0x1b1/0x1ba
       [<ffffffff803d4178>] init_netconsole+0x54/0x68
       [<ffffffff802071ae>] init+0x152/0x308
       [<ffffffff804dac8b>] _spin_unlock_irq+0x14/0x30
       [<ffffffff8022c15e>] schedule_tail+0x43/0x9f
       [<ffffffff8020a758>] child_rip+0xa/0x12
      
      Herbert sayeth:
      
        Normally networking isn't invoked with interrupts turned off, but I
        suppose we don't have a choice here.  This is unique being a place where you
        can get called with BH on, off, or IRQs off.
      
        Given that this is only used for printk, the easiest solution is probably
        just to disable local IRQs instead of BH.
      Signed-off-by: NAndrew Morton <akpm@osdl.org>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      a49f99ff
    • A
  24. 09 12月, 2006 2 次提交
  25. 08 12月, 2006 5 次提交
  26. 07 12月, 2006 1 次提交
    • R
      [NET]: Memory barrier cleanups · e16aa207
      Ralf Baechle 提交于
      I believe all the below memory barriers only matter on SMP so
      therefore the smp_* variant of the barrier should be used.
      
      I'm wondering if the barrier in net/ipv4/inet_timewait_sock.c should be
      dropped entirely.  schedule_work's implementation currently implies a
      memory barrier and I think sane semantics of schedule_work() should imply
      a memory barrier, as needed so the caller shouldn't have to worry.
      It's not quite obvious why the barrier in net/packet/af_packet.c is
      needed; maybe it should be implied through flush_dcache_page?
      Signed-off-by: NRalf Baechle <ralf@linux-mips.org>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      e16aa207