From: Andres Salomon <dilinger@queued.net>
To: Jens Rottmann <JRottmann@LiPPERTEmbedded.de>
Cc: Thomas Gleixner <tglx@linutronix.de>,
linux-kernel@vger.kernel.org, linux-geode@lists.infradead.org
Subject: Re: IRQF_TIMER | IRQF_SHARED ?
Date: Wed, 14 Dec 2011 10:47:24 -0800 [thread overview]
Message-ID: <20111214104724.292b02d4@queued.net> (raw)
In-Reply-To: <4EE8ECF3.6000900@LiPPERTEmbedded.de>
On Wed, 14 Dec 2011 19:37:39 +0100
Jens Rottmann <JRottmann@LiPPERTEmbedded.de> wrote:
> Jens Rottmann schrieb:
> > Andres Salomon schrieb:
> >> Just loading cs5535-clockevt should start the periodic timer.
> >> On my XO-1, IRQ 7 starts firing immediately.
> > Hmm, no, doesn't work. :-| In /proc/interrupts IRQ 0 gets
> > increased, not (in my case) IRQ 11.
>
> Update: I found that SMP-enabled kernels (like the generic one I was
> using) do load cs5535-clockevt fine but ignore it and keep using the
> pit timer instead.
Note that there are two subsystems at work here; clockevents and
clocksource. cs5535-clockevt uses clockevents (despite being in
drivers/clocksource/). For you to switch away from pit (via,
/sys/devices/system/clocksource/clocksource0/current_clocksource), we'd
have to implement cs5535_clocksource. Something that would be worth
doing, but I haven't looked into it..
>
> Responsible seems kernel/time/tick-common.c: tick_check_new_device()
> /*
> * If the cpu affinity of the device interrupt can not
> * be set, ignore it.
> */
> if (!irq_can_set_affinity(newdev->irq))
> goto out_bc;
>
> Looks like it has been that way for quite some time, maybe
> cs5535-clockevt hasn't ever worked on SMP kernels.
I've only ever tested it on UP kernels. I didn't know SMP CS5536
boards existed. Gosh, I hope all of those cs5535 drivers that hadn't
had their locking primitives tested aren't racy! ;)
>
> If I turn off SMP, cs5535-clockevt replaces the pit timer and the
> MFGPT IRQ starts firing just as you said - at least on 3.0.9. 3.2-rc5
> prefers to hang instead, looks like no timer events get generated.
> Sigh.
>
3.2-rc4 hung on my XO-1 due to a bug that's been fixed on rc5, but I
haven't tested rc5 yet.
> I'll try to narrow it down tomorrow, but now I'm calling it a day.
>
> Cheers
> Jens
next prev parent reply other threads:[~2011-12-14 18:47 UTC|newest]
Thread overview: 20+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-12-12 15:41 IRQF_TIMER | IRQF_SHARED ? Jens Rottmann
2011-12-12 20:31 ` Andres Salomon
2011-12-12 21:00 ` Martin-Éric Racine
2011-12-12 22:06 ` Andres Salomon
2011-12-12 23:38 ` Thomas Gleixner
2011-12-13 15:49 ` Jens Rottmann
2011-12-14 18:37 ` Jens Rottmann
2011-12-14 18:47 ` Andres Salomon [this message]
2011-12-21 15:42 ` [PATCH] cs5535-clockevt: don't ignore MFGPT on SMP-capable kernels Jens Rottmann
2012-01-11 10:10 ` Andres Salomon
2012-01-19 12:57 ` Jens Rottmann
2012-01-23 10:44 ` Andres Salomon
2011-12-21 16:37 ` IRQF_TIMER | IRQF_SHARED ? Jens Rottmann
2011-12-22 16:35 ` [PATCH] cs5535-clockevt: allow the MFGPT IRQ to be shared Jens Rottmann
2012-01-11 10:15 ` Andres Salomon
2012-01-30 13:51 ` [PATCH] cs5535-clockevt: don't ignore MFGPT on SMP-capable kernels Jens Rottmann
2012-01-30 13:59 ` [PATCH] cs5535-clockevt: allow the MFGPT IRQ to be shared Jens Rottmann
2012-02-06 8:20 ` [PATCH resend] cs5535-clockevt: don't ignore MFGPT on SMP-capable kernels Jens Rottmann
2012-02-06 8:23 ` [PATCH resend] cs5535-clockevt: allow the MFGPT IRQ to be shared Jens Rottmann
2011-12-19 14:32 ` "clockevents: Set noop handler in clockevents_exchange_device()" causes hang with cs5535-clockevt Jens Rottmann
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=20111214104724.292b02d4@queued.net \
--to=dilinger@queued.net \
--cc=JRottmann@LiPPERTEmbedded.de \
--cc=linux-geode@lists.infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=tglx@linutronix.de \
/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.