1. 04 1月, 2009 2 次提交
    • M
      ia64: cpumask fix for is_affinity_mask_valid() · d3b66bf2
      Mike Travis 提交于
      Impact: cleanup
      
      The function prototype should use 'struct cpumask *' to declare
      cpumask arguments (instead of cpumask_var_t).
      
      Note: arch/ia64/kernel/irq.c still had the following "old cpumask_t" usages:
      
      105:	cpumask_t mask = CPU_MASK_NONE;
      107:	cpu_set(cpu_logical_id(hwid), mask);
      110:                 irq_desc[irq].affinity = mask;
      
      	... replaced with a simple "cpumask_of(cpu_logical_id(hwid))".
      
      161:			new_cpu = any_online_cpu(cpu_online_map);
      194:		time_keeper_id = first_cpu(cpu_online_map);
      
      	... replaced with cpu_online_mask refs.
      Signed-off-by: NMike Travis <travis@sgi.com>
      Signed-off-by: NIngo Molnar <mingo@elte.hu>
      d3b66bf2
    • I
      ia64: cpumask fix for is_affinity_mask_valid() · 6bdf197b
      Ingo Molnar 提交于
      Impact: build fix on ia64
      
      ia64's default_affinity_write() still had old cpumask_t usage:
      
       /home/mingo/tip/kernel/irq/proc.c: In function `default_affinity_write':
       /home/mingo/tip/kernel/irq/proc.c:114: error: incompatible type for argument 1 of `is_affinity_mask_valid'
       make[3]: *** [kernel/irq/proc.o] Error 1
       make[3]: *** Waiting for unfinished jobs....
      
      update it to cpumask_var_t.
      Signed-off-by: NIngo Molnar <mingo@elte.hu>
      6bdf197b
  2. 03 1月, 2009 3 次提交
  3. 01 1月, 2009 3 次提交
  4. 31 12月, 2008 11 次提交
    • J
      KVM: ia64: Fix kvm_arch_vcpu_ioctl_[gs]et_regs() · 042b26ed
      Jes Sorensen 提交于
      Fix kvm_arch_vcpu_ioctl_[gs]et_regs() to do something meaningful on
      ia64. Old versions could never have worked since they required
      pointers to be set in the ioctl payload which were never being set by
      the ioctl handler for get_regs.
      
      In addition reserve extra space for future extensions.
      
      The change of layout of struct kvm_regs doesn't require adding a new
      CAP since get/set regs never worked on ia64 until now.
      
      This version doesn't support copying the KVM kernel stack in/out of
      the kernel. This should be implemented in a seperate ioctl call if
      ever needed.
      Signed-off-by: NJes Sorensen <jes@sgi.com>
      Acked-by : Xiantao Zhang <xiantao.zhang@intel.com>
      Signed-off-by: NAvi Kivity <avi@redhat.com>
      042b26ed
    • A
      ca9edaee
    • X
      KVM: ia64: Clean up vmm_ivt.S using tab to indent every line · 8fe07367
      Xiantao Zhang 提交于
      Using tab for indentation for vmm_ivt.S.
      Signed-off-by: NXiantao Zhang <xiantao.zhang@intel.com>
      Signed-off-by: NAvi Kivity <avi@redhat.com>
      8fe07367
    • X
      KVM: ia64: Add handler for crashed vmm · 9f7d5bb5
      Xiantao Zhang 提交于
      Since vmm runs in an isolated address space and it is just a copy
      of host's kvm-intel module, so once vmm crashes, we just crash all guests
      running on it instead of crashing whole kernel.
      Signed-off-by: NXiantao Zhang <xiantao.zhang@intel.com>
      Signed-off-by: NAvi Kivity <avi@redhat.com>
      9f7d5bb5
    • X
      KVM: ia64: Add some debug points to provide crash infomation · 5e2be198
      Xiantao Zhang 提交于
      Use printk infrastructure to print out some debug info once VM crashes.
      Signed-off-by: NXiantao Zhang <xiantao.zhang@intel.com>
      Signed-off-by: NAvi Kivity <avi@redhat.com>
      5e2be198
    • X
      KVM: ia64: Define printk function for kvm-intel module · 7d637978
      Xiantao Zhang 提交于
      kvm-intel module is relocated to an isolated address space
      with kernel, so it can't call host kernel's printk for debug
      purpose. In the module, we implement the printk to output debug
      info of vmm.
      Signed-off-by: NXiantao Zhang <xiantao.zhang@intel.com>
      Signed-off-by: NAvi Kivity <avi@redhat.com>
      7d637978
    • X
      KVM: ia64: Remove some macro definitions in asm-offsets.c. · 30ed5bb6
      Xiantao Zhang 提交于
      Use kernel's corresponding macro instead.
      Signed-off-by: NXiantao Zhang <xiantao.zhang@intel.com>
      Signed-off-by: NAvi Kivity <avi@redhat.com>
      30ed5bb6
    • X
      KVM: ia64: Remove lock held by halted vcpu · 853dafb6
      Xiantao Zhang 提交于
      Remove the lock protection for kvm halt logic, otherwise,
      once other vcpus want to acquire the lock, and they have to
      wait all vcpus are waken up from halt.
      Signed-off-by: NXiantao Zhang <xiantao.zhang@intel.com>
      Signed-off-by: NAvi Kivity <avi@redhat.com>
      853dafb6
    • X
      KVM: ia64: Re-organize data sturure of guests' data area · a917f7af
      Xiantao Zhang 提交于
      1. Increase the size of data area to 64M
      2. Support more vcpus and memory, 128 vcpus and 256G memory are supported
         for guests.
      3. Add the boundary check for memory and vcpu allocation.
      
      With this patch, kvm guest's data area looks as follow:
        *
        *            +----------------------+  ------- KVM_VM_DATA_SIZE
        *            |     vcpu[n]'s data   |   |     ___________________KVM_STK_OFFSET
        *            |                      |   |    /                   |
        *            |        ..........    |   |   /vcpu's struct&stack |
        *            |        ..........    |   |  /---------------------|---- 0
        *            |     vcpu[5]'s data   |   | /       vpd            |
        *            |     vcpu[4]'s data   |   |/-----------------------|
        *            |     vcpu[3]'s data   |   /         vtlb           |
        *            |     vcpu[2]'s data   |  /|------------------------|
        *            |     vcpu[1]'s data   |/  |         vhpt           |
        *            |     vcpu[0]'s data   |____________________________|
        *            +----------------------+   |
        *            |    memory dirty log  |   |
        *            +----------------------+   |
        *            |    vm's data struct  |   |
        *            +----------------------+   |
        *            |                      |   |
        *            |                      |   |
        *            |                      |   |
        *            |                      |   |
        *            |                      |   |
        *            |                      |   |
        *            |                      |   |
        *            |   vm's p2m table  |      |
        *            |                      |   |
        *            |                      |   |
        *            |                      |   |  |
        * vm's data->|                      |   |  |
        *            +----------------------+ ------- 0
        * To support large memory, needs to increase the size of p2m.
        * To support more vcpus, needs to ensure it has enough space to
        * hold vcpus' data.
        */
      Signed-off-by: NXiantao Zhang <xiantao.zhang@intel.com>
      Signed-off-by: NAvi Kivity <avi@redhat.com>
      a917f7af
    • M
      [PATCH] idle cputime accounting · 79741dd3
      Martin Schwidefsky 提交于
      The cpu time spent by the idle process actually doing something is
      currently accounted as idle time. This is plain wrong, the architectures
      that support VIRT_CPU_ACCOUNTING=y can do better: distinguish between the
      time spent doing nothing and the time spent by idle doing work. The first
      is accounted with account_idle_time and the second with account_system_time.
      The architectures that use the account_xxx_time interface directly and not
      the account_xxx_ticks interface now need to do the check for the idle
      process in their arch code. In particular to improve the system vs true
      idle time accounting the arch code needs to measure the true idle time
      instead of just testing for the idle process.
      To improve the tick based accounting as well we would need an architecture
      primitive that can tell us if the pt_regs of the interrupted context
      points to the magic instruction that halts the cpu.
      
      In addition idle time is no more added to the stime of the idle process.
      This field now contains the system time of the idle process as it should
      be. On systems without VIRT_CPU_ACCOUNTING this will always be zero as
      every tick that occurs while idle is running will be accounted as idle
      time.
      
      This patch contains the necessary common code changes to be able to
      distinguish idle system time and true idle time. The architectures with
      support for VIRT_CPU_ACCOUNTING need some changes to exploit this.
      Signed-off-by: NMartin Schwidefsky <schwidefsky@de.ibm.com>
      79741dd3
    • M
      [PATCH] fix scaled & unscaled cputime accounting · 457533a7
      Martin Schwidefsky 提交于
      The utimescaled / stimescaled fields in the task structure and the
      global cpustat should be set on all architectures. On s390 the calls
      to account_user_time_scaled and account_system_time_scaled never have
      been added. In addition system time that is accounted as guest time
      to the user time of a process is accounted to the scaled system time
      instead of the scaled user time.
      To fix the bugs and to prevent future forgetfulness this patch merges
      account_system_time_scaled into account_system_time and
      account_user_time_scaled into account_user_time.
      
      Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
      Cc: Hidetoshi Seto <seto.hidetoshi@jp.fujitsu.com>
      Cc: Tony Luck <tony.luck@intel.com>
      Cc: Jeremy Fitzhardinge <jeremy@xensource.com>
      Cc: Chris Wright <chrisw@sous-sol.org>
      Cc: Michael Neuling <mikey@neuling.org>
      Acked-by: NPaul Mackerras <paulus@samba.org>
      Signed-off-by: NMartin Schwidefsky <schwidefsky@de.ibm.com>
      457533a7
  5. 26 12月, 2008 1 次提交
  6. 16 12月, 2008 1 次提交
  7. 13 12月, 2008 3 次提交
    • R
      cpumask: make irq_set_affinity() take a const struct cpumask · 0de26520
      Rusty Russell 提交于
      Impact: change existing irq_chip API
      
      Not much point with gentle transition here: the struct irq_chip's
      setaffinity method signature needs to change.
      
      Fortunately, not widely used code, but hits a few architectures.
      
      Note: In irq_select_affinity() I save a temporary in by mangling
      irq_desc[irq].affinity directly.  Ingo, does this break anything?
      
      (Folded in fix from KOSAKI Motohiro)
      Signed-off-by: NRusty Russell <rusty@rustcorp.com.au>
      Signed-off-by: NMike Travis <travis@sgi.com>
      Reviewed-by: NGrant Grundler <grundler@parisc-linux.org>
      Acked-by: NIngo Molnar <mingo@redhat.com>
      Cc: ralf@linux-mips.org
      Cc: grundler@parisc-linux.org
      Cc: jeremy@xensource.com
      Cc: KOSAKI Motohiro <kosaki.motohiro@jp.fujitsu.com>
      0de26520
    • R
      cpumask: change cpumask_scnprintf, cpumask_parse_user, cpulist_parse, and... · 29c0177e
      Rusty Russell 提交于
      cpumask: change cpumask_scnprintf, cpumask_parse_user, cpulist_parse, and cpulist_scnprintf to take pointers.
      
      Impact: change calling convention of existing cpumask APIs
      
      Most cpumask functions started with cpus_: these have been replaced by
      cpumask_ ones which take struct cpumask pointers as expected.
      
      These four functions don't have good replacement names; fortunately
      they're rarely used, so we just change them over.
      Signed-off-by: NRusty Russell <rusty@rustcorp.com.au>
      Signed-off-by: NMike Travis <travis@sgi.com>
      Acked-by: NIngo Molnar <mingo@elte.hu>
      Cc: paulus@samba.org
      Cc: mingo@redhat.com
      Cc: tony.luck@intel.com
      Cc: ralf@linux-mips.org
      Cc: Greg Kroah-Hartman <gregkh@suse.de>
      Cc: cl@linux-foundation.org
      Cc: srostedt@redhat.com
      29c0177e
    • R
      cpumask: centralize cpu_online_map and cpu_possible_map · 98a79d6a
      Rusty Russell 提交于
      Impact: cleanup
      
      Each SMP arch defines these themselves.  Move them to a central
      location.
      
      Twists:
      1) Some archs (m32, parisc, s390) set possible_map to all 1, so we add a
         CONFIG_INIT_ALL_POSSIBLE for this rather than break them.
      
      2) mips and sparc32 '#define cpu_possible_map phys_cpu_present_map'.
         Those archs simply have phys_cpu_present_map replaced everywhere.
      
      3) Alpha defined cpu_possible_map to cpu_present_map; this is tricky
         so I just manipulate them both in sync.
      
      4) IA64, cris and m32r have gratuitous 'extern cpumask_t cpu_possible_map'
         declarations.
      Signed-off-by: NRusty Russell <rusty@rustcorp.com.au>
      Reviewed-by: NGrant Grundler <grundler@parisc-linux.org>
      Tested-by: NTony Luck <tony.luck@intel.com>
      Acked-by: NIngo Molnar <mingo@elte.hu>
      Cc: Mike Travis <travis@sgi.com>
      Cc: ink@jurassic.park.msu.ru
      Cc: rmk@arm.linux.org.uk
      Cc: starvik@axis.com
      Cc: tony.luck@intel.com
      Cc: takata@linux-m32r.org
      Cc: ralf@linux-mips.org
      Cc: grundler@parisc-linux.org
      Cc: paulus@samba.org
      Cc: schwidefsky@de.ibm.com
      Cc: lethal@linux-sh.org
      Cc: wli@holomorphy.com
      Cc: davem@davemloft.net
      Cc: jdike@addtoit.com
      Cc: mingo@redhat.com
      98a79d6a
  8. 11 12月, 2008 1 次提交
  9. 10 12月, 2008 6 次提交
  10. 05 12月, 2008 1 次提交
  11. 01 12月, 2008 2 次提交
  12. 26 11月, 2008 1 次提交
    • I
      sched: convert struct root_domain to cpumask_var_t, fix · 1c391948
      Ingo Molnar 提交于
      Mathieu Desnoyers reported this build failure on powerpc:
      
       kernel/sched.c: In function 'sd_init_NODE':
       kernel/sched.c:7319: error: non-static initialization of a flexible array member
       kernel/sched.c:7319: error: (near initialization for '(anonymous)')
      
      this happens because .span changed to cpumask_var_t, hence
      the static CPU_MASK_NONE initializers in the SD_*_INIT
      templates are not type-correct anymore.
      
      Remove them, as they default to empty anyway.
      
      Also remove them from IA64, MIPS and SH.
      Reported-by: NMathieu Desnoyers <mathieu.desnoyers@polymtl.ca>
      Signed-off-by: NIngo Molnar <mingo@elte.hu>
      1c391948
  13. 23 11月, 2008 2 次提交
  14. 21 11月, 2008 3 次提交