<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux.git/arch/arm/kernel/smp.c, branch v2.6.32</title>
<subtitle>Linux kernel source tree</subtitle>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/'/>
<entry>
<title>ARM: Fix __cpuexit section mismatch warnings</title>
<updated>2009-09-28T17:06:21+00:00</updated>
<author>
<name>Russell King</name>
<email>rmk+kernel@arm.linux.org.uk</email>
</author>
<published>2009-09-27T20:04:48+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=90140c30a7b8c77e8872a389d48678d78e58789f'/>
<id>90140c30a7b8c77e8872a389d48678d78e58789f</id>
<content type='text'>
Fix:

WARNING: vmlinux.o(.text+0x247c): Section mismatch in reference from the function cpu_idle() to the function .cpuexit.text:cpu_die()
The function cpu_idle() references a function in an exit section.
Often the function cpu_die() has valid usage outside the exit section
and the fix is to remove the __cpuexit annotation of cpu_die.

WARNING: vmlinux.o(.cpuexit.text+0x3c): Section mismatch in reference from the function cpu_die() to the function .cpuinit.text:secondary_start_kernel()
The function __cpuexit cpu_die() references
a function __cpuinit secondary_start_kernel().
This is often seen when error handling in the exit function
uses functionality in the init path.
The fix is often to remove the __cpuinit annotation of
secondary_start_kernel() so it may be used outside an init section.

Sam says:
&gt; The annotation of cpu_die() is wrong.
&gt; To be annotated __cpuexit the function shall:
&gt; - be used in exit context and only in exit context with HOTPLUG_CPU=n
&gt; - be used outside exit context with HOTPLUG_CPU=y

So, this also means __cpu_disable(), __cpu_die() and twd_timer_stop() are
also wrong.  However, removing __cpuexit from cpu_die() creates:

WARNING: vmlinux.o(.text+0x6834): Section mismatch in reference from the function cpu_die() to the function .cpuinit.text:secondary_start_kernel()
The function cpu_die() references
the function __cpuinit secondary_start_kernel().
This is often because cpu_die lacks a __cpuinit
annotation or the annotation of secondary_start_kernel is wrong.

so fix this using __ref.

Signed-off-by: Russell King &lt;rmk+kernel@arm.linux.org.uk&gt;
Acked-by: Sam Ravnborg &lt;sam@ravnborg.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Fix:

WARNING: vmlinux.o(.text+0x247c): Section mismatch in reference from the function cpu_idle() to the function .cpuexit.text:cpu_die()
The function cpu_idle() references a function in an exit section.
Often the function cpu_die() has valid usage outside the exit section
and the fix is to remove the __cpuexit annotation of cpu_die.

WARNING: vmlinux.o(.cpuexit.text+0x3c): Section mismatch in reference from the function cpu_die() to the function .cpuinit.text:secondary_start_kernel()
The function __cpuexit cpu_die() references
a function __cpuinit secondary_start_kernel().
This is often seen when error handling in the exit function
uses functionality in the init path.
The fix is often to remove the __cpuinit annotation of
secondary_start_kernel() so it may be used outside an init section.

Sam says:
&gt; The annotation of cpu_die() is wrong.
&gt; To be annotated __cpuexit the function shall:
&gt; - be used in exit context and only in exit context with HOTPLUG_CPU=n
&gt; - be used outside exit context with HOTPLUG_CPU=y

So, this also means __cpu_disable(), __cpu_die() and twd_timer_stop() are
also wrong.  However, removing __cpuexit from cpu_die() creates:

WARNING: vmlinux.o(.text+0x6834): Section mismatch in reference from the function cpu_die() to the function .cpuinit.text:secondary_start_kernel()
The function cpu_die() references
the function __cpuinit secondary_start_kernel().
This is often because cpu_die lacks a __cpuinit
annotation or the annotation of secondary_start_kernel is wrong.

so fix this using __ref.

