From: Peter Zijlstra <peterz@infradead.org>
To: Oliver Hartkopp <oliver@hartkopp.net>
Cc: Thomas Gleixner <tglx@linutronix.de>, Ingo Molnar <mingo@elte.hu>,
linux-kernel <linux-kernel@vger.kernel.org>,
Linus Torvalds <torvalds@linux-foundation.org>
Subject: Re: [RFC PATCH] hrtimer: removing all ur callback modes
Date: Mon, 08 Dec 2008 11:15:59 +0100 [thread overview]
Message-ID: <1228731359.5778.18.camel@twins> (raw)
In-Reply-To: <493BC8A8.2030200@hartkopp.net>
On Sun, 2008-12-07 at 13:59 +0100, Oliver Hartkopp wrote:
> Oliver Hartkopp wrote:
> > Peter Zijlstra wrote:
> >> On Tue, 2008-11-25 at 12:43 +0100, Peter Zijlstra wrote:
> >>
> >>> Hi,
> >>>
> >>> This is an attempt at removing some of the hrtimer complexity by
> >>> reducing the number of callback modes to 1.
> >>>
> >>> This means that all hrtimer callback functions will be ran from
> >>> HARD-irq
> >>> context.
> >>>
> >>> I went through all the 30 odd hrtimer callback functions in the kernel
> >>> and saw only one that I'm not quite sure of, which is the one in
> >>> net/can/bcm.c - hence I'm CC-ing the folks responsible for that code.
> >>>
> >
> > Thanks Peter.
> >
> > Indeed i assumed my hrtimer callbacks to run in soft-irq. I tried the
> > can-bcm protocol with Ingos current linux-2.6-sched-devel.git
> > including your patches and i did not see any issues so far. And i do
> > not expect any (recursion) problems with hrtimer_forward() in my code
> > either.
> >
> > But i'm not that familiar with the timer context's stuff, that i would
> > like guaranty that the functions i use in bcm_send_user() and in
> > bcm_can_tx() are always safe to be used in hard-irq context.
> >
> > It would be nice, if you could give me some support by double checking
> > the correctness of the hard-irq context in the given functions.
>
> Hi Peter,
>
> i ran a heavy load test, which get's (reproducible) the attached outputs ...
>
> Maybe it's not that good to define the hrtimer context to be always
> hard-irq.
Thing is, this 'cleanup' removes quite a bit of complexity from the core
hrtimer code, and afaict your bit is the only thing that cannot seem to
cope. So I'd rather look at fixing your site than re-introduce softirqs
to hrtimers.
> Any idea?
What are the timing constraints of your problem? - I assume they are not
too aggressive, otherwise you'd not be able to run from softirq, could
you run from keventd?
next prev parent reply other threads:[~2008-12-08 10:16 UTC|newest]
Thread overview: 19+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-11-25 11:43 [RFC PATCH] hrtimer: removing all ur callback modes Peter Zijlstra
2008-11-25 14:46 ` Ingo Molnar
2008-11-25 15:03 ` Ingo Molnar
2008-12-04 10:17 ` Peter Zijlstra
2008-12-04 10:33 ` Ingo Molnar
2008-12-07 11:22 ` Oliver Hartkopp
2008-12-07 12:59 ` Oliver Hartkopp
2008-12-08 10:15 ` Peter Zijlstra [this message]
2008-12-08 11:00 ` Oliver Hartkopp
2008-12-08 15:25 ` Linus Torvalds
2008-12-09 13:32 ` Takashi Iwai
2008-12-09 8:07 ` Oliver Hartkopp
2008-12-09 8:12 ` Peter Zijlstra
2008-12-09 10:59 ` Ingo Molnar
2008-12-30 22:46 ` Oliver Hartkopp
2008-12-31 8:32 ` Oliver Hartkopp
2008-12-08 16:13 ` Peter Zijlstra
2008-12-08 16:15 ` Peter Zijlstra
2008-12-08 16:18 ` Ingo Molnar
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=1228731359.5778.18.camel@twins \
--to=peterz@infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=mingo@elte.hu \
--cc=oliver@hartkopp.net \
--cc=tglx@linutronix.de \
--cc=torvalds@linux-foundation.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox