lkml.org 
[lkml]   [2000]   [Mar]   [16]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
Subjectrun-away __cli() function call in do_rw_disk()?

I did some interrupt latency tests for linux-2.2.12, and notice an
unusal
__cli() in do_rw_disk(). See part of the related results below.

Function do_rw_disk() calls __cli() and disables interrupts. It never
enables it again within the function. As the results show, interrupts
were opened later in various places.

Interrupts were typically blocked for around 150 us on a PentinumII 266
machine, which is quite long, especially for slower and/or embedded
systems.

I am really not an expert on IDE driver. Can someone confirm if this
is a bug or not? In either case, is there a fix to shorten the
interrupt
blocking time?

The file is drivers/block/ide-disk.c. Line is 390.

Verified that the code is still there in 2.3.35.

Thanks.

Jun

log entry : 3
(It starts in do_rw_disk(), and ends in schedule(). The likely situation
is
that do_rw_disk() is called in a bottom half which executes at the
beginning of schedule(). This looks like a run-away cli() bug to me.)
blockingTime : 39665 (149 us)
startFileName : ide-disk.c
startFileLine : 390
startCount : 2857903113
endFileName : sched.c
endFileLine : 785
endCount : 2857942778

log entry : 4
(starts in do_rw_disk(), and ends in add_request(). Same run-away
cli()?)
blockingTime : 38631 (145 us)
startFileName : ide-disk.c
startFileLine : 390
startCount : 3527929548
endFileName : ll_rw_blk.c
endFileLine : 383
endCount : 3527968179

log entry : 5
(starts in do_rw_disk(), and ends in do_bottom_half(). Same run-away
cli()?)
blockingTime : 39388 (148 us)
startFileName : ide-disk.c
startFileLine : 390
startCount : 1086162364
endFileName : softirq.c
endFileLine : 63
endCount : 1086201752

log entry : 6
(starts in do_rw_disk(), and ends in unplug_device(). Same run-away
cli()?)
blockingTime : 39582 (148 us)
startFileName : ide-disk.c
startFileLine : 390
startCount : 4251397310
endFileName : ll_rw_blk.c
endFileLine : 172
endCount : 4251436892

l

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu
Please read the FAQ at http://www.tux.org/lkml/

\
 
 \ /
  Last update: 2005-03-22 13:57    [W:0.029 / U:0.016 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site