From: Albert Cahalan <albert@users.sf.net>
To: Andrew Morton <akpm@osdl.org>
Cc: Albert Cahalan <albert@users.sourceforge.net>,
linux-yoann@ifrance.com,
linux-kernel mailing list <linux-kernel@vger.kernel.org>,
Andrew Morton <akpm@digeo.com>,
vortex@scyld.com, jgarzik@pobox.com
Subject: Re: another must-fix: major PS/2 mouse problem
Date: 24 Jul 2003 21:46:41 -0400 [thread overview]
Message-ID: <1059097601.1220.75.camel@cube> (raw)
In-Reply-To: <20030724103047.31e91a96.akpm@osdl.org>
On Thu, 2003-07-24 at 13:30, Andrew Morton wrote:
> Albert Cahalan <albert@users.sourceforge.net> wrote:
> > Using the lockmeter on a 2.5.75 kernel, I discovered
> > that boomerang_interrupt() grabs a spinlock for over
> > 1/4 second. No joke, 253 ms. Interrupts are off AFAIK.
>
> boomerang_interrupt() doesn't disable interrupts. Is the NIC sharing the
> mouse's IRQ line?
No.
CPU0
0: 746770 XT-PIC timer
1: 936 XT-PIC i8042
2: 0 XT-PIC cascade
4: 9 XT-PIC serial
5: 0 XT-PIC uhci-hcd, uhci-hcd
11: 2417 XT-PIC eth0
12: 60 XT-PIC i8042
14: 13844 XT-PIC ide0
15: 2 XT-PIC ide1
NMI: 0
LOC: 751552
ERR: 0
MIS: 0
> boomerang_interrupt() is only used by nasty old NICs and yes, I guess it is
> possible that something has gone wrong and is causing occasional long spins
> in there.
>
> But I am more suspecting that you're not really using boomerang_interrupt()
> at all, and that something has gone wrong with lockmeter. What sort of NIC
> are you using?
I hope you don't consider a 100 Mb/s PCI device to be
a nasty old NIC. It's not an NE2000 you know! I have this:
00:0d.0 Ethernet controller: 3Com Corporation 3c905C-TX/TX-M [Tornado] (rev 74)
Subsystem: 3Com Corporation 3C905C-TX Fast Etherlink for PC Management NIC
Flags: bus master, medium devsel, latency 32, IRQ 11
I/O ports at ec00 [size=128]
Memory at df001000 (32-bit, non-prefetchable) [size=128]
Expansion ROM at <unassigned> [disabled] [size=128K]
Capabilities: [dc] Power Management version 2
Without heavy net usage, boomerang_interrupt can take
as long as 1950 microseconds. That would be from mounting
an NFS filesystem and receiving broadcast packets.
I didn't have an opportunity to hit NFS hard today.
That's from rdtsc on a 1002-MHz Pentium III.
> Bear in mind that if some other device generates an interrupt while the CPU
> is running boomerang_interrupt(), lockmeter will count the time spent in
> that other device's interrupt as "time spent in boomerand_interrupt()".
> Which is very true, but it is not much help when one is trying to identify
> the source of the problem.
Do the Intel IRQ controller priority rules play a role here?
> Perhaps what you should do is to do an rdtsc on entry and exit of do_IRQ()
> and print stuff out when "long" periods of time in do_IRQ() are noticed.
I added code to the top and bottom of do_IRQ, as well as to
the top and bottom of boomerang_interrupt. The lockmeter was
compiled into the kernel but never enabled. I record the
minimum and maximum time in microseconds.
-------------------------------
IRQ num use min max
--- ------ -------- --- -------
0 746770 timer 40 103595
1 936 i8042 13 389773
2 0 cascade - -
3 - - - -
4 9 serial 28 56
5 0 uhci-hcd - -
6 - - 711 711
7 - - 25 25
8 - - - -
9 - - - -
10 - - - -
11 2417 eth0 87 1535331
12 60 i8042 18 102895
13 - - - -
14 13844 ide0 8 51944
15 2 ide1 7 11
NMI 0
LOC 751552
ERR 0
MIS 0
-------------------------------
next prev parent reply other threads:[~2003-07-25 1:41 UTC|newest]
Thread overview: 24+ messages / expand[flat|nested] mbox.gz Atom feed top
2003-06-01 1:46 another must-fix: major PS/2 mouse problem Albert Cahalan
2003-06-04 5:47 ` Yoann
[not found] ` <20030603232155.1488c02f.akpm@digeo.com>
2003-06-04 7:47 ` Vojtech Pavlik
2003-06-04 7:53 ` Andrew Morton
2003-06-04 8:00 ` Vojtech Pavlik
2003-06-04 8:14 ` Andrew Morton
2003-06-04 8:40 ` Vojtech Pavlik
2003-06-04 19:20 ` Yoann
2003-06-04 23:09 ` Albert Cahalan
[not found] ` <3EDCF47A.1060605@ifrance.com>
[not found] ` <1054681254.22103.3750.camel@cube>
[not found] ` <3EDD8850.9060808@ifrance.com>
2003-07-23 0:44 ` Albert Cahalan
2003-07-24 17:30 ` Andrew Morton
2003-07-25 1:46 ` Albert Cahalan [this message]
2003-07-26 3:19 ` Andrew Morton
2003-07-26 15:16 ` Zwane Mwaikambo
2003-07-29 2:55 ` Albert Cahalan
2003-07-29 3:14 ` Andrew Morton
2003-07-29 12:40 ` Albert Cahalan
2003-07-29 18:58 ` Andrew Morton
2003-07-29 19:36 ` Zwane Mwaikambo
2003-07-29 19:43 ` Chris Friesen
2003-07-30 5:08 ` Pavel Machek
2003-07-30 6:32 ` Andrew Morton
2003-07-30 12:29 ` Albert Cahalan
2003-07-30 19:18 Mikael Pettersson
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=1059097601.1220.75.camel@cube \
--to=albert@users.sf.net \
--cc=akpm@digeo.com \
--cc=akpm@osdl.org \
--cc=albert@users.sourceforge.net \
--cc=jgarzik@pobox.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-yoann@ifrance.com \
--cc=vortex@scyld.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.