<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux/kernel/irq, branch v2.6.30.9</title>
<subtitle>Linux kernel source tree</subtitle>
<id>https://git.amat.us/linux/atom/kernel/irq?h=v2.6.30.9</id>
<link rel='self' href='https://git.amat.us/linux/atom/kernel/irq?h=v2.6.30.9'/>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/'/>
<updated>2009-05-01T13:16:04Z</updated>
<entry>
<title>Revert "genirq: assert that irq handlers are indeed running in hardirq context"</title>
<updated>2009-05-01T13:16:04Z</updated>
<author>
<name>Thomas Gleixner</name>
<email>tglx@linutronix.de</email>
</author>
<published>2009-05-01T13:16:04Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=d7226fb6ec5d4f325e4e7fd905894e2ea3eb3ae0'/>
<id>urn:sha1:d7226fb6ec5d4f325e4e7fd905894e2ea3eb3ae0</id>
<content type='text'>
This reverts commit 044d408409cc4e1bc75c886e27ca85c270db104c.

The commit added a warning when handle_IRQ_event() is called outside
of hard interrupt context. This breaks the generic tasklet based
interrupt resend mechanism which is used when the hardware has no way
to retrigger the interrupt. So we get a warning for a use case which
is correct and worked for years. Remove it.

Signed-off-by: Thomas Gleixner &lt;tglx@linutronix.de&gt;
</content>
</entry>
<entry>
<title>x86, irq: Remove IRQ_DISABLED check in process context IRQ move</title>
<updated>2009-04-14T13:21:13Z</updated>
<author>
<name>Pallipadi, Venkatesh</name>
<email>venkatesh.pallipadi@intel.com</email>
</author>
<published>2009-04-13T22:20:58Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=6ec3cfeca04622e3d80c9270191cd7f5f88214af'/>
<id>urn:sha1:6ec3cfeca04622e3d80c9270191cd7f5f88214af</id>
<content type='text'>
As discussed in the thread here:

  http://marc.info/?l=linux-kernel&amp;m=123964468521142&amp;w=2

Eric W. Biederman observed:

&gt; It looks like some additional bugs have slipped in since last I looked.
&gt;
&gt; set_irq_affinity does this:
&gt; ifdef CONFIG_GENERIC_PENDING_IRQ
&gt;        if (desc-&gt;status &amp; IRQ_MOVE_PCNTXT || desc-&gt;status &amp; IRQ_DISABLED) {
&gt;                cpumask_copy(desc-&gt;affinity, cpumask);
&gt;                desc-&gt;chip-&gt;set_affinity(irq, cpumask);
&gt;        } else {
&gt;                desc-&gt;status |= IRQ_MOVE_PENDING;
&gt;                cpumask_copy(desc-&gt;pending_mask, cpumask);
&gt;        }
&gt; #else
&gt;
&gt; That IRQ_DISABLED case is a software state and as such it has nothing to
&gt; do with how safe it is to move an irq in process context.

[...]

&gt;
&gt; The only reason we migrate MSIs in interrupt context today is that there
&gt; wasn't infrastructure for support migration both in interrupt context
&gt; and outside of it.

Yes. The idea here was to force the MSI migration to happen in process
context. One of the patches in the series did

        disable_irq(dev-&gt;irq);
        irq_set_affinity(dev-&gt;irq, cpumask_of(dev-&gt;cpu));
        enable_irq(dev-&gt;irq);

with the above patch adding irq/manage code check for interrupt disabled
and moving the interrupt in process context.

IIRC, there was no IRQ_MOVE_PCNTXT when we were developing this HPET
code and we ended up having this ugly hack. IRQ_MOVE_PCNTXT was there
when we eventually submitted the patch upstream. But, looks like I did a
blind rebasing instead of using IRQ_MOVE_PCNTXT in hpet MSI code.

Below patch fixes this. i.e., revert commit 932775a4ab622e3c99bd59f14cc
and add PCNTXT to HPET MSI setup. Also removes copying of desc-&gt;affinity
in generic code as set_affinity routines are doing it internally.

