All of lore.kernel.org
 help / color / mirror / Atom feed
From: Andi Kleen <ak@muc.de>
To: Andrew Morton <akpm@osdl.org>
Cc: john stultz <johnstul@us.ibm.com>,
	Rafal.Wysocki@fuw.edu.pl, linux-kernel@vger.kernel.org
Subject: Re: 2.6.16-mm1
Date: 24 Mar 2006 04:47:38 +0100
Date: Fri, 24 Mar 2006 04:47:38 +0100	[thread overview]
Message-ID: <20060324034738.GA24453@muc.de> (raw)
In-Reply-To: <20060323172805.00926c13.akpm@osdl.org>

> The above patch records the most-recent caller of local_irq_disable() in a
> global variable, then prints that out in the lost-ticks handler.  But how
> do we know that the global didn't get overwritten between the most-recent
> local_irq_enable() and the call to handle_lost_ticks()?

Because the overdue timer interrupt will trigger one instruction later.

> 
> I guess the code assumes that the local_irq_enable() will result in
> insta-entry into the timer IRQ handler.  Which is probably good enough, as
> interrupts from other sources won't be pending most times.

Yes. Actually irq 0 has higher priority than most interrupts,
but not all.


> 
> So why did we lose three ticks after __do_sortirq()'s local_irq_disable()? 
> Dunno.

It's a mistery. I put the patches in to trace a pattern.

But you're right they should at least be using per cpu variables
instead of globals which can be corrupted by other CPUs.

> (Is there any point in do_softirq() doing local_irq_save() instead of
> local_irq_disable()?  __do_softirq() will unconditionally enable anyway..)

The interrupt handling in there is quite messy and has some other
wards too. Could probably take a good cleanup. Problem is that
it will need a lot of editing of architectures to do properly.

-Andi

  reply	other threads:[~2006-03-24  3:47 UTC|newest]

Thread overview: 68+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2006-03-23  9:40 2.6.16-mm1 Andrew Morton
     [not found] ` <6bffcb0e0603230631r5e6cc3d3p@mail.gmail.com>
2006-03-23 14:49   ` 2.6.16-mm1 Russell King
2006-03-23 16:11     ` 2.6.16-mm1 Michal Piotrowski
2006-03-24 11:28     ` 2.6.16-mm1 Roman Zippel
2006-03-24 19:59       ` 2.6.16-mm1 Russell King
2006-03-28  9:18         ` 2.6.16-mm1 Roman Zippel
2006-03-23 17:58 ` 2.6.16-mm1 Dave Jones
2006-03-23 21:37   ` 2.6.16-mm1 Andrew Morton
2006-03-24 12:09     ` [PATCH] use select for GART_IOMMU to enable AGP Roman Zippel
2006-03-24 12:13       ` Andi Kleen
2006-03-24 12:45         ` Roman Zippel
2006-03-24 12:51           ` Andi Kleen
2006-03-24 13:49             ` Roman Zippel
2006-03-23 21:07 ` 2.6.16-mm1 J.A. Magallon
2006-03-23 21:11   ` [PATCH] Make __get_cpu_var use raw_smp_processor_id() J.A. Magallon
2006-03-23 22:35     ` David S. Miller
2006-03-23 21:12   ` [PATCH] Use const* parameters in mm.h J.A. Magallon
2006-03-24 21:35     ` Andrew Morton
2006-03-23 21:13   ` [PATCH] Lower e100 latency J.A. Magallon
2006-03-23 22:33     ` Jeff Garzik
2006-03-27 20:30       ` J.A. Magallon
2006-03-27 20:57         ` Jesse Brandeburg
2006-03-23 21:15   ` [PATCH] Dont build altivec raid on x86 J.A. Magallon
2006-03-23 21:22     ` Brian Gerst
2006-03-27 20:28       ` J.A. Magallon
2006-03-23 22:51 ` 2.6.16-mm1 Rafael J. Wysocki
2006-03-23 23:42 ` 2.6.16-mm1: CONFIG_HOTPLUG_CPU compile error Adrian Bunk
2006-03-23 23:53   ` Ashok Raj
2006-03-23 23:55 ` [RFC: -mm patch] remove drm_{alloc,free}_pages Adrian Bunk
2006-03-23 23:57 ` [-mm patch] drivers/video/intelfb/intelfbhw.c: make struct plls static Adrian Bunk
2006-03-24  0:00 ` [-mm patch] make drivers/char/ipmi/ipmi_msghandler.c:ipmi_find_bmc_guid() static Adrian Bunk
2006-03-24  0:02 ` [-mm patch] drivers/char/ipmi/ipmi_si_intf.c: make a struct static Adrian Bunk
     [not found] ` <200603232317.50245.Rafal.Wysocki@fuw.edu.pl>
2006-03-24  0:04   ` 2.6.16-mm1 Andrew Morton
2006-03-24  0:17     ` 2.6.16-mm1 john stultz
2006-03-24  0:38     ` 2.6.16-mm1 Rafael J. Wysocki
2006-03-24  0:49     ` 2.6.16-mm1 john stultz
2006-03-24  1:04       ` 2.6.16-mm1 Rafael J. Wysocki
2006-03-24  1:12         ` 2.6.16-mm1 john stultz
2006-03-24  1:23           ` 2.6.16-mm1 Rafael J. Wysocki
2006-03-24  1:28       ` 2.6.16-mm1 Andrew Morton
2006-03-24  3:47         ` Andi Kleen [this message]
2006-03-24  2:17 ` 2.6.16-mm1 Brandon Low
2006-03-24  2:24   ` 2.6.16-mm1 Andrew Morton
2006-03-24  2:45     ` 2.6.16-mm1 Brandon Low
2006-03-24  2:58       ` 2.6.16-mm1 Andrew Morton
2006-03-24  3:21         ` 2.6.16-mm1 Brandon Low
2006-03-24 11:39           ` 2.6.16-mm1 Andrew Morton
2006-03-24 12:58             ` 2.6.16-mm1 Brandon Low
2006-03-24 18:33               ` 2.6.16-mm1 Andrew Morton
2006-03-24 18:37                 ` 2.6.16-mm1 Jens Axboe
2006-03-24 19:15                   ` 2.6.16-mm1 Brandon Low
2006-03-27 10:58                     ` 2.6.16-mm1 Jens Axboe
2006-03-27 16:24                       ` 2.6.16-mm1 OGAWA Hirofumi
2006-03-27 17:15                         ` 2.6.16-mm1 Jens Axboe
2006-03-24 11:56 ` 2.6.16-mm1 grub oddness Mike Galbraith
2006-03-24 18:25   ` Andrew Morton
2006-03-25  4:55     ` Mike Galbraith
2006-03-25  4:53       ` Andrew Morton
2006-03-25  5:14         ` Mike Galbraith
2006-03-25 12:44           ` Mike Galbraith
2006-03-26  9:10             ` Mike Galbraith
2006-03-26 16:01               ` Mike Galbraith
2006-03-26 16:47                 ` Mike Galbraith
2006-03-26 12:25 ` [-mm patch] fix nfs PROC_FS=n compile error Adrian Bunk
2006-03-26 12:25 ` [-mm patch] BLK_DEV_IO_TRACE Kconfig fixes Adrian Bunk
2006-03-26 12:27   ` Jens Axboe
2006-03-26 12:33     ` Adrian Bunk
2006-03-26 12:37       ` Jens Axboe

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=20060324034738.GA24453@muc.de \
    --to=ak@muc.de \
    --cc=Rafal.Wysocki@fuw.edu.pl \
    --cc=akpm@osdl.org \
    --cc=johnstul@us.ibm.com \
    --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.