Signed-off-by: Russell King &lt;rmk+kernel@arm.linux.org.uk&gt;
Acked-by: Sam Ravnborg &lt;sam@ravnborg.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>ARM: Don't allow highmem on SMP platforms without h/w TLB ops broadcast</title>
<updated>2009-09-28T17:06:20+00:00</updated>
<author>
<name>Russell King</name>
<email>rmk+kernel@arm.linux.org.uk</email>
</author>
<published>2009-09-27T19:55:43+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=e616c591405c168f6dc3dfd1221e105adfe49b8d'/>
<id>e616c591405c168f6dc3dfd1221e105adfe49b8d</id>
<content type='text'>
We suffer an unfortunate combination of "features" which makes highmem
support on platforms without hardware TLB maintainence broadcast difficult:

- we need kmap_high_get() support for DMA cache coherence
- this requires kmap_high() to take a spinlock with IRQs disabled
- kmap_high() occasionally calls flush_all_zero_pkmaps() to clear
  out old mappings
- flush_all_zero_pkmaps() calls flush_tlb_kernel_range(), which
  on s/w IPI'd systems eventually calls smp_call_function_many()
- smp_call_function_many() must not be called with IRQs disabled:

WARNING: at kernel/smp.c:380 smp_call_function_many+0xc4/0x240()
Modules linked in:
Backtrace:
[&lt;c00306f0&gt;] (dump_backtrace+0x0/0x108) from [&lt;c0286e6c&gt;] (dump_stack+0x18/0x1c)
 r6:c007cd18 r5:c02ff228 r4:0000017c
[&lt;c0286e54&gt;] (dump_stack+0x0/0x1c) from [&lt;c0053e08&gt;] (warn_slowpath_common+0x50/0x80)
[&lt;c0053db8&gt;] (warn_slowpath_common+0x0/0x80) from [&lt;c0053e50&gt;] (warn_slowpath_null+0x18/0x1c)
 r7:00000003 r6:00000001 r5:c1ff4000 r4:c035fa34
[&lt;c0053e38&gt;] (warn_slowpath_null+0x0/0x1c) from [&lt;c007cd18&gt;] (smp_call_function_many+0xc4/0x240)
[&lt;c007cc54&gt;] (smp_call_function_many+0x0/0x240) from [&lt;c007cec0&gt;] (smp_call_function+0x2c/0x38)
[&lt;c007ce94&gt;] (smp_call_function+0x0/0x38) from [&lt;c005980c&gt;] (on_each_cpu+0x1c/0x38)
[&lt;c00597f0&gt;] (on_each_cpu+0x0/0x38) from [&lt;c0031788&gt;] (flush_tlb_kernel_range+0x50/0x58)
 r6:00000001 r5:00000800 r4:c05f3590
[&lt;c0031738&gt;] (flush_tlb_kernel_range+0x0/0x58) from [&lt;c009c600&gt;] (flush_all_zero_pkmaps+0xc0/0xe8)
[&lt;c009c540&gt;] (flush_all_zero_pkmaps+0x0/0xe8) from [&lt;c009c6b4&gt;] (kmap_high+0x8c/0x1e0)
[&lt;c009c628&gt;] (kmap_high+0x0/0x1e0) from [&lt;c00364a8&gt;] (kmap+0x44/0x5c)
[&lt;c0036464&gt;] (kmap+0x0/0x5c) from [&lt;c0109dfc&gt;] (cramfs_readpage+0x3c/0x194)
[&lt;c0109dc0&gt;] (cramfs_readpage+0x0/0x194) from [&lt;c0090c14&gt;] (__do_page_cache_readahead+0x1f0/0x290)
[&lt;c0090a24&gt;] (__do_page_cache_readahead+0x0/0x290) from [&lt;c0090ce4&gt;] (ra_submit+0x30/0x38)
[&lt;c0090cb4&gt;] (ra_submit+0x0/0x38) from [&lt;c0089384&gt;] (filemap_fault+0x3dc/0x438)
 r4:c1819988
