<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux/arch/x86/kernel/apic, branch v3.5</title>
<subtitle>Linux kernel source tree</subtitle>
<id>https://git.amat.us/linux/atom/arch/x86/kernel/apic?h=v3.5</id>
<link rel='self' href='https://git.amat.us/linux/atom/arch/x86/kernel/apic?h=v3.5'/>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/'/>
<updated>2012-06-06T10:03:25Z</updated>
<entry>
<title>x86/ioapic: Fix NULL pointer dereference on CPU hotplug after disabling irqs</title>
<updated>2012-06-06T10:03:25Z</updated>
<author>
<name>Tomoki Sekiyama</name>
<email>tomoki.sekiyama.qu@hitachi.com</email>
</author>
<published>2012-05-28T09:09:18Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=f6175f5bfb4c9f2ed32758c95f765b529b1a7f15'/>
<id>urn:sha1:f6175f5bfb4c9f2ed32758c95f765b529b1a7f15</id>
<content type='text'>
In current Linux, percpu variable `vector_irq' is not cleared on
offlined cpus while disabling devices' irqs. If the cpu that has
the disabled irqs in vector_irq is hotplugged,
__setup_vector_irq() hits invalid irq vector and may crash.

This bug can be reproduced as following;

  # echo 0 &gt; /sys/devices/system/cpu/cpu7/online
  # modprobe -r some_driver_using_interrupts      # vector_irq@cpu7 uncleared
  # echo 1 &gt; /sys/devices/system/cpu/cpu7/online  # kernel may crash

This patch fixes this bug by clearing vector_irq in
__clear_irq_vector() even if the cpu is offlined.

Signed-off-by: Tomoki Sekiyama &lt;tomoki.sekiyama.qu@hitachi.com&gt;
Acked-by: Thomas Gleixner &lt;tglx@linutronix.de&gt;
Cc: yrl.pp-manager.tt@hitachi.com
Cc: ltc-kernel@ml.yrl.intra.hitachi.co.jp
Cc: Suresh Siddha &lt;suresh.b.siddha@intel.com&gt;
Cc: Yinghai Lu &lt;yinghai@kernel.org&gt;
Cc: Alexander Gordeev &lt;agordeev@redhat.com&gt;
Link: http://lkml.kernel.org/r/4FC340BE.7080101@hitachi.com
Signed-off-by: Ingo Molnar &lt;mingo@kernel.org&gt;
</content>
</entry>
<entry>
<title>Merge branch 'delete-mca' of git://git.kernel.org/pub/scm/linux/kernel/git/paulg/linux</title>
<updated>2012-05-24T00:12:06Z</updated>
<author>
<name>Linus Torvalds</name>
<email>torvalds@linux-foundation.org</email>
</author>
<published>2012-05-24T00:12:06Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=d5b4bb4d103cd601d8009f2d3a7e44586c9ae7cc'/>
<id>urn:sha1:d5b4bb4d103cd601d8009f2d3a7e44586c9ae7cc</id>
<content type='text'>
Pull the MCA deletion branch from Paul Gortmaker:
 "It was good that we could support MCA machines back in the day, but
  realistically, nobody is using them anymore.  They were mostly limited
  to 386-sx 16MHz CPU and some 486 class machines and never more than
  64MB of RAM.  Even the enthusiast hobbyist community seems to have
  dried up close to ten years ago, based on what you can find searching
  various websites dedicated to the relatively short lived hardware.

  So lets remove the support relating to CONFIG_MCA.  There is no point
  carrying this forward, wasting cycles doing routine maintenance on it;
  wasting allyesconfig build time on validating it, wasting I/O on git
  grep'ping over it, and so on."

Let's see if anybody screams.  It generally has compiled, and James
Bottomley pointed out that there was a MCA extension from NCR that
allowed for up to 4GB of memory and PPro-class machines.  So in *theory*
there may be users out there.

But even James (technically listed as a maintainer) doesn't actually
have a system, and while Alan Cox claims to have a machine in his cellar
that he offered to anybody who wants to take it off his hands, he didn't
argue for keeping MCA support either.

So we could bring it back.  But somebody had better speak up and talk
about how they have actually been using said MCA hardware with modern
kernels for us to do that.  And David already took the patch to delete
all the networking driver code (commit a5e371f61ad3: "drivers/net:
delete all code/drivers depending on CONFIG_MCA").

* 'delete-mca' of git://git.kernel.org/pub/scm/linux/kernel/git/paulg/linux:
  MCA: delete all remaining traces of microchannel bus support.
  scsi: delete the MCA specific drivers and driver code
  serial: delete the MCA specific 8250 support.
  arm: remove ability to select CONFIG_MCA
</content>
</entry>
<entry>
<title>Merge branch 'x86-apic-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip</title>
<updated>2012-05-23T01:38:11Z</updated>
<author>
<name>Linus Torvalds</name>
<email>torvalds@linux-foundation.org</email>
</author>
<published>2012-05-23T01:38:11Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=f08b9c2f8af0d61faa1170aeae4fbca1eff6a504'/>
<id>urn:sha1:f08b9c2f8af0d61faa1170aeae4fbca1eff6a504</id>
<content type='text'>
Pull x86/apic changes from Ingo Molnar:
 "Most of the changes are about helping virtualized guest kernels
  achieve better performance."

Fix up trivial conflicts with the iommu updates to arch/x86/kernel/apic/io_apic.c

* 'x86-apic-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
  x86/apic: Implement EIO micro-optimization
  x86/apic: Add apic-&gt;eoi_write() callback
  x86/apic: Use symbolic APIC_EOI_ACK
  x86/apic: Fix typo EIO_ACK -&gt; EOI_ACK and document it
  x86/xen/apic: Add missing #include &lt;xen/xen.h&gt;
  x86/apic: Only compile local function if used with !CONFIG_GENERIC_PENDING_IRQ
  x86/apic: Fix UP boot crash
  x86: Conditionally update time when ack-ing pending irqs
  xen/apic: implement io apic read with hypercall
  Revert "xen/x86: Workaround 'x86/ioapic: Add register level checks to detect bogus io-apic entries'"
  xen/x86: Implement x86_apic_ops
  x86/apic: Replace io_apic_ops with x86_io_apic_ops.
</content>
</entry>
<entry>
<title>x86/apic: Implement EIO micro-optimization</title>
<updated>2012-05-18T07:46:09Z</updated>
<author>
<name>Michael S. Tsirkin</name>
<email>mst@redhat.com</email>
</author>
<published>2012-05-16T16:03:58Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=0ab711ae6ab0db7696b43c74f9ba9de4d7fc1deb'/>
<id>urn:sha1:0ab711ae6ab0db7696b43c74f9ba9de4d7fc1deb</id>
<content type='text'>
We know both register and value for eoi beforehand,
so there's no need to check it and no need to do math
to calculate the msr. Saves instructions/branches
on each EOI when using x2apic.

I looked at the objdump output to verify that the
generated code looks right and actually is shorter.

The real improvemements will be on the KVM guest side
though, those come in a later patch.

Signed-off-by: Michael S. Tsirkin &lt;mst@redhat.com&gt;
Cc: Avi Kivity &lt;avi@redhat.com&gt;
Cc: Marcelo Tosatti &lt;mtosatti@redhat.com&gt;
Cc: gleb@redhat.com
Cc: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
Link: http://lkml.kernel.org/r/e019d1a125316f10d3e3a4b2f6bda41473f4fb72.1337184153.git.mst@redhat.com
Signed-off-by: Ingo Molnar &lt;mingo@kernel.org&gt;
</content>
</entry>
<entry>
<title>x86/apic: Add apic-&gt;eoi_write() callback</title>
<updated>2012-05-18T07:46:08Z</updated>
<author>
<name>Michael S. Tsirkin</name>
<email>mst@redhat.com</email>
</author>
<published>2012-05-16T16:03:52Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=2a43195d831997551da93e6b3c22c965e93fe9cc'/>
<id>urn:sha1:2a43195d831997551da93e6b3c22c965e93fe9cc</id>
<content type='text'>
Add eoi_write callback so that kvm can override
eoi accesses without touching the rest of the apic.
As a side-effect, this will enable a micro-optimization
for apics using msr.

Signed-off-by: Michael S. Tsirkin &lt;mst@redhat.com&gt;
Cc: Avi Kivity &lt;avi@redhat.com&gt;
Cc: Marcelo Tosatti &lt;mtosatti@redhat.com&gt;
Cc: gleb@redhat.com
Cc: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
Link: http://lkml.kernel.org/r/0df425d746c49ac2ecc405174df87752869629d2.1337184153.git.mst@redhat.com
[ tidied it up a bit ]
Signed-off-by: Ingo Molnar &lt;mingo@kernel.org&gt;
</content>
</entry>
<entry>
<title>MCA: delete all remaining traces of microchannel bus support.</title>
<updated>2012-05-17T23:06:13Z</updated>
<author>
<name>Paul Gortmaker</name>
<email>paul.gortmaker@windriver.com</email>
</author>
<published>2012-05-17T23:06:13Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=bb8187d35f820671d6dd76700d77a6b55f95e2c5'/>
<id>urn:sha1:bb8187d35f820671d6dd76700d77a6b55f95e2c5</id>
<content type='text'>
Hardware with MCA bus is limited to 386 and 486 class machines
that are now 20+ years old and typically with less than 32MB
of memory.  A quick search on the internet, and you see that
even the MCA hobbyist/enthusiast community has lost interest
in the early 2000 era and never really even moved ahead from
the 2.4 kernels to the 2.6 series.

This deletes anything remaining related to CONFIG_MCA from core
kernel code and from the x86 architecture.  There is no point in
carrying this any further into the future.

One complication to watch for is inadvertently scooping up
stuff relating to machine check, since there is overlap in
the TLA name space (e.g. arch/x86/boot/mca.c).

Cc: Thomas Gleixner &lt;tglx@linutronix.de&gt;
Cc: James Bottomley &lt;JBottomley@Parallels.com&gt;
Cc: x86@kernel.org
Acked-by: Ingo Molnar &lt;mingo@elte.hu&gt;
Acked-by: H. Peter Anvin &lt;hpa@zytor.com&gt;
Signed-off-by: Paul Gortmaker &lt;paul.gortmaker@windriver.com&gt;
</content>
</entry>
<entry>
<title>x86/apic: Only compile local function if used with !CONFIG_GENERIC_PENDING_IRQ</title>
<updated>2012-05-08T09:23:15Z</updated>
<author>
<name>Márton Németh</name>
<email>nm127@freemail.hu</email>
</author>
<published>2012-05-08T07:24:20Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=d1ecad6eee8629c6b425580aad76cf99b85956e9'/>
<id>urn:sha1:d1ecad6eee8629c6b425580aad76cf99b85956e9</id>
<content type='text'>
The local function io_apic_level_ack_pending() is only called
from io_apic_level_ack_pending(). The later function is only
compiled if CONFIG_GENERIC_PENDING_IRQ is defined. Move the
io_apic_level_ack_pending() to the existing #ifdef
CONFIG_GENERIC_PENDING_IRQ code block.

This will remove the following warning message during compiling
without CONFIG_GENERIC_PENDING_IRQ defined:

 * arch/x86/kernel/apic/io_apic.c:382: warning: ‘io_apic_level_ack_pending’ defined but not used

Signed-off-by: Márton Németh &lt;nm127@freemail.hu&gt;
Signed-off-by: Suresh Siddha &lt;suresh.b.siddha@intel.com&gt;
Cc: Yinghai Lu &lt;yinghai@kernel.org&gt;
Cc: Naga Chumbalkar &lt;nagananda.chumbalkar@hp.com&gt;
Link: http://lkml.kernel.org/r/1336461860.2296.3.camel@sbsiddha-mobl2
Signed-off-by: Ingo Molnar &lt;mingo@kernel.org&gt;
</content>
</entry>
<entry>
<title>x86: Conditionally update time when ack-ing pending irqs</title>
<updated>2012-05-07T14:25:28Z</updated>
<author>
<name>Shai Fultheim</name>
<email>shai@scalemp.com</email>
</author>
<published>2012-04-19T22:12:32Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=42fa4250436304d4650fa271f37671f6cee24e08'/>
<id>urn:sha1:42fa4250436304d4650fa271f37671f6cee24e08</id>
<content type='text'>
On virtual environments, apic_read could take a long time. As a
result, under certain conditions the ack pending loop may exit
without any queued irqs left, but after more than one second. A
warning will be printed needlessly in this case.

If the loop is about to exit regardless of max_loops, don't
update it.

Signed-off-by: Shai Fultheim &lt;shai@scalemp.com&gt;
[ rebased and reworded the commit message]
Signed-off-by: Ido Yariv &lt;ido@wizery.com&gt;
Acked-by: Thomas Gleixner &lt;tglx@linutronix.de&gt;
Link: http://lkml.kernel.org/r/1334873552-31346-1-git-send-email-ido@wizery.com
Signed-off-by: Ingo Molnar &lt;mingo@kernel.org&gt;
</content>
</entry>
<entry>
<title>iommu: rename intr_remapping.[ch] to irq_remapping.[ch]</title>
<updated>2012-05-07T12:35:00Z</updated>
<author>
<name>Suresh Siddha</name>
<email>suresh.b.siddha@intel.com</email>
</author>
<published>2012-03-30T18:47:08Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=8a8f422d3b4f2cde8e0e1d31638279a26a886a82'/>
<id>urn:sha1:8a8f422d3b4f2cde8e0e1d31638279a26a886a82</id>
<content type='text'>
Make the file names consistent with the naming conventions of irq subsystem.

Signed-off-by: Suresh Siddha &lt;suresh.b.siddha@intel.com&gt;
Cc: Joerg Roedel &lt;joerg.roedel@amd.com&gt;
Cc: Yinghai Lu &lt;yinghai@kernel.org&gt;
Cc: David Woodhouse &lt;dwmw2@infradead.org&gt;
Cc: Alex Williamson &lt;alex.williamson@redhat.com&gt;
Signed-off-by: Joerg Roedel &lt;joerg.roedel@amd.com&gt;
</content>
</entry>
<entry>
<title>iommu: rename intr_remapping references to irq_remapping</title>
<updated>2012-05-07T12:35:00Z</updated>
<author>
<name>Suresh Siddha</name>
<email>suresh.b.siddha@intel.com</email>
</author>
<published>2012-03-30T18:47:07Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=95a02e976c39d63716b8c7c226bc530a2041536f'/>
<id>urn:sha1:95a02e976c39d63716b8c7c226bc530a2041536f</id>
<content type='text'>
Make the code consistent with the naming conventions of irq subsystem.

Signed-off-by: Suresh Siddha &lt;suresh.b.siddha@intel.com&gt;
Cc: Joerg Roedel &lt;joerg.roedel@amd.com&gt;
Cc: Yinghai Lu &lt;yinghai@kernel.org&gt;
Cc: David Woodhouse &lt;dwmw2@infradead.org&gt;
Cc: Alex Williamson &lt;alex.williamson@redhat.com&gt;
Signed-off-by: Joerg Roedel &lt;joerg.roedel@amd.com&gt;
</content>
</entry>
</feed>
