1. 06 3月, 2007 10 次提交
    • J
      bonding: Improve IGMP join processing · a816c7c7
      Jay Vosburgh 提交于
      	In active-backup mode, the current bonding code duplicates IGMP
      traffic to all slaves, so that switches are up to date in case of a
      failover from an active to a backup interface.  If bonding then fails
      back to the original active interface, it is likely that the "active
      slave" switch's IGMP forwarding for the port will be out of date until
      some event occurs to refresh the switch (e.g., a membership query).
      
      	This patch alters the behavior of bonding to no longer flood
      IGMP to all ports, and to issue IGMP JOINs to the newly active port at
      the time of a failover.  This insures that switches are kept up to date
      for all cases.
      
      	"GOELLESCH Niels" <niels.goellesch@eurocontrol.int> originally
      reported this problem, and included a patch.  His original patch was
      modified by Jay Vosburgh to additionally remove the existing IGMP flood
      behavior, use RCU, streamline code paths, fix trailing white space, and
      adjust for style.
      Signed-off-by: NJay Vosburgh <fubar@us.ibm.com>
      Signed-off-by: NJeff Garzik <jeff@garzik.org>
      a816c7c7
    • J
      bonding: only receive ARPs for us · e245cb71
      Jay Vosburgh 提交于
      	The ARP validation code only needs ARPs for the bonding device.
      Signed-off-by: NJay Vosburgh <fubar@us.ibm.com>
      Signed-off-by: NJeff Garzik <jeff@garzik.org>
      e245cb71
    • J
      bonding: fix double dev_add_pack · c4f283b1
      Jay Vosburgh 提交于
      	Bonding can erroneously register the same packet_type to receive
      ARPs (for use by ARP validation): once at device open time, and once via
      sysfs.  Since sysfs can change the validate setting (and thus register
      or unregister) at any time, a flag is needed to synchronize with device
      open in order to avoid double registrations, and the simplest place is
      within the packet_type structure itself.  Double unregister is not an
      issue.
      
      	Bug reported by Ulrich Oelmann <ulrich.oelmann@web.de>.
      Signed-off-by: NJay Vosburgh <fubar@us.ibm.com>
      Signed-off-by: NJeff Garzik <jeff@garzik.org>
      c4f283b1
    • I
      [PATCH] paravirt: re-enable COMPAT_VDSO · c3442e29
      Ingo Molnar 提交于
      CONFIG_PARAVIRT broke old glibc bootup: it silently turned off the
      selectability of CONFIG_COMPAT_VDSO and thus rendered distro kernels
      unbootable on old-style VDSO glibc setups.
      
      the proper solution is to keep COMPAT_VDSO available - if a hypervisor
      needs any modification of that concept then we'll judge those changes in
      full context, once those changes are submitted.
      Signed-off-by: NIngo Molnar <mingo@elte.hu>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      c3442e29
    • L
      Merge branch 'for-linus' of git://git.o-hand.com/linux-rpurdie-backlight · 227c5fe7
      Linus Torvalds 提交于
      * 'for-linus' of git://git.o-hand.com/linux-rpurdie-backlight:
        backlight: Allow enable/disable of fb backlights, fixing regressions
        backlight: Fix nvidia backlight initial brightness
      227c5fe7
    • I
      [PATCH] disable NMI watchdog by default · 6ebf622b
      Ingo Molnar 提交于
      there's a new NMI watchdog related problem: KVM crashes on certain
      bzImages because ... we enable the NMI watchdog by default (even if the
      user does not ask for it) , and no other OS on this planet does that so
      KVM doesnt have emulation for that yet. So KVM injects a #GP, which
      crashes the Linux guest:
      
       general protection fault: 0000 [#1]
       PREEMPT SMP
       Modules linked in:
       CPU:    0
       EIP:    0060:[<c011a8ae>]    Not tainted VLI
       EFLAGS: 00000246   (2.6.20-rc5-rt0 #3)
       EIP is at setup_apic_nmi_watchdog+0x26d/0x3d3
      
      and no, i did /not/ request an nmi_watchdog on the boot command line!
      
      Solution: turn off that darn thing! It's a debug tool, not a 'make life
      harder' tool!!
      
      with this patch the KVM guest boots up just fine.
      
      And with this my laptop (Lenovo T60) also stopped its sporadic hard
      hanging (sometimes in acpi_init(), sometimes later during bootup,
      sometimes much later during actual use) as well. It hung with both
      nmi_watchdog=1 and nmi_watchdog=2, so it's generally the fact of NMI
      injection that is causing problems, not the NMI watchdog variant, nor
      any particular bootup code.
      
      [ NMI breaks on some systems, esp in combination with SMM -Arjan ]
      Signed-off-by: NIngo Molnar <mingo@elte.hu>
      Acked-by: NArjan van de Ven <arjan@linux.intel.com>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      6ebf622b
    • I
      [PATCH] paravirt: let users decide whether they want VMI · 0d05ad2c
      Ingo Molnar 提交于
      do not use default=y for CONFIG_VMI (we do not do that for any driver or
      special-hardware feature): the overwhelming majority of Linux users does
      not need it, and interested users and distributions can enable it
      as-needed.
      Signed-off-by: NIngo Molnar <mingo@elte.hu>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      0d05ad2c
    • I
      [PATCH] paravirt: clarify VMI description · e9417fb3
      Ingo Molnar 提交于
      Clarify the description of the CONFIG_VMI option: describe the reality
      that VMI is a VMWare-only interface for now. Once that changes and
      another hypervisor adopts the VMI ABI we can change the text.
      
      As can be seen from the Xen paravirtualization patches submitted to lkml
      the Xen project has chosen its own, non-VMI interface between Xen and
      the para-Linux - so remove Xen from the description.
      Signed-off-by: NIngo Molnar <mingo@elte.hu>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      e9417fb3
    • I
      [PATCH] paravirt: remove NO_IDLE_HZ on x86 · 3f1a73b6
      Ingo Molnar 提交于
      Temove the mistaken turning on of NO_IDLE_HZ on x86+PARAVIRT kernels.
      
      It's an obsolete, limited form of dynticks.
      Signed-off-by: NIngo Molnar <mingo@elte.hu>
      Acked-by: NThomas Gleixner <tglx@linutronix.de>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      3f1a73b6
    • D
      [PATCH] video/aty/mach64_ct.c: fix bogus delay loop · 8690ba44
      David Miller 提交于
      CT based mach64 cards were reported to hang on sparc64 boxes when
      compiled with gcc-4.1.x and later.
      
      Looking at this piece of code, it's no surprise.  A critical
      delay was implemented as an empty for() loop, and gcc 4.0.x
      and previous did not optimize it away, so we did get a delay.
      
      But gcc-4.1.x and later can optimize it away, and we get crashes.
      
      Use a real udelay() to fix this.  Fix verified on SunBlade100.
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      8690ba44
  2. 05 3月, 2007 30 次提交