From: Joe Korty <joe.korty@ccur.com>
To: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Cc: Steven Rostedt <rostedt@goodmis.org>,
linux-rt-users <linux-rt-users@vger.kernel.org>
Subject: Re: [PATCH] fix might sleep oops in irq affinity callback hook
Date: Thu, 22 Aug 2013 15:01:03 -0400 [thread overview]
Message-ID: <20130822190103.GA3198@tsunami.ccur.com> (raw)
In-Reply-To: <20130821210928.GA14467@tsunami.ccur.com>
On Wed, Aug 21, 2013 at 05:09:28PM -0400, Joe Korty wrote:
> On Wed, Aug 21, 2013 at 11:53:47AM -0400, Sebastian Andrzej Siewior wrote:
> > Joe could you please test this one? In 3.10 we have one user of
> > __irq_set_affinity_locked() and we might get more.
>
> Hi Sebastian,
> I backported the patch to 3.6.11.6-rt38 and added a few printk's so that
> when daemon started I would see that and when each affinity hook was
> executed I would see that too.
>
> The system came up and the printk for daemon start showed up near where
> the sfc driver started, but no affinity action printk appeared. Thus
> the patch as written does not seem to work.
Hi Sebastian,
Today I intrumented both the nort and rt paths through the
affinity hook logic, and built and booted both nort and
rt kernels. Here is what I found:
For the nort kernel, each time I change the affinity of
one of the SFC driver IRQs listed in /proc/interrupts,
I get a notice in dmesg that the SFC callback was invoked.
For the rt kernel, I get the message only for the first
time the affinity for some SFC IRQ is changed. Subsequent
changes of the _same_ IRQ do not have the callback invoked.
If I go and change some other SFC IRQ that will also invoke
the callback the first time only.
finny# echo 1 >/proc/irq/46/smp_affinity; dmesg | fgrep genirq
genirq: set_affinity_thread STARTED
genirq: NOTIFIER CALLED ...
finny# echo 1 >/proc/irq/46/smp_affinity; dmesg | fgrep genirq
genirq: set_affinity_thread STARTED
genirq: NOTIFIER CALLED ...
finny# echo 1 >/proc/irq/46/smp_affinity; dmesg | fgrep genirq
genirq: set_affinity_thread STARTED
genirq: NOTIFIER CALLED ...
finny# echo 2 >/proc/irq/46/smp_affinity; dmesg | fgrep genirq
genirq: set_affinity_thread STARTED
genirq: NOTIFIER CALLED ...
finny# echo 2 >/proc/irq/47/smp_affinity; dmesg | fgrep genirq
genirq: set_affinity_thread STARTED
genirq: NOTIFIER CALLED ...
genirq: NOTIFIER CALLED ...
finny# echo 2 >/proc/irq/47/smp_affinity; dmesg | fgrep genirq
genirq: set_affinity_thread STARTED
genirq: NOTIFIER CALLED ...
genirq: NOTIFIER CALLED ...
finny# echo 1 >/proc/irq/47/smp_affinity; dmesg | fgrep genirq
genirq: set_affinity_thread STARTED
genirq: NOTIFIER CALLED ...
genirq: NOTIFIER CALLED ...
Regards,
Joe
next prev parent reply other threads:[~2013-08-22 19:01 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-08-20 17:59 [PATCH] fix might sleep oops in irq affinity callback hook Joe Korty
2013-08-21 15:53 ` Sebastian Andrzej Siewior
2013-08-21 21:09 ` Joe Korty
2013-08-22 19:01 ` Joe Korty [this message]
2013-08-23 7:23 ` Sebastian Andrzej Siewior
2013-08-29 11:22 ` Sebastian Andrzej Siewior
2013-08-30 13:53 ` Joe Korty
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20130822190103.GA3198@tsunami.ccur.com \
--to=joe.korty@ccur.com \
--cc=bigeasy@linutronix.de \
--cc=linux-rt-users@vger.kernel.org \
--cc=rostedt@goodmis.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.