lkml.org 
[lkml]   [1997]   [Jul]   [1]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
Date
From
SubjectBug in write request flushing !!!

Hi all

I'm currently working on small extension to monitor kernel activities.
I noticed that write disk requests successfully reach to the device driver
request queue but if there isn't generated any read request from the time
the write requests was put into queue, they stay in the queue and device
driver isn't kicked to process them. On my machine I discovered that write
requests could stay in device request queue forever, until some read request
or sync is made - Ohhh, Ahhh. These write requests are made by bdflush and
the sys_bdflush syscall. There is missing the kick to the device driver.

Here is a one line patch which solves this bug for 2.0.30. Probably similar
patch should be applied to 2.1.43 too.


Please reply personally

with regards
Pavel Krauz <kra@elanor.cz>


--- fs/buffer.c.bak Tue Jul 1 15:29:16 1997
+++ fs/buffer.c Tue Jul 1 15:31:36 1997
@@ -1529,6 +1529,7 @@
bh->b_count--;
}
}
+ run_task_queue(&tq_disk);
#ifdef DEBUG
if (ncount) printk("sync_old_buffers: %d dirty buffers not on dirty list\n", ncount);
printk("Wrote %d/%d buffers\n", nwritten, ndirty);

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