From: Jens Axboe <axboe@suse.de>
To: Russell Cattelan <cattelan@thebarn.com>
Cc: linux-kernel@vger.kernel.org
Subject: Re: [PATCH] livelock in elevator scheduling
Date: Wed, 6 Dec 2000 00:01:08 +0100 [thread overview]
Message-ID: <20001206000108.F747@suse.de> (raw)
In-Reply-To: <200011210838.RAA27382@asami.proc.flab.fujitsu.co.jp> <20001121112836.B10007@suse.de> <200011211130.UAA27961@asami.proc.flab.fujitsu.co.jp> <20001121123608.F10007@suse.de> <3A2840AB.EE085CAA@thebarn.com> <20001202164234.B31217@suse.de> <3A2C472B.DBEA9E9@thebarn.com>
In-Reply-To: <3A2C472B.DBEA9E9@thebarn.com>; from cattelan@thebarn.com on Mon, Dec 04, 2000 at 07:38:52PM -0600
[-- Attachment #1: Type: text/plain, Size: 1360 bytes --]
On Mon, Dec 04 2000, Russell Cattelan wrote:
> I'm going to take a closer look at the scsi_back_merge_fn.
> This may have more to due with our/Chait's kiobuf modifications than
> anything else.
>
>
>
> XFS (dev: 8/20) mounting with KIOBUFIO
> Start mounting filesystem: sd(8,20)
> Ending clean XFS mount for filesystem: sd(8,20)
> kmem_alloc doing a vmalloc 262144 size & PAGE_SIZE 0 rval=0xe0a10000
> Unable to handle kernel NULL pointer dereference at virtual address
> 00000008
> printing eip:
> c019f8b5
> *pde = 00000000
>
> Entering kdb (current=0xc1910000, pid 5) on processor 1 Panic: Oops
> due to panic @ 0xc019f8b5
> eax = 0x00000002 ebx = 0x00000001 ecx = 0x00081478 edx = 0x00000000
> esi = 0xc1957da0 edi = 0xc1923ac8 esp = 0xc1911e94 eip = 0xc019f8b5
> ebp = 0xc1911e9c xss = 0x00000018 xcs = 0x00000010 eflags = 0x00010046
> xds = 0x00000018 xes = 0x00000018 origeax = 0xffffffff ®s = 0xc1911e60
> [1]kdb> bt
> EBP EIP Function(args)
> 0xc1911e9c 0x00000000c019f8b5 scsi_back_merge_fn_c+0x15 (0xc1923a98,
> 0xc1957da0, 0xcfb05780, 0x80)
> kernel .text 0xc0100000 0xc019f8a0
Ah, I see what it is now. The elevator is attempting to merge a buffer
head into a kio based request, poof. The attached diff should take
care of that in your tree.
--
* Jens Axboe <axboe@suse.de>
* SuSE Labs
[-- Attachment #2: xfs-elv-1 --]
[-- Type: text/plain, Size: 549 bytes --]
--- drivers/block/elevator.c~ Tue Dec 5 23:59:01 2000
+++ drivers/block/elevator.c Tue Dec 5 23:59:41 2000
@@ -39,6 +39,9 @@
while ((entry = entry->prev) != head) {
struct request *__rq = blkdev_entry_to_request(entry);
+ if (req->kiobuf)
+ continue;
+
/*
* simply "aging" of requests in queue
*/
@@ -105,6 +108,8 @@
while ((entry = entry->prev) != head) {
struct request *__rq = blkdev_entry_to_request(entry);
+ if (req->kiobuf)
+ continue;
if (__rq->cmd != rw)
continue;
if (__rq->rq_dev != bh->b_rdev)
next prev parent reply other threads:[~2000-12-05 23:32 UTC|newest]
Thread overview: 16+ messages / expand[flat|nested] mbox.gz Atom feed top
2000-11-21 8:38 [PATCH] livelock in elevator scheduling kumon
2000-11-21 10:28 ` Jens Axboe
2000-11-21 11:30 ` kumon
2000-11-21 11:36 ` Jens Axboe
2000-11-21 12:39 ` kumon
2000-11-21 13:01 ` Jens Axboe
2000-11-22 6:08 ` kumon
2000-12-02 0:22 ` Russell Cattelan
2000-12-02 15:42 ` Jens Axboe
2000-12-04 23:25 ` Russell Cattelan
2000-12-05 1:38 ` Russell Cattelan
2000-12-05 23:01 ` Jens Axboe [this message]
2000-12-06 0:53 ` Russell Cattelan
2000-11-22 10:59 ` kumon
2000-11-22 15:50 ` davej
[not found] <200011210828.RAA27311@asami.proc.flab.fujitsu.co.jp>
2000-11-21 15:12 ` Andrea Arcangeli
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=20001206000108.F747@suse.de \
--to=axboe@suse.de \
--cc=cattelan@thebarn.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