1. 08 2月, 2007 2 次提交
  2. 02 2月, 2007 1 次提交
  3. 31 1月, 2007 4 次提交
  4. 24 1月, 2007 2 次提交
  5. 23 1月, 2007 1 次提交
  6. 12 1月, 2007 3 次提交
    • I
      [PATCH] KVM: add VM-exit profiling · 07031e14
      Ingo Molnar 提交于
      This adds the profile=kvm boot option, which enables KVM to profile VM
      exits.
      
      Use: "readprofile -m ./System.map | sort -n" to see the resulting
      output:
      
         [...]
         18246 serial_out                               148.3415
         18945 native_flush_tlb                         378.9000
         23618 serial_in                                212.7748
         29279 __spin_unlock_irq                        622.9574
         43447 native_apic_write                        2068.9048
         52702 enable_8259A_irq                         742.2817
         54250 vgacon_scroll                             89.3740
         67394 ide_inb                                  6126.7273
         79514 copy_page_range                           98.1654
         84868 do_wp_page                                86.6000
        140266 pit_read                                 783.6089
        151436 ide_outb                                 25239.3333
        152668 native_io_delay                          21809.7143
        174783 mask_and_ack_8259A                       783.7803
        362404 native_set_pte_at                        36240.4000
       1688747 total                                      0.5009
      Signed-off-by: NIngo Molnar <mingo@elte.hu>
      Acked-by: NAvi Kivity <avi@qumranet.com>
      Signed-off-by: NAndrew Morton <akpm@osdl.org>
      Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
      07031e14
    • G
      [PATCH] Change cpu_up and co from __devinit to __cpuinit · b282b6f8
      Gautham R Shenoy 提交于
      Compiling the kernel with CONFIG_HOTPLUG = y and CONFIG_HOTPLUG_CPU = n
      with CONFIG_RELOCATABLE = y generates the following modpost warnings
      
      WARNING: vmlinux - Section mismatch: reference to .init.data: from
      .text between '_cpu_up' (at offset 0xc0141b7d) and 'cpu_up'
      WARNING: vmlinux - Section mismatch: reference to .init.data: from
      .text between '_cpu_up' (at offset 0xc0141b9c) and 'cpu_up'
      WARNING: vmlinux - Section mismatch: reference to .init.text:__cpu_up
      from .text between '_cpu_up' (at offset 0xc0141bd8) and 'cpu_up'
      WARNING: vmlinux - Section mismatch: reference to .init.data: from
      .text between '_cpu_up' (at offset 0xc0141c05) and 'cpu_up'
      WARNING: vmlinux - Section mismatch: reference to .init.data: from
      .text between '_cpu_up' (at offset 0xc0141c26) and 'cpu_up'
      WARNING: vmlinux - Section mismatch: reference to .init.data: from
      .text between '_cpu_up' (at offset 0xc0141c37) and 'cpu_up'
      
      This is because cpu_up, _cpu_up and __cpu_up (in some architectures) are
      defined as __devinit
      AND
      __cpu_up calls some __cpuinit functions.
      
      Since __cpuinit would map to __init with this kind of a configuration,
      we get a .text refering .init.data warning.
      
      This patch solves the problem by converting all of __cpu_up, _cpu_up
      and cpu_up from __devinit to __cpuinit. The approach is justified since
      the callers of cpu_up are either dependent on CONFIG_HOTPLUG_CPU or
      are of __init type.
      
      Thus when CONFIG_HOTPLUG_CPU=y, all these cpu up functions would land up
      in .text section, and when CONFIG_HOTPLUG_CPU=n, all these functions would
      land up in .init section.
      
      Tested on a i386 SMP machine running linux-2.6.20-rc3-mm1.
      Signed-off-by: NGautham R Shenoy <ego@in.ibm.com>
      Cc: Vivek Goyal <vgoyal@in.ibm.com>
      Cc: Mikael Starvik <starvik@axis.com>
      Cc: Ralf Baechle <ralf@linux-mips.org>
      Cc: Kyle McMartin <kyle@mcmartin.ca>
      Cc: Paul Mackerras <paulus@samba.org>
      Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
      Cc: "David S. Miller" <davem@davemloft.net>
      Signed-off-by: NAndrew Morton <akpm@osdl.org>
      Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
      b282b6f8
    • N
      [PATCH] sched: tasks cannot run on cpus onlined after boot · e5e5673f
      Nathan Lynch 提交于
      Commit 5c1e1767 ("sched: force /sbin/init
      off isolated cpus") sets init's cpus_allowed to a subset of cpu_online_map
      at boot time, which means that tasks won't be scheduled on cpus that are
      added to the system later.
      
      Make init's cpus_allowed a subset of cpu_possible_map instead.  This should
      still preserve the behavior that Nick's change intended.
      
      Thanks to Giuliano Pochini for reporting this and testing the fix:
      
      http://ozlabs.org/pipermail/linuxppc-dev/2006-December/029397.htmlSigned-off-by: NNathan Lynch <ntl@pobox.com>
      Acked-by: NIngo Molnar <mingo@elte.hu>
      Cc: Nick Piggin <nickpiggin@yahoo.com.au>
      Cc: <stable@kernel.org>
      Signed-off-by: NAndrew Morton <akpm@osdl.org>
      Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
      e5e5673f
  7. 11 1月, 2007 1 次提交
    • V
      [PATCH] x86-64: Make noirqdebug_setup function non init to fix modpost warning · 343cde51
      Vivek Goyal 提交于
      o noirqdebug_setup() is __init but it is being called by
        quirk_intel_irqbalance() which if of type __devinit. If CONFIG_HOTPLUG=y,
        quirk_intel_irqbalance() is put into text section and it is wrong to
        call a function in __init section.
      
      o MODPOST flags this on i386 if CONFIG_RELOCATABLE=y
      
      WARNING: vmlinux - Section mismatch: reference to .init.text:noirqdebug_setup from .text between 'quirk_intel_irqbalance' (at offset 0xc010969e) and 'i8237A_suspend'
      
      o Make noirqdebug_setup() non-init.
      Signed-off-by: NVivek Goyal <vgoyal@in.ibm.com>
      Signed-off-by: NAndi Kleen <ak@suse.de>
      343cde51
  8. 06 1月, 2007 4 次提交
  9. 01 1月, 2007 1 次提交
    • O
      [PATCH] restore ->pdeath_signal behaviour · 241ceee0
      Oleg Nesterov 提交于
      Commit b2b2cbc4 introduced a user-
      visible change: ->pdeath_signal is sent only when the entire thread
      group exits.
      
      While this change is imho good, it may break things.  So restore the
      old behaviour for now.
      Signed-off-by: NOleg Nesterov <oleg@tv-sign.ru>
      To: Albert Cahalan <acahalan@gmail.com>
      Cc: Eric W. Biederman <ebiederm@xmission.com>
      Cc: Andrew Morton <akpm@osdl.org>
      Cc: Linus Torvalds <torvalds@osdl.org>
      Cc: Ingo Molnar <mingo@elte.hu>
      Cc: Qi Yong <qiyong@fc-cn.com>
      Cc: Roland McGrath <roland@redhat.com>
      Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
      241ceee0
  10. 31 12月, 2006 5 次提交
  11. 24 12月, 2006 1 次提交
    • I
      [PATCH] suspend: fix suspend on single-CPU systems · e1d9fd2e
      Ingo Molnar 提交于
      Clark Williams reported that suspend doesnt work on his laptop on
      2.6.20-rc1-rt kernels. The bug was introduced by the following cleanup
      commit:
      
       commit 112cecb2
       Author: Siddha, Suresh B <suresh.b.siddha@intel.com>
       Date:   Wed Dec 6 20:34:31 2006 -0800
      
          [PATCH] suspend: don't change cpus_allowed for task initiating the suspend
      
      because with this change 'error' is not initialized to 0 anymore, if
      there are no other online CPUs. (i.e. if the system is single-CPU).
      
      the fix is the initialize it to 0. The really weird thing is that my
      version of gcc does not warn about this non-initialized variable
      situation ...
      
      (also fix the kernel printk in the error branch, it was missing a
       newline)
      Reported-by: NClark Williams <williams@redhat.com>
      Signed-off-by: NIngo Molnar <mingo@elte.hu>
      Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
      e1d9fd2e
  12. 23 12月, 2006 10 次提交
  13. 21 12月, 2006 3 次提交
  14. 17 12月, 2006 1 次提交
    • L
      Make workqueue bit operations work on "atomic_long_t" · a08727ba
      Linus Torvalds 提交于
      On architectures where the atomicity of the bit operations is handled by
      external means (ie a separate spinlock to protect concurrent accesses),
      just doing a direct assignment on the workqueue data field (as done by
      commit 4594bf15) can cause the
      assignment to be lost due to lack of serialization with the bitops on
      the same word.
      
      So we need to serialize the assignment with the locks on those
      architectures (notably older ARM chips, PA-RISC and sparc32).
      
      So rather than using an "unsigned long", let's use "atomic_long_t",
      which already has a safe assignment operation (atomic_long_set()) on
      such architectures.
      
      This requires that the atomic operations use the same atomicity locks as
      the bit operations do, but that is largely the case anyway.  Sparc32
      will probably need fixing.
      
      Architectures (including modern ARM with LL/SC) that implement sane
      atomic operations for SMP won't see any of this matter.
      
      Cc: Russell King <rmk+lkml@arm.linux.org.uk>
      Cc: David Howells <dhowells@redhat.com>
      Cc: David Miller <davem@davemloft.com>
      Cc: Matthew Wilcox <matthew@wil.cx>
      Cc: Linux Arch Maintainers <linux-arch@vger.kernel.org>
      Cc: Andrew Morton <akpm@osdl.org>
      Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
      a08727ba
  15. 16 12月, 2006 1 次提交
    • L
      Remove stack unwinder for now · d1526e2c
      Linus Torvalds 提交于
      It has caused more problems than it ever really solved, and is
      apparently not getting cleaned up and fixed.  We can put it back when
      it's stable and isn't likely to make warning or bug events worse.
      
      In the meantime, enable frame pointers for more readable stack traces.
      Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
      d1526e2c