[&lt;c0088fa8&gt;] (filemap_fault+0x0/0x438) from [&lt;c009d21c&gt;] (__do_fault+0x58/0x43c)
[&lt;c009d1c4&gt;] (__do_fault+0x0/0x43c) from [&lt;c009e8cc&gt;] (handle_mm_fault+0x104/0x318)
[&lt;c009e7c8&gt;] (handle_mm_fault+0x0/0x318) from [&lt;c0033c98&gt;] (do_page_fault+0x188/0x1e4)
[&lt;c0033b10&gt;] (do_page_fault+0x0/0x1e4) from [&lt;c0033ddc&gt;] (do_translation_fault+0x7c/0x84)
[&lt;c0033d60&gt;] (do_translation_fault+0x0/0x84) from [&lt;c002b474&gt;] (do_DataAbort+0x40/0xa4)
 r8:c1ff5e20 r7:c0340120 r6:00000805 r5:c1ff5e54 r4:c03400d0
[&lt;c002b434&gt;] (do_DataAbort+0x0/0xa4) from [&lt;c002bcac&gt;] (__dabt_svc+0x4c/0x60)
...

So we disable highmem support on these systems.

Signed-off-by: Russell King &lt;rmk+kernel@arm.linux.org.uk&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
We suffer an unfortunate combination of "features" which makes highmem
support on platforms without hardware TLB maintainence broadcast difficult:

- we need kmap_high_get() support for DMA cache coherence
- this requires kmap_high() to take a spinlock with IRQs disabled
- kmap_high() occasionally calls flush_all_zero_pkmaps() to clear
  out old mappings
- flush_all_zero_pkmaps() calls flush_tlb_kernel_range(), which
  on s/w IPI'd systems eventually calls smp_call_function_many()
- smp_call_function_many() must not be called with IRQs disabled:

WARNING: at kernel/smp.c:380 smp_call_function_many+0xc4/0x240()
Modules linked in:
Backtrace:
[&lt;c00306f0&gt;] (dump_backtrace+0x0/0x108) from [&lt;c0286e6c&gt;] (dump_stack+0x18/0x1c)
 r6:c007cd18 r5:c02ff228 r4:0000017c
[&lt;c0286e54&gt;] (dump_stack+0x0/0x1c) from [&lt;c0053e08&gt;] (warn_slowpath_common+0x50/0x80)
[&lt;c0053db8&gt;] (warn_slowpath_common+0x0/0x80) from [&lt;c0053e50&gt;] (warn_slowpath_null+0x18/0x1c)
 r7:00000003 r6:00000001 r5:c1ff4000 r4:c035fa34
[&lt;c0053e38&gt;] (warn_slowpath_null+0x0/0x1c) from [&lt;c007cd18&gt;] (smp_call_function_many+0xc4/0x240)
[&lt;c007cc54&gt;] (smp_call_function_many+0x0/0x240) from [&lt;c007cec0&gt;] (smp_call_function+0x2c/0x38)
[&lt;c007ce94&gt;] (smp_call_function+0x0/0x38) from [&lt;c005980c&gt;] (on_each_cpu+0x1c/0x38)
[&lt;c00597f0&gt;] (on_each_cpu+0x0/0x38) from [&lt;c0031788&gt;] (flush_tlb_kernel_range+0x50/0x58)
 r6:00000001 r5:00000800 r4:c05f3590
[&lt;c0031738&gt;] (flush_tlb_kernel_range+0x0/0x58) from [&lt;c009c600&gt;] (flush_all_zero_pkmaps+0xc0/0xe8)
[&lt;c009c540&gt;] (flush_all_zero_pkmaps+0x0/0xe8) from [&lt;c009c6b4&gt;] (kmap_high+0x8c/0x1e0)
[&lt;c009c628&gt;] (kmap_high+0x0/0x1e0) from [&lt;c00364a8&gt;] (kmap+0x44/0x5c)
[&lt;c0036464&gt;] (kmap+0x0/0x5c) from [&lt;c0109dfc&gt;] (cramfs_readpage+0x3c/0x194)
[&lt;c0109dc0&gt;] (cramfs_readpage+0x0/0x194) from [&lt;c0090c14&gt;] (__do_page_cache_readahead+0x1f0/0x290)
[&lt;c0090a24&gt;] (__do_page_cache_readahead+0x0/0x290) from [&lt;c0090ce4&gt;] (ra_submit+0x30/0x38)
[&lt;c0090cb4&gt;] (ra_submit+0x0/0x38) from [&lt;c0089384&gt;] (filemap_fault+0x3dc/0x438)
 r4:c1819988