Reported-by: "Eric W. Biederman" &lt;ebiederm@xmission.com&gt;
Signed-off-by: Venkatesh Pallipadi &lt;venkatesh.pallipadi@intel.com&gt;
Acked-by: "Eric W. Biederman" &lt;ebiederm@xmission.com&gt;
Cc: "Li Shaohua" &lt;shaohua.li@intel.com&gt;
Cc: Gary Hade &lt;garyhade@us.ibm.com&gt;
Cc: "lcm@us.ibm.com" &lt;lcm@us.ibm.com&gt;
Cc: suresh.b.siddha@intel.com
LKML-Reference: &lt;20090413222058.GB8211@linux-os.sc.intel.com&gt;
Signed-off-by: Ingo Molnar &lt;mingo@elte.hu&gt;
</content>
</entry>
<entry>
<title>Merge branches 'core-fixes-for-linus', 'irq-fixes-for-linus' and 'timers-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip</title>
<updated>2009-04-09T17:35:30Z</updated>
<author>
<name>Linus Torvalds</name>
<email>torvalds@linux-foundation.org</email>
</author>
<published>2009-04-09T17:35:30Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=422a253483aa5de71a2bcdc27b0aa023053f97f8'/>
<id>urn:sha1:422a253483aa5de71a2bcdc27b0aa023053f97f8</id>
<content type='text'>
* 'core-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
  printk: fix wrong format string iter for printk
  futex: comment requeue key reference semantics

* 'irq-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
  irq: fix cpumask memory leak on offstack cpumask kernels

* 'timers-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
  posix-timers: fix RLIMIT_CPU &amp;&amp; setitimer(CPUCLOCK_PROF)
  posix-timers: fix RLIMIT_CPU &amp;&amp; fork()
  timers: add missing kernel-doc
</content>
</entry>
<entry>
<title>Merge branch 'linus' into irq/threaded</title>
<updated>2009-04-05T23:41:22Z</updated>
<author>
<name>Ingo Molnar</name>
<email>mingo@elte.hu</email>
</author>
<published>2009-04-05T23:41:22Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=9efe21cb82b5dbe3b0b2ae4de4eccc64ecb94e95'/>
<id>urn:sha1:9efe21cb82b5dbe3b0b2ae4de4eccc64ecb94e95</id>
<content type='text'>
Conflicts:
	include/linux/irq.h
	kernel/irq/handle.c
</content>
</entry>
<entry>
<title>irq: fix cpumask memory leak on offstack cpumask kernels</title>
<updated>2009-04-03T17:14:44Z</updated>
<author>
<name>Yinghai Lu</name>
<email>yinghai@kernel.org</email>
</author>
<published>2009-03-31T03:37:20Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=9756b15e1b58453a6fd54b85c1ad8515209e10bb'/>
<id>urn:sha1:9756b15e1b58453a6fd54b85c1ad8515209e10bb</id>
<content type='text'>
Need to free the old cpumask for affinity and pending_mask.

Signed-off-by: Yinghai Lu &lt;yinghai@kernel.org&gt;
Acked-by: Rusty Russell &lt;rusty@rustcorp.com.au&gt;
LKML-Reference: &lt;49D18FF0.50707@kernel.org&gt;
Signed-off-by: Ingo Molnar &lt;mingo@elte.hu&gt;
</content>
</entry>
<entry>
<title>Merge branch 'tracing/core-v2' into tracing-for-linus</title>
<updated>2009-04-01T22:49:02Z</updated>
<author>
<name>Ingo Molnar</name>
<email>mingo@elte.hu</email>
</author>
<published>2009-04-01T19:54:19Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=8302294f43250dc337108c51882a6007f2b1e2e0'/>
<id>urn:sha1:8302294f43250dc337108c51882a6007f2b1e2e0</id>
<content type='text'>
Conflicts:
	include/linux/slub_def.h
	lib/Kconfig.debug
	mm/slob.c
	mm/slub.c
