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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).