1. 04 1月, 2010 5 次提交
  2. 25 12月, 2009 1 次提交
  3. 24 12月, 2009 6 次提交
  4. 23 12月, 2009 1 次提交
    • A
      arch/x86/kernel/cpu/cpufreq/acpi-cpufreq.c: avoid cross-CPU interrupts by... · 4a28395d
      Andrew Morton 提交于
      arch/x86/kernel/cpu/cpufreq/acpi-cpufreq.c: avoid cross-CPU interrupts by using smp_call_function_any()
      
      Presently acpi-cpufreq will perform the MSR read on the first CPU in the
      mask.  That's inefficient if that CPU differs from the current CPU.
      Because we have to perform a cross-CPU call, but we could have run the
      rdmsr on the current CPU.
      
      So switch to using the new smp_call_function_any(), which will perform the
      call on the current CPU if that CPU is present in the mask (it is).
      
      Cc: "Zhang, Yanmin" <yanmin_zhang@linux.intel.com>
      Cc: Dave Jones <davej@redhat.com>
      Cc: Ingo Molnar <mingo@elte.hu>
      Cc: Jaswinder Singh Rajput <jaswinder@kernel.org>
      Cc: Len Brown <len.brown@intel.com>
      Cc: Mike Galbraith <efault@gmx.de>
      Cc: Rusty Russell <rusty@rustcorp.com.au>
      Cc: Thomas Gleixner <tglx@linutronix.de>
      Cc: Venkatesh Pallipadi <venkatesh.pallipadi@intel.com>
      Cc: Zhao Yakui <yakui.zhao@intel.com>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLen Brown <len.brown@intel.com>
      4a28395d
  5. 22 12月, 2009 10 次提交
  6. 21 12月, 2009 4 次提交
    • P
      sh: Only use bl bit toggling for sleeping idle. · 73a38b83
      Paul Mundt 提交于
      We don't actually require this in the cpu_relax() polling case, so just
      cuddle these around the sleeping version.
      Signed-off-by: NPaul Mundt <lethal@linux-sh.org>
      73a38b83
    • P
      sh: Restore bl bit toggling in idle loop. · 3147093e
      Paul Mundt 提交于
      This fixes up some crashes with IRQs racing the need_resched() test under
      QEMU.
      Signed-off-by: NPaul Mundt <lethal@linux-sh.org>
      3147093e
    • A
      powerpc/gc/wii: Remove get_irq_desc() · 95cd34b4
      Albert Herranz 提交于
      Fix the following build failures:
      
      arch/powerpc/platforms/embedded6xx/flipper-pic.c: In function 'flipper_pic_map':
      arch/powerpc/platforms/embedded6xx/flipper-pic.c:105: error: implicit declaration of function 'get_irq_desc'
      
      arch/powerpc/platforms/embedded6xx/hlwd-pic.c: In function 'hlwd_pic_map':
      arch/powerpc/platforms/embedded6xx/hlwd-pic.c:98: error: implicit declaration of function 'get_irq_desc'
      
      These failures are caused by the changes introduced in commit
      "powerpc: Remove get_irq_desc()". The reason these drivers were not
      updated is that they weren't merged yet.
      Signed-off-by: NAlbert Herranz <albert_herranz@yahoo.es>
      Signed-off-by: NBenjamin Herrenschmidt <benh@kernel.crashing.org>
      95cd34b4
    • A
      powerpc/gc/wii: hlwd-pic: convert irq_desc.lock to raw_spinlock · 7ccec3e7
      Albert Herranz 提交于
      Fix the following build failures:
      
      arch/powerpc/platforms/embedded6xx/hlwd-pic.c: In function 'hlwd_pic_irq_cascade':
      arch/powerpc/platforms/embedded6xx/hlwd-pic.c:135: error: passing argument 1 of 'spin_lock' from incompatible pointer type
      arch/powerpc/platforms/embedded6xx/hlwd-pic.c:137: error: passing argument 1 of 'spin_unlock' from incompatible pointer type
      arch/powerpc/platforms/embedded6xx/hlwd-pic.c:145: error: passing argument 1 of 'spin_lock' from incompatible pointer type
      arch/powerpc/platforms/embedded6xx/hlwd-pic.c:149: error: passing argument 1 of 'spin_unlock' from incompatible pointer type
      
      These failures are caused by the changes introduced in commit
      "genirq: Convert irq_desc.lock to raw_spinlock". The reason this driver
      was not updated is that it wasn't merged yet.
      Signed-off-by: NAlbert Herranz <albert_herranz@yahoo.es>
      Signed-off-by: NBenjamin Herrenschmidt <benh@kernel.crashing.org>
      7ccec3e7
  7. 19 12月, 2009 6 次提交
  8. 18 12月, 2009 7 次提交
    • R
      ARM: Convert VFP/Crunch/XscaleCP thread_release() to exit_thread() · 797245f5
      Russell King 提交于
      This avoids races in the VFP code where the dead thread may have
      state on another CPU.  By moving this code to exit_thread(), we
      will be running as the thread, and therefore be running on the
      current CPU.
      
      This means that we can ensure that the only local state is accessed
      in the thread notifiers.
      Acked-by: NCatalin Marinas <catalin.marinas@arm.com>
      Signed-off-by: NRussell King <rmk+kernel@arm.linux.org.uk>
      797245f5
    • F
      hw-breakpoints: Fix hardware breakpoints -> perf events dependency · 99e8c5a3
      Frederic Weisbecker 提交于
      The kbuild's select command doesn't propagate through the config
      dependencies.
      
      Hence the current rules of hardware breakpoint's config can't
      ensure perf can never be disabled under us.
      
      We have:
      
      config X86
      	selects HAVE_HW_BREAKPOINTS
      
      config HAVE_HW_BREAKPOINTS
      	select PERF_EVENTS
      
      config PERF_EVENTS
      	[...]
      
      x86 will select the breakpoints but that won't propagate to perf
      events. The user can still disable the latter, but it is
      necessary for the breakpoints.
      
      What we need is:
      
       - x86 selects HAVE_HW_BREAKPOINTS and PERF_EVENTS
       - HAVE_HW_BREAKPOINTS depends on PERF_EVENTS
      
      so that we ensure PERF_EVENTS is enabled and frozen for x86.
      
      This fixes the following kind of build errors:
      
       In file included from arch/x86/kernel/hw_breakpoint.c:31:
       include/linux/hw_breakpoint.h: In function 'hw_breakpoint_addr':
       include/linux/hw_breakpoint.h:39: error: 'struct perf_event' has no member named 'attr'
      
      v2: Select also ANON_INODES from x86, required for perf
      Reported-by: NCyrill Gorcunov <gorcunov@gmail.com>
      Reported-by: NMichal Marek <mmarek@suse.cz>
      Reported-by: NAndrew Randrianasulu <randrik_a@yahoo.com>
      Signed-off-by: NFrederic Weisbecker <fweisbec@gmail.com>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Cc: Arnaldo Carvalho de Melo <acme@redhat.com>
      Cc: Paul Mackerras <paulus@samba.org>
      Cc: Randy Dunlap <randy.dunlap@oracle.com>
      Cc: K.Prasad <prasad@linux.vnet.ibm.com>
      LKML-Reference: <1261010034-7786-1-git-send-regression-fweisbec@gmail.com>
      Signed-off-by: NIngo Molnar <mingo@elte.hu>
      99e8c5a3
    • A
      ARM: 5853/1: ARM: Fix build break on ARM v6 and v7 · 2395d66d
      Anand Gadiyar 提交于
      Commit 2c9b9c84 added an argument to __cpuc_flush_dcache_page
      and renamed it.
      
      Update a caller of the old function to fix this build error:
      
        CC      arch/arm/mm/copypage-v6.o
      arch/arm/mm/copypage-v6.c: In function 'v6_copy_user_highpage_nonaliasing':
      arch/arm/mm/copypage-v6.c:51: error: implicit declaration of function '__cpuc_flush_dcache_page'
      make[1]: *** [arch/arm/mm/copypage-v6.o] Error 1
      make: *** [arch/arm/mm] Error 2
      Reported-by: NJinsung Yang <jsgood.yang@samsung.com>
      Signed-off-by: NAnand Gadiyar <gadiyar@ti.com>
      Signed-off-by: NRussell King <rmk+kernel@arm.linux.org.uk>
      2395d66d
    • D
      alpha: Convert BUG() to use unreachable() · acadbfb9
      David Daney 提交于
      Use the new unreachable() macro instead of for(;;);
      Signed-off-by: NDavid Daney <ddaney@caviumnetworks.com>
      CC: Richard Henderson <rth@twiddle.net>
      CC: Ivan Kokshaysky <ink@jurassic.park.msu.ru>
      CC: linux-alpha@vger.kernel.org
      Signed-off-by: NMatt Turner <mattst88@gmail.com>
      acadbfb9
    • M
      alpha: Add minimal support for software performance events · a582e6f0
      Michael Cree 提交于
      In the kernel the patch enables configuration of the perf event
      option, adds the perf_event_open syscall, and includes a minimal
      architecture specific asm/perf_event.h header file.
      Signed-off-by: NMichael Cree <mcree@orcon.net.nz>
      Cc: Richard Henderson <rth@twiddle.net>
      Cc: Ivan Kokshaysky <ink@jurassic.park.msu.ru>
      Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
      Cc: Paul Mackerras <paulus@samba.org>
      Cc: Ingo Molnar <mingo@elte.hu>
      Signed-off-by: NMatt Turner <mattst88@gmail.com>
      a582e6f0
    • D
      alpha: Wire up missing/new syscalls · 21797c59
      Daniele Calore 提交于
      This wire up the: fallocate, timerfd_create, timerfd_settime,
      timerfd_gettime, signalfd4, eventfd2, epoll_create1, dup3, pipe2,
      inotify_init1, preadv, pwritev and rt_tgsigqueueinfo syscalls for
      the alpha port.
      
      For umount2, alpha have an "old" and "new" version called: oldumount and
      umount; so ignore umount2.
      
      Rebased on top of 6e17e8b9 by Matt
      Turner.
      Signed-off-by: NDaniele Calore <orkaan@orkaan.org>
      Cc: Richard Henderson <rth@twiddle.net>
      Cc: Ivan Kokshaysky <ink@jurassic.park.msu.ru>
      Signed-off-by: NMatt Turner <mattst88@gmail.com>
      21797c59
    • S
      x86, irq: Allow 0xff for /proc/irq/[n]/smp_affinity on an 8-cpu system · 18374d89
      Suresh Siddha 提交于
      John Blackwood reported:
      > on an older Dell PowerEdge 6650 system with 8 cpus (4 are hyper-threaded),
      > and  32 bit (x86) kernel, once you change the irq smp_affinity of an irq
      > to be less than all cpus in the system, you can never change really the
      > irq smp_affinity back to be all cpus in the system (0xff) again,
      > even though no error status is returned on the "/bin/echo ff >
      > /proc/irq/[n]/smp_affinity" operation.
      >
      > This is due to that fact that BAD_APICID has the same value as
      > all cpus (0xff) on 32bit kernels, and thus the value returned from
      > set_desc_affinity() via the cpu_mask_to_apicid_and() function is treated
      > as a failure in set_ioapic_affinity_irq_desc(), and no affinity changes
      > are made.
      
      set_desc_affinity() is already checking if the incoming cpu mask
      intersects with the cpu online mask or not. So there is no need
      for the apic op cpu_mask_to_apicid_and() to check again
      and return BAD_APICID.
      
      Remove the BAD_APICID return value from cpu_mask_to_apicid_and()
      and also fix set_desc_affinity() to return -1 instead of using BAD_APICID
      to represent error conditions (as cpu_mask_to_apicid_and() can return
      logical or physical apicid values and BAD_APICID is really to represent
      bad physical apic id).
      Reported-by: NJohn Blackwood <john.blackwood@ccur.com>
      Root-caused-by: NJohn Blackwood <john.blackwood@ccur.com>
      Signed-off-by: NSuresh Siddha <suresh.b.siddha@intel.com>
      LKML-Reference: <1261103386.2535.409.camel@sbs-t61>
      Signed-off-by: NH. Peter Anvin <hpa@zytor.com>
      18374d89