</content>
</entry>
<entry>
<title>PM: Introduce functions for suspending and resuming device interrupts</title>
<updated>2009-03-30T19:46:54Z</updated>
<author>
<name>Rafael J. Wysocki</name>
<email>rjw@sisk.pl</email>
</author>
<published>2009-03-16T21:33:49Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=0a0c5168df270a50e3518e4f12bddb31f8f5f38f'/>
<id>urn:sha1:0a0c5168df270a50e3518e4f12bddb31f8f5f38f</id>
<content type='text'>
Introduce helper functions allowing us to prevent device drivers from
getting any interrupts (without disabling interrupts on the CPU)
during suspend (or hibernation) and to make them start to receive
interrupts again during the subsequent resume.  These functions make it
possible to keep timer interrupts enabled while the "late" suspend and
"early" resume callbacks provided by device drivers are being
executed.  In turn, this allows device drivers' "late" suspend and
"early" resume callbacks to sleep, execute ACPI callbacks etc.

The functions introduced here will be used to rework the handling of
interrupts during suspend (hibernation) and resume.  Namely,
interrupts will only be disabled on the CPU right before suspending
sysdevs, while device drivers will be prevented from receiving
interrupts, with the help of the new helper function, before their
"late" suspend callbacks run (and analogously during resume).

Signed-off-by: Rafael J. Wysocki &lt;rjw@sisk.pl&gt;
Acked-by: Ingo Molnar &lt;mingo@elte.hu&gt;
</content>
</entry>
<entry>
<title>Merge branch 'core/percpu' into percpu-cpumask-x86-for-linus-2</title>
<updated>2009-03-27T16:28:43Z</updated>
<author>
<name>Ingo Molnar</name>
<email>mingo@elte.hu</email>
</author>
<published>2009-03-26T20:39:17Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=6e15cf04860074ad032e88c306bea656bbdd0f22'/>
<id>urn:sha1:6e15cf04860074ad032e88c306bea656bbdd0f22</id>
<content type='text'>
Conflicts:
	arch/parisc/kernel/irq.c
	arch/x86/include/asm/fixmap_64.h
	arch/x86/include/asm/setup.h
	kernel/irq/handle.c

Semantic merge:
        arch/x86/include/asm/fixmap.h

Signed-off-by: Ingo Molnar &lt;mingo@elte.hu&gt;
</content>
</entry>
<entry>
<title>genirq: threaded irq handlers review fixups</title>
<updated>2009-03-24T11:15:23Z</updated>
<author>
<name>Thomas Gleixner</name>
<email>tglx@linutronix.de</email>
</author>
<published>2009-03-24T10:46:22Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=f48fe81e5b032914183e9a17052313720c2cac56'/>
<id>urn:sha1:f48fe81e5b032914183e9a17052313720c2cac56</id>
<content type='text'>
Delta patch to address the review comments.

      - Implement warning when IRQ_WAKE_THREAD is requested and no
        thread handler installed
      - coding style fixes

Pointed-out-by: Christoph Hellwig &lt;hch@infradead.org&gt;
Signed-off-by: Thomas Gleixner &lt;tglx@linutronix.de&gt;

</content>
</entry>
<entry>
<title>genirq: add support for threaded interrupts to devres</title>
<updated>2009-03-24T11:15:23Z</updated>
<author>
<name>Arjan van de Ven</name>
<email>arjan@linux.intel.com</email>
</author>
<published>2009-03-23T17:28:16Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=935bd5b971f0df7c06d214d022cf8392e2f37952'/>
<id>urn:sha1:935bd5b971f0df7c06d214d022cf8392e2f37952</id>
<content type='text'>
Some devices use devres_request_irq() for to install their interrupt
handler. Add support for threaded interrupts to devres as well.

[tglx - simplified and adapted to latest threadirq version]

Signed-off-by: Arjan van de Ven &lt;arjan@linux.intel.com&gt;
Signed-off-by: Thomas Gleixner &lt;tglx@linutronix.de&gt;

</content>
</entry>
</feed>
