1. May 25, 2010
    • Peter Zijlstra's avatar
      x86: remove last traces of quicklist usage · 48691ff8
      Peter Zijlstra authored
      
      
      We still have a stray quicklist header included even though we axed
      quicklist usage quite a while back.
      
      Signed-off-by: default avatarPeter Zijlstra <a.p.zijlstra@chello.nl>
      LKML-Reference: <201005241913.o4OJDJe9010881@imap1.linux-foundation.org>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarH. Peter Anvin <hpa@linux.intel.com>
      48691ff8
    • Gabor Gombas's avatar
      x86, setup: Phoenix BIOS fixup is needed on Dell Inspiron Mini 1012 · 3d6e77a3
      Gabor Gombas authored
      
      
      The low-memory corruption checker triggers during suspend/resume, so we
      need to reserve the low 64k.  Don't be fooled that the BIOS identifies
      itself as "Dell Inc.", it's still Phoenix BIOS.
      
      [ hpa: I think we blacklist almost every BIOS in existence.  We should
      either change this to a whitelist or just make it unconditional. ]
      
      Signed-off-by: default avatarGabor Gombas <gombasg@digikabel.hu>
      LKML-Reference: <201005241913.o4OJDIMM010877@imap1.linux-foundation.org>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarH. Peter Anvin <hpa@linux.intel.com>
      Cc: <stable@kernel.org>
      3d6e77a3
    • Jan Beulich's avatar
      x86: "nosmp" command line option should force the system into UP mode · 5f2eb550
      Jan Beulich authored
      
      
      Bits set in cpu_possible_mask prior to the execution of
      prefill_possible_map() (i.e.  when parsing ACPI or MPS tables) would
      prevent the SMP alternatives logic from switching to UP mode, plus
      unnecessary setup of per-CPU data for CPUs that can never come online.
      
      Additionally, without CONFIG_HOTPLUG_CPU disabled CPUs can never come
      online, and hence setting cpu_possible_mask bits for them is again a
      simple waste of resources.
      
      Signed-off-by: default avatarJan Beulich <jbeulich@novell.com>
      LKML-Reference: <201005241913.o4OJDH3Z010874@imap1.linux-foundation.org>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarH. Peter Anvin <hpa@linux.intel.com>
      5f2eb550
    • Julia Lawall's avatar
      arch/x86/pci: use kasprintf · b46fc5f2
      Julia Lawall authored
      kasprintf combines kmalloc and sprintf, and takes care of the size
      calculation itself.
      
      The semantic patch that makes this change is as follows:
      (http://coccinelle.lip6.fr/
      
      )
      
      // <smpl>
      @@
      expression a,flag;
      expression list args;
      statement S;
      @@
      
        a =
      -  \(kmalloc\|kzalloc\)(...,flag)
      +  kasprintf(flag,args)
        <... when != a
        if (a == NULL || ...) S
        ...>
      - sprintf(a,args);
      // </smpl>
      
      Signed-off-by: default avatarJulia Lawall <julia@diku.dk>
      LKML-Reference: <201005241913.o4OJDG3R010871@imap1.linux-foundation.org>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarH. Peter Anvin <hpa@linux.intel.com>
      b46fc5f2
    • Kerstin Jonsson's avatar
      x86, apic: ack all pending irqs when crashed/on kexec · 8c3ba8d0
      Kerstin Jonsson authored
      
      
      When the SMP kernel decides to crash_kexec() the local APICs may have
      pending interrupts in their vector tables.
      
      The setup routine for the local APIC has a deficient mechanism for
      clearing these interrupts, it only handles interrupts that has already
      been dispatched to the local core for servicing (the ISR register) safely,
      it doesn't consider lower prioritized queued interrupts stored in the IRR
      register.
      
      If you have more than one pending interrupt within the same 32 bit word in
      the LAPIC vector table registers you may find yourself entering the IO
      APIC setup with pending interrupts left in the LAPIC.  This is a situation
      for wich the IO APIC setup is not prepared.  Depending of what/which
      interrupt vector/vectors are stuck in the APIC tables your system may show
      various degrees of malfunctioning.  That was the reason why the
      check_timer() failed in our system, the timer interrupts was blocked by
      pending interrupts from the old kernel when routed trough the IO APIC.
      
      Additional comment from Jiri Bohac:
      ==============
      If this should go into stable release,
      I'd add some kind of limit on the number of iterations, just to be safe from
      hard to debug lock-ups:
      
      +if (loops++  > MAX_LOOPS) {
      +        printk("LAPIC pending clean-up")
      +        break;
      +}
       while (queued);
      
      with MAX_LOOPS something like 1E9 this would leave plenty of time for the
      pending IRQs to be cleared and would and still cause at most a second of delay
      if the loop were to lock-up for whatever reason.
      
      [trenn@suse.de:
      
      V2: Use tsc if avail to bail out after 1 sec due to possible virtual
          apic_read calls which may take rather long (suggested by: Avi Kivity
          <avi@redhat.com>) If no tsc is available bail out quickly after
          cpu_khz, if we broke out too early and still have irqs pending (which
          should never happen?) we still get a WARN_ON...
      
      V3: - Fixed indentation -> checkpatch clean
          - max_loops must be signed
      
      V4: - Fix typo, mixed up tsc and ntsc in first rdtscll() call
      
      V5: Adjust WARN_ON() condition to also catch error in cpu_has_tsc case]
      
      Cc: <jbohac@novell.com>
      Cc: Yinghai Lu <yinghai@kernel.org>
      Cc: Kerstin Jonsson <kerstin.jonsson@ericsson.com>
      Cc: Avi Kivity <avi@redhat.com>
      Cc: Suresh Siddha <suresh.b.siddha@intel.com>
      Tested-by: default avatarEric W. Biederman <ebiederm@xmission.com>
      Signed-off-by: default avatarThomas Renninger <trenn@suse.de>
      LKML-Reference: <201005241913.o4OJDGWM010865@imap1.linux-foundation.org>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarH. Peter Anvin <hpa@linux.intel.com>
      8c3ba8d0
  2. May 24, 2010
  3. May 23, 2010