1. 06 10月, 2007 1 次提交
  2. 04 10月, 2007 2 次提交
  3. 03 10月, 2007 1 次提交
  4. 02 10月, 2007 3 次提交
    • D
      [SPARC64]: Fix missing load-twin usage in Niagara-1 memcpy. · 25e5566e
      David S. Miller 提交于
      For the case where the source is not aligned modulo 8
      we don't use load-twins to suck the data in and this
      kills performance since normal loads allocate in the
      L1 cache (unlike load-twin) and thus big memcpys swipe
      the entire L1 D-cache.
      
      We need to allocate a register window to implement this
      properly, but that actually simplifies a lot of things
      as a nice side-effect.
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      25e5566e
    • A
      x86_64: increase VDSO_TEXT_OFFSET for ancient binutils · cf8dc57c
      Andi Kleen 提交于
      For some reason old binutils genertate larger headers so increase the text
      offset of the vdso to avoid linker errors.
      
      Roland McGrath explains:
        "There are extra symbols in the '.dynsym' section that are responsible
         for the size difference (They also cause corresponding inflation in
         '.gnu.version')
      
         Older ld's wrongly generated these unneeded symbols in .dynsym.  This
         was fixed not all that long ago (2006); binutils-2.17.50.0.6 might be
         the first fixed version, but I have not verified for sure where the
         cutoff was.
      
         The unneeded symbols et al from old ld add almost 700 bytes excess.
         This limits fairly tightly the amount by which the actual text and
         data in the vDSO can grow in the future without pushing the whole
         file over 4kb.  If it does grow later on, we should consider changing
         the layout with a config option or something to pack it better
         without that padding, when building the kernel with newer binutils."
      Signed-off-by: NAndi Kleen <ak@suse.de>
      Cc: Roland McGrath <roland@redhat.com>
      Cc: Badari Pulavarty <pbadari@us.ibm.com>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      cf8dc57c
    • A
      [POWERPC] Fix xics set_affinity code · e48395f1
      Anton Blanchard 提交于
      On a POWER6 machine running 2.6.23-rc8 I sometimes see the following error:
      
      xics_set_affinity: No online cpus in the mask 00000000,00000000,00000000,00000001 for irq 20
      
      In a desperate attempt to get a changelog entry in 2.6.23, I took a look
      into it.
      
      It turns out we are passing a real and not a virtual irq into
      get_irq_server.  This works for the case where hwirq < NR_IRQS and we
      set virq = hwirq.  In my case however hwirq = 590082 and we try and
      access irq_desc[590082], slightly past the end at 512 entries.
      
      Lucky we ship lots of memory with our machines.
      Signed-off-by: NAnton Blanchard <anton@samba.org>
      Signed-off-by: NPaul Mackerras <paulus@samba.org>
      e48395f1
  5. 01 10月, 2007 3 次提交
    • M
      [MIPS] vmlinux.lds.S: Handle note sections · 6f6b3940
      Maciej W. Rozycki 提交于
      Store any note sections after the exception tables like the other
      architectures do.  This is required for .note.gnu.build-id emitted from
      binutils 2.18 onwards if nothing else.
      Signed-off-by: NMaciej W. Rozycki <macro@linux-mips.org>
      Signed-off-by: NRalf Baechle <ralf@linux-mips.org>
      6f6b3940
    • D
      [SPARC64]: Fix put_user() calls in binfmt_aout32.c · 8cc8c28a
      David S. Miller 提交于
      argv and envp are pointers to u32's in userspace, so don't
      try to put_user() a NULL to them.
      
      Aparently gcc-4.2.x now warns about this, and since we use
      -Werror for arch/sparc64 code, this breaks the build.
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      8cc8c28a
    • R
      [ARM] Resolve PCI section warnings · 46edfc54
      Russell King 提交于
      Fix the following (valid) section warnings:
      
      WARNING: vmlinux.o(.text+0xf7b5c): Section mismatch: reference to .init.text:pcibios_fixup_bus (between 'pci_scan_child_bus' and 'pci_scan_bridge')
      WARNING: vmlinux.o(.text+0xfc5f4): Section mismatch: reference to .init.text:pcibios_resource_to_bus (between 'pci_map_rom' and 'pci_unmap_rom')
      WARNING: vmlinux.o(.text+0xfc824): Section mismatch: reference to .init.text:pcibios_resource_to_bus (between 'pci_update_resource' and 'pci_claim_resource')
      WARNING: vmlinux.o(.text+0xfd6d8): Section mismatch: reference to .init.text:pcibios_resource_to_bus (between 'pci_setup_cardbus' and 'find_free_bus_resource')
      WARNING: vmlinux.o(.text+0xfd730): Section mismatch: reference to .init.text:pcibios_resource_to_bus (between 'pci_setup_cardbus' and 'find_free_bus_resource')
      WARNING: vmlinux.o(.text+0xfd788): Section mismatch: reference to .init.text:pcibios_resource_to_bus (between 'pci_setup_cardbus' and 'find_free_bus_resource')
      WARNING: vmlinux.o(.text+0xfd7e0): Section mismatch: reference to .init.text:pcibios_resource_to_bus (between 'pci_setup_cardbus' and 'find_free_bus_resource')
      WARNING: vmlinux.o(.text+0xfe024): Section mismatch: reference to .init.text:pcibios_resource_to_bus (between 'pci_bus_assign_resources' and 'sys_pciconfig_read')
      WARNING: vmlinux.o(.text+0xfe0f4): Section mismatch: reference to .init.text:pcibios_resource_to_bus (between 'pci_bus_assign_resources' and 'sys_pciconfig_read')
      WARNING: vmlinux.o(.text+0xfe17c): Section mismatch: reference to .init.text:pcibios_resource_to_bus (between 'pci_bus_assign_resources' and 'sys_pciconfig_read')
      Signed-off-by: NRussell King <rmk+kernel@arm.linux.org.uk>
      46edfc54
  6. 29 9月, 2007 3 次提交
  7. 28 9月, 2007 6 次提交
  8. 27 9月, 2007 4 次提交
    • L
      Revert "x86-64: Disable local APIC timer use on AMD systems with C1E" · f7f847b0
      Linus Torvalds 提交于
      This reverts commit e66485d7, since
      Rafael Wysocki noticed that the change only works for his in -mm, not in
      mainline (and that both "noapictimer" _and_ "apicmaintimer" are broken
      on his hardware, but that's apparently not a regression, just a symptom
      of the same issue that causes the automatic apic timer disable to not
      work).
      
      It turns out that it really doesn't work correctly on x86-64, since
      x86-64 doesn't use the generic clock events for timers yet.
      
      Thanks to Rafal for testing, and here's the ugly details on x86-64 as
      per Thomas:
      
        "I just looked into the code and the logic vs.  noapictimer on SMP is
         completely broken.
      
         On i386 the noapictimer option not only disables the local APIC
         timer, it also registers the CPUs for broadcasting via IPI on SMP
         systems.
      
         The x86-64 code uses the broadcast only when the local apic timer is
         active, i.e.  "noapictimer" is not on the command line.  This defeats
         the whole purpose of "noapictimer".  It should be there to make boxen
         work, where the local APIC timer actually has a hardware problem,
         e.g.  the nx6325.
      
         The current implementation of x86_64 only fixes the ACPI c-states
         related problem where the APIC timer stops in C3(2), nothing else.
      
         On nx6325 and other AMD X2 equipped systems which have the C1E
         enabled we run into the following:
      
         PIT keeps jiffies (and the system) running, but the local APIC timer
         interrupts can get out of sync due to this C1E effect.
      
         I don't think this is a critical problem, but it is wrong
         nevertheless.
      
         I think it's safe to revert the C1E patch and postpone the fix to the
         clock events conversion."
      
      On further reflection, Thomas noted:
      
         "It's even worse than I thought on the first check:
      
          "noapictimer" on the command line of an SMP box prevents _ONLY_ the
          boot CPU apic timer from being used.  But the secondary CPU is still
          unconditionally setting up the APIC timer and uses the non
          calibrated variable calibration_result, which is of course 0, to
          setup the APIC timer.  Wreckage guaranteed."
      
      so we'll just have to wait for the x86 merge to hopefully fix this up
      for x86-64.
      Tested-and-requested-by: NRafael J. Wysocki <rjw@sisk.pl>
      Acked-by: NThomas Gleixner <tglx@linutronix.de>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      f7f847b0
    • H
      [x86 setup] Handle case of improperly terminated E820 chain · 2efa33f8
      H. Peter Anvin 提交于
      At least one system (a Geode system with a Digital Logic BIOS) has
      been found which suddenly stops reporting the SMAP signature when
      reading the E820 memory chain.  We can't know what, exactly, broke in
      the BIOS, so if we detect this situation, declare the E820 data
      unusable and fall back to E801.
      
      Also, revert to original behavior of always probing all memory
      methods; that way all the memory information is available to the
      kernel.
      Signed-off-by: NH. Peter Anvin <hpa@zytor.com>
      Cc: Jordan Crouse <jordan.crouse@amd.com>
      Cc: Joerg Pommnitz <pommnitz@yahoo.com>
      2efa33f8
    • J
      xen: execve's error paths don't pin the mm before unpinning · df912ea4
      Jeremy Fitzhardinge 提交于
      execve's error paths don't activate (and therefore pin) the mm before
      calling exit_mmap to free it up, so don't try to unpin unless it is
      actually pinned.  This prevents a BUG_ON from triggering.
      Signed-off-by: NJeremy Fitzhardinge <jeremy@xensource.com>
      Cc: Christian Ostheimer <osth@freesurf.ch>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      df912ea4
    • T
      x86-64: Disable local APIC timer use on AMD systems with C1E · e66485d7
      Thomas Gleixner 提交于
      commit 3556ddfa titled
      
       [PATCH] x86-64: Disable local APIC timer use on AMD systems with C1E
      
      solves a problem with AMD dual core laptops e.g. HP nx6325 (Turion 64
      X2) with C1E enabled:
      
      When both cores go into idle at the same time, then the system switches
      into C1E state, which is basically the same as C3. This stops the local
      apic timer.
      
      This was debugged right after the dyntick merge on i386 and despite the
      patch title it fixes only the 32 bit path.
      
      x86_64 is still missing this fix. It seems that mainline is not really
      affected by this issue, as the PIT is running and keeps jiffies
      incrementing, but that's just waiting for trouble.
      
      -mm suffers from this problem due to the x86_64 high resolution timer
      patches.
      
      This is a quick and dirty port of the i386 code to x86_64.
      
      I spent quite a time with Rafael to debug the -mm / hrt wreckage until
      someone pointed us to this. I really had forgotten that we debugged this
      half a year ago already.
      
      Sigh, is it just me or is there something yelling arch/x86 into my ear?
      Signed-off-by: NThomas Gleixner <tglx@linutronix.de>
      Tested-by: NRafael J. Wysocki <rjw@sisk.pl>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      e66485d7
  9. 26 9月, 2007 1 次提交
  10. 25 9月, 2007 2 次提交
  11. 23 9月, 2007 1 次提交
    • B
      Blackfin arch: add some missing syscall · 0b95f22b
      Bryan Wu 提交于
      When compiling the Blackfin kernel, checksyscalls.pl will report lots of missing syscalls warnings.
      This patch will add some missing syscalls which make sense on Blackfin arch
      
      After appling this patch, toolchain should be rebuilt. Then recompiling the kernel with the new
      toolchain.
      Signed-off-by: NBryan Wu <bryan.wu@analog.com>
      0b95f22b
  12. 22 9月, 2007 4 次提交
  13. 21 9月, 2007 3 次提交
  14. 20 9月, 2007 6 次提交