All of lore.kernel.org
 help / color / mirror / Atom feed
From: Tony Lindgren <tony@atomide.com>
To: Jonathan Corbet <corbet@lwn.net>
Cc: linux-kernel@vger.kernel.org
Subject: Re: [PATCH] Dynamic tick for x86 version 050602-1
Date: Thu, 9 Jun 2005 21:18:42 -0700	[thread overview]
Message-ID: <20050610041842.GD18103@atomide.com> (raw)
In-Reply-To: <20050607203614.3932.qmail@lwn.net>

* Jonathan Corbet <corbet@lwn.net> [050607 13:36]:
> Tony Lindgren <tony@atomide.com> wrote:
> 
> > --- linux-dev.orig/arch/i386/kernel/irq.c	2005-06-01 17:51:36.000000000 -0700
> > +++ linux-dev/arch/i386/kernel/irq.c	2005-06-01 17:54:32.000000000 -0700
> > [...]
> > @@ -102,6 +103,12 @@ fastcall unsigned int do_IRQ(struct pt_r
> >  		);
> >  	} else
> >  #endif
> > +
> > +#ifdef CONFIG_NO_IDLE_HZ
> > +	if (dyn_tick->state & (DYN_TICK_ENABLED | DYN_TICK_SKIPPING) && irq != 0)
> > +		dyn_tick->interrupt(irq, NULL, regs);
> > +#endif
> > +
> >  		__do_IRQ(irq, regs);
> 
> Forgive me if I'm being obtuse (again...), but this hunk doesn't look
> like it would work well in the 4K stacks case.  When 4K stacks are being
> used, dyn_tick->interrupt() will only get called in the nested interrupt
> case, when the interrupt stack is already in use.  This change also
> pushes the non-assembly __do_IRQ() call out of the else branch, meaning
> that, when the switch is made to the interrupt stack (most of the time),
> __do_IRQ() will be called twice for the same interrupt.

Good catch as mentioned earlier :)

> It looks to me like you want to put your #ifdef chunk *after* the call
> to __do_IRQ(), unless you have some reason for needing it to happen
> before the regular interrupt handler is invoked.

Time needs to be updated before __do_IRQ() so interrupt handlers have
correct time.

Tony

  reply	other threads:[~2005-06-10  4:19 UTC|newest]

Thread overview: 32+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2005-06-02  1:36 [PATCH] Dynamic tick for x86 version 050602-1 Tony Lindgren
2005-06-02  1:54 ` Zwane Mwaikambo
2005-06-02  2:09   ` Tony Lindgren
2005-06-02  8:30 ` Christian Hesse
2005-06-02 17:42   ` [PATCH] Dynamic tick for x86 version 050602-2 Tony Lindgren
2005-06-02 20:03     ` Christian Hesse
2005-06-02 20:32       ` Tony Lindgren
2005-06-03  6:08         ` Christian Hesse
2005-06-03 17:39           ` Tony Lindgren
2005-06-04 12:51             ` Christian Hesse
2005-06-10  4:03               ` Tony Lindgren
2005-06-05  4:06       ` Bernard Blackham
2005-06-10  4:05         ` Tony Lindgren
2005-06-03 22:37     ` Pavel Machek
2005-06-03 22:47       ` Pavel Machek
2005-06-10  4:17       ` Tony Lindgren
2005-06-10  9:15         ` Pavel Machek
2005-06-10 15:17           ` Tony Lindgren
2005-06-10 22:15             ` [PATCH] Dynamic tick for x86 version 050610-1 Tony Lindgren
2005-06-18  3:34               ` hugang
2005-06-18  6:30                 ` Benjamin Herrenschmidt
2005-06-21  1:28                   ` Tony Lindgren
2005-06-21  1:49                     ` Benjamin Herrenschmidt
2005-06-21  2:21                       ` Tony Lindgren
2005-07-19  6:51                   ` hugang
2005-07-19 13:51                     ` Benjamin Herrenschmidt
2005-07-25 10:11                       ` Tony Lindgren
2005-06-11 17:59           ` [PATCH] Dynamic tick for x86 version 050602-2 Kyle Moffett
2005-06-07 20:36 ` [PATCH] Dynamic tick for x86 version 050602-1 Jonathan Corbet
2005-06-10  4:18   ` Tony Lindgren [this message]
2005-06-08 22:14 Pallipadi, Venkatesh
2005-06-09  1:40 ` Tony Lindgren

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=20050610041842.GD18103@atomide.com \
    --to=tony@atomide.com \
    --cc=corbet@lwn.net \
    --cc=linux-kernel@vger.kernel.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.