<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel.git/kernel/irq/handle.c, branch linux-2.6.29.y</title>
<subtitle>Hosts the 0x221E linux distro kernel.
</subtitle>
<id>https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-2.6.29.y</id>
<link rel='self' href='https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-2.6.29.y'/>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/'/>
<updated>2009-01-28T00:06:55Z</updated>
<entry>
<title>cpumask fallout: Initialize irq_default_affinity earlier</title>
<updated>2009-01-28T00:06:55Z</updated>
<author>
<name>David Daney</name>
</author>
<published>2009-01-27T17:53:22Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=97179fd46da7ddedd18e95388130ed3e06c5a0c7'/>
<id>urn:sha1:97179fd46da7ddedd18e95388130ed3e06c5a0c7</id>
<content type='text'>
Move the initialization of irq_default_affinity to early_irq_init as
core_initcall is too late.

irq_default_affinity can be used in init_IRQ and potentially timer and
SMP init as well.  All of these happen before core_initcall.  Moving
the initialization to early_irq_init ensures that it is initialized
before it is used.

Signed-off-by: David Daney &lt;ddaney@caviumnetworks.com&gt;
Acked-by: Mike Travis &lt;travis@sgi.com&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</content>
</entry>
<entry>
<title>sparseirq: work around __weak alias bug</title>
<updated>2008-12-28T23:19:55Z</updated>
<author>
<name>Ingo Molnar</name>
</author>
<published>2008-12-28T23:16:45Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=b2e2fe99628c4f944c3075258e536197b5a4f3f8'/>
<id>urn:sha1:b2e2fe99628c4f944c3075258e536197b5a4f3f8</id>
<content type='text'>
Impact: fix boot crash if the kernel is built with certain GCC versions

GCC has a bug with __weak alias functions: if the functions are in
the same compilation unit as their call site, GCC can decide to
inline them - and thus rob the linker of the opportunity to override
the weak alias with the real thing.

This can lead to the boot crash reported by Kamalesh Babulal:

 ACPI: Core revision 20080926
 Setting APIC routing to flat
 BUG: unable to handle kernel NULL pointer dereference at
 0000000000000000
 IP: [&lt;ffffffff8021f9a8&gt;] add_pin_to_irq_cpu+0x14/0x74
 PGD 0
 Oops: 0000 [#1] SMP
 [...]

So move the arch_init_chip_data() function from handle.c to manage.c.

Reported-by: Kamalesh Babulal &lt;kamalesh@linux.vnet.ibm.com&gt;
Signed-off-by: Ingo Molnar &lt;mingo@elte.hu&gt;
</content>
</entry>
<entry>
<title>sparseirq: fix hang with !SPARSE_IRQ</title>
<updated>2008-12-27T16:52:07Z</updated>
<author>
<name>Yinghai Lu</name>
</author>
<published>2008-12-27T06:38:15Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=12026ea16a618b289fcf457661aed24f57323a20'/>
<id>urn:sha1:12026ea16a618b289fcf457661aed24f57323a20</id>
<content type='text'>
Impact: fix hang

Suresh report his two sockets system only works with SPARSE_IRQ enable
it turns out we miss the setting desc-&gt;irq

so provide early_irq_init() even !SPARSE_IRQ to set desc-&gt;irq

Reported-by: "Siddha, Suresh B" &lt;suresh.b.siddha@intel.com&gt;
Signed-off-by: Yinghai Lu &lt;yinghai@kernel.org&gt;
Signed-off-by: Ingo Molnar &lt;mingo@elte.hu&gt;
</content>
</entry>
<entry>
<title>sparseirq: set lock_class for legacy irq when sparse_irq is selected</title>
<updated>2008-12-27T16:51:45Z</updated>
<author>
<name>Yinghai Lu</name>
</author>
<published>2008-12-23T04:24:09Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=fa6beb37b0d9bc00f90f11154eeed9502d8b0a37'/>
<id>urn:sha1:fa6beb37b0d9bc00f90f11154eeed9502d8b0a37</id>
<content type='text'>
Impact: add lockdep annotation to legacy IRQ descs

Warnings resulting out of this were not seen in practice, but it's prudent
to initialize the legacy descriptors to the lock class as well, symmetric
to how we do it with other descriptors.

Signed-off-by: Yinghai Lu &lt;yinghai@kernel.org&gt;
Signed-off-by: Ingo Molnar &lt;mingo@elte.hu&gt;
</content>
</entry>
<entry>
<title>sparseirq: work around compiler optimizing away __weak functions</title>
<updated>2008-12-27T12:24:00Z</updated>
<author>
<name>Yinghai Lu</name>
</author>
<published>2008-12-26T10:05:47Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=13a0c3c269b223f60abfac8a9811d77111a8b4ba'/>
<id>urn:sha1:13a0c3c269b223f60abfac8a9811d77111a8b4ba</id>
<content type='text'>
Impact: fix panic on null pointer with sparseirq

Some GCC versions seem to inline the weak global function,
when that function is empty.

Work it around, by making the functions return a (dummy) integer.

Signed-off-by: Yinghai &lt;yinghai@kernel.org&gt;
Signed-off-by: Ingo Molnar &lt;mingo@elte.hu&gt;
</content>
</entry>
<entry>
<title>sparseirq: fix desc-&gt;lock init</title>
<updated>2008-12-27T08:29:22Z</updated>
<author>
<name>Ingo Molnar</name>
</author>
<published>2008-12-26T18:02:20Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=793f7b12a0c95e7bfec1badf9628043fb78fd440'/>
<id>urn:sha1:793f7b12a0c95e7bfec1badf9628043fb78fd440</id>
<content type='text'>
Impact: cleanup

init_one_irq_desc() does not initialize the desc-&gt;lock properly -
you cannot init a lock by memcpying some other lock on it.

This happens to work right now (because irq_desc_init is never in use),
but it's a dangerous construct nevertheless, so fix it.

Signed-off-by: Ingo Molnar &lt;mingo@elte.hu&gt;
</content>
</entry>
<entry>
<title>sparseirq: remove duplicated arch_early_irq_init()</title>
<updated>2008-12-26T09:43:30Z</updated>
<author>
<name>Yinghai Lu</name>
</author>
<published>2008-12-24T01:29:00Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=00c23634879062d1c38d60128bf150c394a359e8'/>
<id>urn:sha1:00c23634879062d1c38d60128bf150c394a359e8</id>
<content type='text'>
Impact: clean up

We already have a weak copy of this function in init/main.c

Signed-off-by: Yinghai &lt;yinghai@kernel.org&gt;
Signed-off-by: Ingo Molnar &lt;mingo@elte.hu&gt;
</content>
</entry>
<entry>
<title>irq: simplify for_each_irq_desc() usage</title>
<updated>2008-12-26T08:48:18Z</updated>
<author>
<name>KOSAKI Motohiro</name>
</author>
<published>2008-12-26T03:29:48Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=18eefedfe8ad33e8fc7614c13359e29a9fab4644'/>
<id>urn:sha1:18eefedfe8ad33e8fc7614c13359e29a9fab4644</id>
<content type='text'>
Impact: cleanup

all for_each_irq_desc() usage point have !desc check.
then its check can move into for_each_irq_desc() macro.

Signed-off-by: KOSAKI Motohiro &lt;kosaki.motohiro@jp.fujitsu.com&gt;
Acked-by: Yinghai Lu &lt;yinghai@kernel.org&gt;
Signed-off-by: Ingo Molnar &lt;mingo@elte.hu&gt;
</content>
</entry>
<entry>
<title>proc: remove ifdef CONFIG_SPARSE_IRQ from stat.c</title>
<updated>2008-12-26T08:48:18Z</updated>
<author>
<name>KOSAKI Motohiro</name>
</author>
<published>2008-12-26T05:24:10Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=26ddd8d5cac8a563953d5febe8c6e40909f7bce1'/>
<id>urn:sha1:26ddd8d5cac8a563953d5febe8c6e40909f7bce1</id>
<content type='text'>
Impact: cleanup

irq_desc can be NULL when CONFIG_SPARSE_IRQ=y only.
therefore, NULL checking can move into kstat_irqs_cpu() of SPARSE_IRQ version.

Signed-off-by: KOSAKI Motohiro &lt;kosaki.motohiro@jp.fujitsu.com&gt;
Acked-by: "Yinghai Lu" &lt;yinghai@kernel.org&gt;
Signed-off-by: Ingo Molnar &lt;mingo@elte.hu&gt;
</content>
</entry>
<entry>
<title>irq: for_each_irq_desc() move to irqnr.h</title>
<updated>2008-12-26T08:48:17Z</updated>
<author>
<name>KOSAKI Motohiro</name>
</author>
<published>2008-12-26T03:24:24Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=f9af0e70911e9d6cc9a68f784dca86415486084d'/>
<id>urn:sha1:f9af0e70911e9d6cc9a68f784dca86415486084d</id>
<content type='text'>
Impact: cleanup

before CONFIG_SPARSE_IRQ age, for_each_irq_desc() sat in irqnr.h and
could be called from generic code.

CONFIG_SPARSE_IRQ breaks this assumption, but SPARSE_IRQ version
for_each_irq_desc() also can move into irqnr.h easily.

Also, this patch unifies CONFIG_SPARSE_IRQ and !CONFIG_SPARSE_IRQ
for_each_irq_desc().

Signed-off-by: KOSAKI Motohiro &lt;kosaki.motohiro@jp.fujitsu.com&gt;
Signed-off-by: Ingo Molnar &lt;mingo@elte.hu&gt;
</content>
</entry>
</feed>
