mirror of https://lore.kernel.org/lkml/
 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	[thread overview]
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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

Powered by JetHome