<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel.git/arch/x86/kernel/cpu/mcheck, branch linux-2.6.30.y</title>
<subtitle>Hosts the 0x221E linux distro kernel.
</subtitle>
<id>https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-2.6.30.y</id>
<link rel='self' href='https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-2.6.30.y'/>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/'/>
<updated>2009-07-02T23:49:32Z</updated>
<entry>
<title>KVM: Add VT-x machine check support v4</title>
<updated>2009-07-02T23:49:32Z</updated>
<author>
<name>Andi Kleen</name>
</author>
<published>2009-07-01T14:18:45Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=c45181c66af214e4187664e46460e87d3aefa97a'/>
<id>urn:sha1:c45181c66af214e4187664e46460e87d3aefa97a</id>
<content type='text'>
(replaces commit a0861c02a981c943573478ea13b29b1fb958ee5b upstream in a
cleaner way for the 2.6.30 kernel tree)

VT-x needs an explicit MC vector intercept to handle machine checks in
the hypervisor.

It also has a special option to catch machine checks that happen
during VT entry.

Do these interceptions and forward them to the Linux machine check
handler. Make it always look like user space is interrupted because
the machine check handler treats kernel/user space differently.

Thanks to Huang Ying and Jiang Yunhong for help and testing.

Cc: ying.huang@intel.com

v2: Handle machine checks still in interrupt off context
to avoid problems on preemptible kernels.
v3: Handle old style 32bit and make fully standalone

Signed-off-by: Andi Kleen &lt;ak@linux.intel.com&gt;
Cc: Huang Ying &lt;ying.huang@intel.com&gt;
Acked-by: Avi Kivity &lt;avi@redhat.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;


</content>
</entry>
<entry>
<title>cpumask: alloc zeroed cpumask for static cpumask_var_ts</title>
<updated>2009-06-09T13:00:27Z</updated>
<author>
<name>Yinghai Lu</name>
</author>
<published>2009-06-06T21:51:36Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=eaa958402ea40851097d051f52ba1bb7a885efe9'/>
<id>urn:sha1:eaa958402ea40851097d051f52ba1bb7a885efe9</id>
<content type='text'>
These are defined as static cpumask_var_t so if MAXSMP is not used,
they are cleared already.  Avoid surprises when MAXSMP is enabled.

Signed-off-by: Yinghai Lu &lt;yinghai.lu@kernel.org&gt;
Signed-off-by: Rusty Russell &lt;rusty@rustcorp.com.au&gt;
</content>
</entry>
<entry>
<title>x86: MCE: make cmci_discover_lock irq-safe</title>
<updated>2009-05-08T09:03:26Z</updated>
<author>
<name>Hidetoshi Seto</name>
</author>
<published>2009-05-08T08:28:40Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=e5299926d7459d9fa7c7f856983147817aedb10e'/>
<id>urn:sha1:e5299926d7459d9fa7c7f856983147817aedb10e</id>
<content type='text'>
Lockdep reports the warning below when Li tries to offline one cpu:

[  110.835487] =================================
[  110.835616] [ INFO: inconsistent lock state ]
[  110.835688] 2.6.30-rc4-00336-g8c9ed89 #52
[  110.835757] ---------------------------------
[  110.835828] inconsistent {HARDIRQ-ON-W} -&gt; {IN-HARDIRQ-W} usage.
[  110.835908] swapper/0 [HC1[1]:SC0[0]:HE0:SE1] takes:
[  110.835982]  (cmci_discover_lock){?.+...}, at: [&lt;ffffffff80236dc0&gt;] cmci_clear+0x30/0x9b

cmci_clear() can be called via smp_call_function_single().

It is better to disable interrupt while holding cmci_discover_lock,
to turn it into an irq-safe lock - we can deadlock otherwise.

[ Impact: fix possible deadlock in the MCE code ]

Reported-by: Shaohua Li &lt;shaohua.li@intel.com&gt;
Signed-off-by: Hidetoshi Seto &lt;seto.hidetoshi@jp.fujitsu.com&gt;
Cc: Andi Kleen &lt;andi@firstfloor.org&gt;
Cc: Andrew Morton &lt;akpm@linux-foundation.org&gt;
LKML-Reference: &lt;4A03ED38.8000700@jp.fujitsu.com&gt;
Signed-off-by: Ingo Molnar &lt;mingo@elte.hu&gt;
Reported-by: Shaohua Li&lt;shaohua.li@intel.com&gt;
</content>
</entry>
<entry>
<title>x86, mce: fix boot logging logic</title>
<updated>2009-04-22T20:56:25Z</updated>
<author>
<name>Andi Kleen</name>
</author>
<published>2009-04-07T15:06:55Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=5679af4c1625a1534a4321e1ecc3c48a1cf65eb8'/>
<id>urn:sha1:5679af4c1625a1534a4321e1ecc3c48a1cf65eb8</id>
<content type='text'>
The earlier patch to change the poller to a separate function subtly
broke the boot logging logic. This could lead to machine checks
getting logged at boot even when disabled or defaulting to off
on some systems. Fix that.

[ Impact: bug fix - avoid spurious MCE in log ]