[&lt;c0088fa8&gt;] (filemap_fault+0x0/0x438) from [&lt;c009d21c&gt;] (__do_fault+0x58/0x43c)
[&lt;c009d1c4&gt;] (__do_fault+0x0/0x43c) from [&lt;c009e8cc&gt;] (handle_mm_fault+0x104/0x318)
[&lt;c009e7c8&gt;] (handle_mm_fault+0x0/0x318) from [&lt;c0033c98&gt;] (do_page_fault+0x188/0x1e4)
[&lt;c0033b10&gt;] (do_page_fault+0x0/0x1e4) from [&lt;c0033ddc&gt;] (do_translation_fault+0x7c/0x84)
[&lt;c0033d60&gt;] (do_translation_fault+0x0/0x84) from [&lt;c002b474&gt;] (do_DataAbort+0x40/0xa4)
 r8:c1ff5e20 r7:c0340120 r6:00000805 r5:c1ff5e54 r4:c03400d0
[&lt;c002b434&gt;] (do_DataAbort+0x0/0xa4) from [&lt;c002bcac&gt;] (__dabt_svc+0x4c/0x60)
...

So we disable highmem support on these systems.

Signed-off-by: Russell King &lt;rmk+kernel@arm.linux.org.uk&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>cpumask: use mm_cpumask() wrapper: arm</title>
<updated>2009-09-24T00:04:49+00:00</updated>
<author>
<name>Rusty Russell</name>
<email>rusty@rustcorp.com.au</email>
</author>
<published>2009-09-24T15:34:49+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=56f8ba83a52b9f9e3711eff8e54168ac14aa288f'/>
<id>56f8ba83a52b9f9e3711eff8e54168ac14aa288f</id>
<content type='text'>
Makes code futureproof against the impending change to mm-&gt;cpu_vm_mask.

