All of lore.kernel.org
 help / color / mirror / Atom feed
From: corbet@lwn.net (Jonathan Corbet)
To: Tony Lindgren <tony@atomide.com>
Cc: linux-kernel@vger.kernel.org
Subject: Re: [PATCH] Dynamic tick for x86 version 050602-1
Date: Tue, 07 Jun 2005 14:36:14 -0600	[thread overview]
Message-ID: <20050607203614.3932.qmail@lwn.net> (raw)
In-Reply-To: Your message of "Wed, 01 Jun 2005 18:36:41 PDT." <20050602013641.GL21597@atomide.com>

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.

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.

What am I missing?

jon

Jonathan Corbet
Executive editor, LWN.net
corbet@lwn.net

  parent reply	other threads:[~2005-06-07 20:36 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 ` Jonathan Corbet [this message]
2005-06-10  4:18   ` [PATCH] Dynamic tick for x86 version 050602-1 Tony Lindgren
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=20050607203614.3932.qmail@lwn.net \
    --to=corbet@lwn.net \
    --cc=linux-kernel@vger.kernel.org \
    --cc=tony@atomide.com \
    /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.