Signed-off-by: Andi Kleen &lt;ak@linux.intel.com&gt;
Reviewed-by: Hidetoshi Seto &lt;seto.hidetoshi@jp.fujitsu.com&gt;
Signed-off-by: H. Peter Anvin &lt;hpa@linux.intel.com&gt;
</content>
</entry>
<entry>
<title>x86, mce: make polling timer interval per CPU</title>
<updated>2009-04-22T20:54:37Z</updated>
<author>
<name>Andi Kleen</name>
</author>
<published>2009-04-09T10:28:22Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=6298c512bc1007c3ff5c9ce20e6996781651cc45'/>
<id>urn:sha1:6298c512bc1007c3ff5c9ce20e6996781651cc45</id>
<content type='text'>
The polling timer while running per CPU still uses a global next_interval
variable, which lead to some CPUs either polling too fast or too slow.   
This was not a serious problem because all errors get picked up eventually,
but it's still better to avoid it. Turn next_interval into a per cpu variable.

v2: Fix check_interval == 0 case (Hidetoshi Seto)

[ Impact: minor bug fix ]

Signed-off-by: Andi Kleen &lt;ak@linux.intel.com&gt;
Reviewed-by: Hidetoshi Seto &lt;seto.hidetoshi@jp.fujitsu.com&gt;
Signed-off-by: H. Peter Anvin &lt;hpa@linux.intel.com&gt;
</content>
</entry>
<entry>
<title>Merge branch 'linus' into cpumask-for-linus</title>
<updated>2009-03-30T21:53:32Z</updated>
<author>
<name>Ingo Molnar</name>
</author>
<published>2009-03-30T21:53:32Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=65fb0d23fcddd8697c871047b700c78817bdaa43'/>
<id>urn:sha1:65fb0d23fcddd8697c871047b700c78817bdaa43</id>
<content type='text'>
Conflicts:
	arch/x86/kernel/cpu/common.c
</content>
</entry>
<entry>
<title>x86: use smp_call_function_single() in arch/x86/kernel/cpu/mcheck/mce_amd_64.c</title>
<updated>2009-03-18T06:03:12Z</updated>
<author>
<name>Andrew Morton</name>
</author>
<published>2009-03-18T00:10:25Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=a6b6a14e0c60561f2902b078bd28d0e61defad70'/>
<id>urn:sha1:a6b6a14e0c60561f2902b078bd28d0e61defad70</id>
<content type='text'>
Attempting to rid us of the problematic work_on_cpu().  Just use
smp_call_function_single() here.

Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Signed-off-by: Rusty Russell &lt;rusty@rustcorp.com.au&gt;
LKML-Reference: &lt;20090318042217.EF3F1DDF39@ozlabs.org&gt;
Signed-off-by: Ingo Molnar &lt;mingo@elte.hu&gt;
</content>
</entry>
<entry>
<title>x86, mce: remove incorrect __cpuinit for intel_init_cmci()</title>
<updated>2009-03-16T08:15:32Z</updated>
<author>
<name>Hidetoshi Seto</name>
</author>
<published>2009-03-16T08:07:33Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=514ec49a5f5146a6c0ade1a688787acf13617868'/>
<id>urn:sha1:514ec49a5f5146a6c0ade1a688787acf13617868</id>
<content type='text'>
Impact: Bug fix on UP

Referring commit cc3ca22063784076bd240fda87217387a8f2ae92,
Peter removed __cpuinit annotations for mce_cpu_features()
and its successor functions, which caused troubles on UP
configurations.

However the intel_init_cmci() was introduced after that and
it also has __cpuinit annotation even though it is called from
mce_cpu_features(). Remove the annotation from that function
too.

Signed-off-by: Hidetoshi Seto &lt;seto.hidetoshi@jp.fujitsu.com&gt;
Cc: H. Peter Anvin &lt;hpa@zytor.com&gt;
Cc: Andi Kleen &lt;ak@linux.intel.com&gt;
Signed-off-by: Ingo Molnar &lt;mingo@elte.hu&gt;
</content>
</entry>
<entry>
<title>cpumask: use new cpumask functions throughout x86</title>
<updated>2009-03-13T04:19:54Z</updated>
<author>
<name>Rusty Russell</name>
</author>
<published>2009-03-13T04:19:54Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=4f0628963c86d2f97b8cb9acc024a7fe288a6a57'/>
<id>urn:sha1:4f0628963c86d2f97b8cb9acc024a7fe288a6a57</id>
<content type='text'>
Impact: cleanup

1) &amp;cpu_online_map -&gt; cpu_online_mask
2) first_cpu/next_cpu_nr -&gt; cpumask_first/cpumask_next
3) cpu_*_map manipulation -&gt; init_cpu_* / set_cpu_*

Signed-off-by: Rusty Russell &lt;rusty@rustcorp.com.au&gt;
</content>
</entry>
<entry>
<title>cpumask: convert arch/x86/kernel/cpu/mcheck/mce_64.c</title>
<updated>2009-03-13T04:19:51Z</updated>
<author>
<name>Rusty Russell</name>
</author>
<published>2009-03-13T04:19:51Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=996867d0965775dfa62447d0bddb5dc6818a7892'/>
<id>urn:sha1:996867d0965775dfa62447d0bddb5dc6818a7892</id>
<content type='text'>
Impact: reduce kernel memory usage when CONFIG_CPUMASK_OFFSTACK=y

Simple conversion of mce_device_initialized to cpumask_var_t.  We don't
check the alloc_cpumask_var() return since it's boot-time only, and
the misc_register() in that same function isn't checked.

Signed-off-by: Rusty Russell &lt;rusty@rustcorp.com.au&gt;
</content>
</entry>
</feed>