It's also a chance to use the new cpumask_ ops which take a pointer
(the older ones are deprecated, but there's no hurry for arch code).

Signed-off-by: Rusty Russell &lt;rusty@rustcorp.com.au&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Makes code futureproof against the impending change to mm-&gt;cpu_vm_mask.

It's also a chance to use the new cpumask_ ops which take a pointer
(the older ones are deprecated, but there's no hurry for arch code).

Signed-off-by: Rusty Russell &lt;rusty@rustcorp.com.au&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge branch 'for-rmk' of git://linux-arm.org/linux-2.6 into devel</title>
<updated>2009-06-11T14:35:00+00:00</updated>
<author>
<name>Russell King</name>
<email>rmk@dyn-67.arm.linux.org.uk</email>
</author>
<published>2009-06-11T14:35:00+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=42578c82e0f1810a07ebe29cb05e874893243d8c'/>
<id>42578c82e0f1810a07ebe29cb05e874893243d8c</id>
<content type='text'>
Conflicts:
	arch/arm/Kconfig
	arch/arm/kernel/smp.c
	arch/arm/mach-realview/Makefile
	arch/arm/mach-realview/platsmp.c
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Conflicts:
	arch/arm/Kconfig
	arch/arm/kernel/smp.c
	arch/arm/mach-realview/Makefile
	arch/arm/mach-realview/platsmp.c
</pre>
</div>
</content>
</entry>
<entry>
<title>Check whether the TLB operations need broadcasting on SMP systems</title>
<updated>2009-05-30T13:00:14+00:00</updated>
<author>
<name>Catalin Marinas</name>
<email>catalin.marinas@arm.com</email>
</author>
<published>2009-05-30T13:00:14+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=faa7bc51c11d5bbe440ac04710fd7a3208782000'/>
<id>faa7bc51c11d5bbe440ac04710fd7a3208782000</id>
<content type='text'>
ARMv7 SMP hardware can handle the TLB maintenance operations
broadcasting in hardware so that the software can avoid the costly IPIs.
This patch adds the necessary checks (the MMFR3 CPUID register) to avoid
the broadcasting if already supported by the hardware.

(this patch is based on the work done by Tony Thompson @ ARM)

Signed-off-by: Catalin Marinas &lt;catalin.marinas@arm.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
ARMv7 SMP hardware can handle the TLB maintenance operations
broadcasting in hardware so that the software can avoid the costly IPIs.
This patch adds the necessary checks (the MMFR3 CPUID register) to avoid
the broadcasting if already supported by the hardware.

(this patch is based on the work done by Tony Thompson @ ARM)

Signed-off-by: Catalin Marinas &lt;catalin.marinas@arm.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>[ARM] smp: use new cpumask functions</title>
<updated>2009-05-28T13:16:52+00:00</updated>
<author>
<name>Russell King</name>
<email>rmk@dyn-67.arm.linux.org.uk</email>
</author>
<published>2009-05-28T13:16:52+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=e03cdade0ca945a04e982525e50fef275190b77b'/>
<id>e03cdade0ca945a04e982525e50fef275190b77b</id>
<content type='text'>
Convert cpu_*_mask bit twiddling to the new set_cpu_*() API.

Signed-off-by: Russell King &lt;rmk+kernel@arm.linux.org.uk&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Convert cpu_*_mask bit twiddling to the new set_cpu_*() API.

Signed-off-by: Russell King &lt;rmk+kernel@arm.linux.org.uk&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>[ARM] smp: move core localtimer support out of platform specific files</title>
<updated>2009-05-17T17:58:34+00:00</updated>
<author>
<name>Russell King</name>
<email>rmk@dyn-67.arm.linux.org.uk</email>
</author>
<published>2009-05-17T17:58:34+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=bc28248ee25e5c239cbe6afca35a100b08401de5'/>
<id>bc28248ee25e5c239cbe6afca35a100b08401de5</id>
<content type='text'>
Signed-off-by: Russell King &lt;rmk+kernel@arm.linux.org.uk&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Signed-off-by: Russell King &lt;rmk+kernel@arm.linux.org.uk&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>[ARM] smp: fix cpumask usage in ARM SMP code</title>
<updated>2009-05-17T15:22:46+00:00</updated>
<author>
<name>Russell King</name>
<email>rmk@dyn-67.arm.linux.org.uk</email>
</author>
<published>2009-05-17T15:20:18+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=826681043d7184b4d650cab5b007b9a86b628eb5'/>
<id>826681043d7184b4d650cab5b007b9a86b628eb5</id>
<content type='text'>
The ARM SMP code wasn't properly updated for the cpumask changes, which
results in smp_timer_broadcast() broadcasting ticks to non-online CPUs.

Signed-off-by: Russell King &lt;rmk+kernel@arm.linux.org.uk&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The ARM SMP code wasn't properly updated for the cpumask changes, which
results in smp_timer_broadcast() broadcasting ticks to non-online CPUs.

Signed-off-by: Russell King &lt;rmk+kernel@arm.linux.org.uk&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>[ARM] 5389/1: Make sure the pmd entries are visible by the secondary CPU</title>
<updated>2009-02-12T10:59:45+00:00</updated>
<author>
<name>Catalin Marinas</name>
<email>catalin.marinas@arm.com</email>
</author>
<published>2009-02-11T12:14:57+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=e9fc78230cb77647eb79d4b2f7c4d6c070f611f1'/>
<id>e9fc78230cb77647eb79d4b2f7c4d6c070f611f1</id>
<content type='text'>
The __cpu_up() function in arch/arm/kernel/smp.c sets the pmd entries
without flushing or cleaning them.

Signed-off-by: Catalin Marinas &lt;catalin.marinas@arm.com&gt;
Signed-off-by: Russell King &lt;rmk+kernel@arm.linux.org.uk&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The __cpu_up() function in arch/arm/kernel/smp.c sets the pmd entries
without flushing or cleaning them.

Signed-off-by: Catalin Marinas &lt;catalin.marinas@arm.com&gt;
Signed-off-by: Russell King &lt;rmk+kernel@arm.linux.org.uk&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge branch 'cpus4096-for-linus-2' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip</title>
<updated>2009-01-02T19:44:09+00:00</updated>
<author>
<name>Linus Torvalds</name>
<email>torvalds@linux-foundation.org</email>
</author>
<published>2009-01-02T19:44:09+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=b840d79631c882786925303c2b0f4fefc31845ed'/>
<id>b840d79631c882786925303c2b0f4fefc31845ed</id>
<content type='text'>
* 'cpus4096-for-linus-2' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (66 commits)
  x86: export vector_used_by_percpu_irq
  x86: use logical apicid in x2apic_cluster's x2apic_cpu_mask_to_apicid_and()
  sched: nominate preferred wakeup cpu, fix
  x86: fix lguest used_vectors breakage, -v2
  x86: fix warning in arch/x86/kernel/io_apic.c
  sched: fix warning in kernel/sched.c
  sched: move test_sd_parent() to an SMP section of sched.h
  sched: add SD_BALANCE_NEWIDLE at MC and CPU level for sched_mc&gt;0
  sched: activate active load balancing in new idle cpus
  sched: bias task wakeups to preferred semi-idle packages
  sched: nominate preferred wakeup cpu
  sched: favour lower logical cpu number for sched_mc balance
  sched: framework for sched_mc/smt_power_savings=N
  sched: convert BALANCE_FOR_xx_POWER to inline functions
  x86: use possible_cpus=NUM to extend the possible cpus allowed
  x86: fix cpu_mask_to_apicid_and to include cpu_online_mask
  x86: update io_apic.c to the new cpumask code
  x86: Introduce topology_core_cpumask()/topology_thread_cpumask()
  x86: xen: use smp_call_function_many()
  x86: use work_on_cpu in x86/kernel/cpu/mcheck/mce_amd_64.c
  ...

Fixed up trivial conflict in kernel/time/tick-sched.c manually
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* 'cpus4096-for-linus-2' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (66 commits)
  x86: export vector_used_by_percpu_irq
  x86: use logical apicid in x2apic_cluster's x2apic_cpu_mask_to_apicid_and()
  sched: nominate preferred wakeup cpu, fix
  x86: fix lguest used_vectors breakage, -v2
  x86: fix warning in arch/x86/kernel/io_apic.c
  sched: fix warning in kernel/sched.c
  sched: move test_sd_parent() to an SMP section of sched.h
  sched: add SD_BALANCE_NEWIDLE at MC and CPU level for sched_mc&gt;0
  sched: activate active load balancing in new idle cpus
  sched: bias task wakeups to preferred semi-idle packages
  sched: nominate preferred wakeup cpu
  sched: favour lower logical cpu number for sched_mc balance
  sched: framework for sched_mc/smt_power_savings=N
  sched: convert BALANCE_FOR_xx_POWER to inline functions
  x86: use possible_cpus=NUM to extend the possible cpus allowed
  x86: fix cpu_mask_to_apicid_and to include cpu_online_mask
  x86: update io_apic.c to the new cpumask code
  x86: Introduce topology_core_cpumask()/topology_thread_cpumask()
  x86: xen: use smp_call_function_many()
  x86: use work_on_cpu in x86/kernel/cpu/mcheck/mce_amd_64.c
  ...

Fixed up trivial conflict in kernel/time/tick-sched.c manually
</pre>
</div>
</content>
</entry>
</feed>
