Skip to contentSkip to conversation

CRASH 2.5.70

DISCUSSION Ian Molton 2 participants 3 messages May 28, 2003 – May 29, 2003 Block layer

lore
Share & tools
lore

Ian Molton

author
#0 lore raw

Hi.

Im getting a (pretty repeatable) hard lockup when I delete a LOT of files in rox-filer.

sometimes random processes die just prior to the lockup. (xmms died just prior to the last one)

there is no debug output at all.

other filesystem ops (eg. chmod/chown) dont seem to cause the lockups, just delete.

I dont overclock this box, and it ran 2.4.<n> stably for months.

AthlonXP1800 on an Asus A7M266 with 256MB DDR memory.

Signature · 5 lines
Spyros lair: http://www.mnementh.co.uk/
Do not meddle in the affairs of Dragons, for you are tasty and good with
ketchup.

Systems programmers keep it up longer.
author
#1 lore raw
Quoted 3 lines · On Wed, 28 May 2003 23:44:22 +0100 Ian Molton <[email protected]> wrote:

I dont overclock this box, and it ran 2.4.<n> stably for months.

AthlonXP1800 on an Asus A7M266 with 256MB DDR memory.

addendum: ext3 filesystem on WD 120GB disc with 8M cache.

Signature · 5 lines
Spyros lair: http://www.mnementh.co.uk/
Do not meddle in the affairs of Dragons, for you are tasty and good with
ketchup.

Systems programmers keep it up longer.
#2 lore raw
Quoted 8 lines · Ian Molton
Quoted 3 lines · On Wed, 28 May 2003 23:44:22 +0100 Ian Molton <[email protected]> wrote:

I dont overclock this box, and it ran 2.4.<n> stably for months.

AthlonXP1800 on an Asus A7M266 with 256MB DDR memory.

addendum: ext3 filesystem on WD 120GB disc with 8M cache.

Does this make any difference...?

block/deadline-iosched.c renamed from block/deadline-iosched.c~ +10 -1
@@ -121,6 +121,15 @@
 		__deadline_del_drq_hash(drq);
 }
 
+static void
+deadline_remove_merge_hints(request_queue_t *q, struct deadline_rq *drq)
+{
+	deadline_del_drq_hash(drq);
+
+	if (q->last_merge == &drq->request->queuelist)
+		q->last_merge = NULL;
+}
+
 static inline void
 deadline_add_drq_hash(struct deadline_data *dd, struct deadline_rq *drq)
 {
@@ -310,7 +319,7 @@
 		struct deadline_data *dd = q->elevator.elevator_data;
 
 		list_del_init(&drq->fifo);
-		deadline_del_drq_hash(drq);
+		deadline_remove_merge_hints(q, drq);
 		deadline_del_drq_rb(dd, drq);
 	}
 }
Signature · 1 line
Jens Axboe