* [BUG] heavy disk access sometimes freezes 2.5.73-mm[123]
@ 2003-07-03 9:05 Barry K. Nathan
2003-07-06 20:46 ` Barry K. Nathan
0 siblings, 1 reply; 9+ messages in thread
From: Barry K. Nathan @ 2003-07-03 9:05 UTC (permalink / raw)
To: linux-kernel
This is going to be a terribly vague bug report, of a bug that I can't
reproduce on demand (at least not yet). I'll see if I can bang on this
over the 4th of July weekend and create a reproducible scenario, but
until then, I want to at least get *something* in writing that other
people can see. So, here goes...
When I run 2.5.73-mm[123] on a Mandrake Cooker system here, it generally
runs fine. However, when I run "urpmi --auto-select" to upgrade the
packages to the latest versions, rpm tends to freeze up during
installation of one of the packages. This did not seem to happen with
2.5.70-mm9, which was the kernel I ran before 2.5.73-mm1.
(It doesn't seem to be happening with 2.5.74 either, although I think
it's really too soon to say for sure.)
ps shows a process (an rpm process, IIRC) stuck in the D state.
The most unusual aspect of this system is that it's using loopback root.
The root filesystem is ReiserFS, contained within a file on a FAT32
partition.
I'll try to make this happen in a more controlled environment soon...
-Barry K. Nathan <barryn@pobox.com>
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [BUG] heavy disk access sometimes freezes 2.5.73-mm[123]
2003-07-03 9:05 [BUG] heavy disk access sometimes freezes 2.5.73-mm[123] Barry K. Nathan
@ 2003-07-06 20:46 ` Barry K. Nathan
2003-07-07 2:27 ` Nick Piggin
0 siblings, 1 reply; 9+ messages in thread
From: Barry K. Nathan @ 2003-07-06 20:46 UTC (permalink / raw)
To: linux-kernel
On Thu, Jul 03, 2003 at 02:05:41AM -0700, Barry K. Nathan wrote:
> When I run 2.5.73-mm[123] on a Mandrake Cooker system here, it generally
> runs fine. However, when I run "urpmi --auto-select" to upgrade the
> packages to the latest versions, rpm tends to freeze up during
> installation of one of the packages. This did not seem to happen with
> 2.5.70-mm9, which was the kernel I ran before 2.5.73-mm1.
[snip]
I've figured things out a bit more and filed a Bugzilla report:
http://bugme.osdl.org/show_bug.cgi?id=877
-Barry K. Nathan <barryn@pobox.com>
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [BUG] heavy disk access sometimes freezes 2.5.73-mm[123]
2003-07-06 20:46 ` Barry K. Nathan
@ 2003-07-07 2:27 ` Nick Piggin
2003-07-07 2:37 ` Andrew Morton
0 siblings, 1 reply; 9+ messages in thread
From: Nick Piggin @ 2003-07-07 2:27 UTC (permalink / raw)
To: Barry K. Nathan; +Cc: linux-kernel, Andrew Morton
Hi Barry,
How repeatable are the freezes? Would you be able to get a new
kernel, and capture a sysrq-T trace once the system has frozen?
Then would you try booting with elevator=deadline and see if you
can get it to freeze?
Thanks
Nick
Barry K. Nathan wrote:
>On Thu, Jul 03, 2003 at 02:05:41AM -0700, Barry K. Nathan wrote:
>
>>When I run 2.5.73-mm[123] on a Mandrake Cooker system here, it generally
>>runs fine. However, when I run "urpmi --auto-select" to upgrade the
>>packages to the latest versions, rpm tends to freeze up during
>>installation of one of the packages. This did not seem to happen with
>>2.5.70-mm9, which was the kernel I ran before 2.5.73-mm1.
>>
>[snip]
>
>I've figured things out a bit more and filed a Bugzilla report:
>http://bugme.osdl.org/show_bug.cgi?id=877
>
>-Barry K. Nathan <barryn@pobox.com>
>-
>To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
>the body of a message to majordomo@vger.kernel.org
>More majordomo info at http://vger.kernel.org/majordomo-info.html
>Please read the FAQ at http://www.tux.org/lkml/
>
>
>
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [BUG] heavy disk access sometimes freezes 2.5.73-mm[123]
2003-07-07 2:27 ` Nick Piggin
@ 2003-07-07 2:37 ` Andrew Morton
2003-07-07 3:30 ` Barry K. Nathan
0 siblings, 1 reply; 9+ messages in thread
From: Andrew Morton @ 2003-07-07 2:37 UTC (permalink / raw)
To: Nick Piggin; +Cc: barryn, linux-kernel
Nick Piggin <piggin@cyberone.com.au> wrote:
>
> >I've figured things out a bit more and filed a Bugzilla report:
> >http://bugme.osdl.org/show_bug.cgi?id=877
Barry says the problem started with 2.5.73-mm1. There was a reiserfs patch
added in that kernel.
Does a `patch -R' of this fix it up?
fs/reiserfs/tail_conversion.c | 13 +++++++++++++
1 files changed, 13 insertions(+)
diff -puN fs/reiserfs/tail_conversion.c~reiserfs-unmapped-buffer-fix fs/reiserfs/tail_conversion.c
--- 25/fs/reiserfs/tail_conversion.c~reiserfs-unmapped-buffer-fix 2003-06-27 23:20:15.000000000 -0700
+++ 25-akpm/fs/reiserfs/tail_conversion.c 2003-06-27 23:20:15.000000000 -0700
@@ -143,6 +143,16 @@ void reiserfs_unmap_buffer(struct buffer
}
clear_buffer_dirty(bh) ;
lock_buffer(bh) ;
+ /* Remove the buffer from whatever list it belongs to. We are mostly
+ interested in removing it from per-sb j_dirty_buffers list, to avoid
+ BUG() on attempt to write not mapped buffer */
+ if ( !list_empty(&bh->b_assoc_buffers) && bh->b_page) {
+ struct inode *inode = bh->b_page->mapping->host;
+ struct reiserfs_journal *j = SB_JOURNAL(inode->i_sb);
+ spin_lock(&j->j_dirty_buffers_lock);
+ list_del_init(&bh->b_assoc_buffers);
+ spin_unlock(&j->j_dirty_buffers_lock);
+ }
clear_buffer_mapped(bh) ;
clear_buffer_req(bh) ;
clear_buffer_new(bh);
@@ -180,6 +190,9 @@ unmap_buffers(struct page *page, loff_t
}
bh = next ;
} while (bh != head) ;
+ if ( PAGE_SIZE == bh->b_size ) {
+ ClearPageDirty(page);
+ }
}
}
}
_
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [BUG] heavy disk access sometimes freezes 2.5.73-mm[123]
2003-07-07 2:37 ` Andrew Morton
@ 2003-07-07 3:30 ` Barry K. Nathan
2003-07-07 15:58 ` Thomas Schlichter
0 siblings, 1 reply; 9+ messages in thread
From: Barry K. Nathan @ 2003-07-07 3:30 UTC (permalink / raw)
To: Andrew Morton; +Cc: Nick Piggin, barryn, linux-kernel
On Sun, Jul 06, 2003 at 07:37:22PM -0700, Andrew Morton wrote:
> Nick Piggin <piggin@cyberone.com.au> wrote:
> >
> Barry says the problem started with 2.5.73-mm1. There was a reiserfs patch
> added in that kernel.
>
> Does a `patch -R' of this fix it up?
[patch snipped]
Yes, backing that patch out fixes it.
-Barry K. Nathan <barryn@pobox.com>
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [BUG] heavy disk access sometimes freezes 2.5.73-mm[123]
2003-07-07 3:30 ` Barry K. Nathan
@ 2003-07-07 15:58 ` Thomas Schlichter
2003-07-07 17:33 ` Chris Mason
0 siblings, 1 reply; 9+ messages in thread
From: Thomas Schlichter @ 2003-07-07 15:58 UTC (permalink / raw)
To: Barry K. Nathan, Andrew Morton; +Cc: Nick Piggin, linux-kernel
[-- Attachment #1: Type: text/plain, Size: 693 bytes --]
On Monday 07 July 2003 05:30, Barry K. Nathan wrote:
> On Sun, Jul 06, 2003 at 07:37:22PM -0700, Andrew Morton wrote:
> > Nick Piggin <piggin@cyberone.com.au> wrote:
> >
> > Barry says the problem started with 2.5.73-mm1. There was a reiserfs
> > patch added in that kernel.
> >
> > Does a `patch -R' of this fix it up?
>
> [patch snipped]
>
> Yes, backing that patch out fixes it.
I had similar problems with my reiserfs root FS. For me backing out only the
second chunk of the patch made it, too. I've attached the patch I used for
that. If someone sees something really bad I'm doing with this please write,
because I'm playing with my root FS... ;-)
Best regards
Thomas Schlichter
[-- Attachment #2: fix_Dstate.diff --]
[-- Type: text/x-diff, Size: 491 bytes --]
diff -u linux-2.5.74-mm2/fs/reiserfs/tail_conversion.c.orig linux-2.5.74-mm2/fs/reiserfs/tail_conversion.c
--- linux-2.5.74-mm2/fs/reiserfs/tail_conversion.c.orig 2003-06-23 09:26:10.000000000 -0700
+++ linux-2.5.74-mm2/fs/reiserfs/tail_conversion.c 2003-06-23 09:26:10.000000000 -0700
@@ -190,9 +190,6 @@ unmap_buffers(struct page *page, loff_t
}
bh = next ;
} while (bh != head) ;
- if ( PAGE_SIZE == bh->b_size ) {
- ClearPageDirty(page);
- }
}
}
}
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [BUG] heavy disk access sometimes freezes 2.5.73-mm[123]
2003-07-07 15:58 ` Thomas Schlichter
@ 2003-07-07 17:33 ` Chris Mason
2003-07-07 19:18 ` Andrew Morton
0 siblings, 1 reply; 9+ messages in thread
From: Chris Mason @ 2003-07-07 17:33 UTC (permalink / raw)
To: Thomas Schlichter, green
Cc: Barry K. Nathan, Andrew Morton, Nick Piggin, linux-kernel
On Mon, 2003-07-07 at 11:58, Thomas Schlichter wrote:
> On Monday 07 July 2003 05:30, Barry K. Nathan wrote:
> > On Sun, Jul 06, 2003 at 07:37:22PM -0700, Andrew Morton wrote:
> > > Nick Piggin <piggin@cyberone.com.au> wrote:
> > >
> > > Barry says the problem started with 2.5.73-mm1. There was a reiserfs
> > > patch added in that kernel.
> > >
> > > Does a `patch -R' of this fix it up?
> >
> > [patch snipped]
> >
> > Yes, backing that patch out fixes it.
>
> I had similar problems with my reiserfs root FS. For me backing out only the
> second chunk of the patch made it, too. I've attached the patch I used for
> that. If someone sees something really bad I'm doing with this please write,
> because I'm playing with my root FS... ;-)
> diff -u linux-2.5.74-mm2/fs/reiserfs/tail_conversion.c.orig linux-2.5.74-mm2/fs/reiserfs/tail_conversion.c
> --- linux-2.5.74-mm2/fs/reiserfs/tail_conversion.c.orig 2003-06-23 09:26:10.000000000 -0700
> +++ linux-2.5.74-mm2/fs/reiserfs/tail_conversion.c 2003-06-23 09:26:10.000000000 -0700
> @@ -190,9 +190,6 @@ unmap_buffers(struct page *page, loff_t
> }
> bh = next ;
> } while (bh != head) ;
> - if ( PAGE_SIZE == bh->b_size ) {
> - ClearPageDirty(page);
> - }
> }
> }
> }
Heh, you read my mind. It makes more sense for this hunk to be causing
problems than the first one. Still we should be allowed to clear the
dirty bit since we've cleaned all the buffers on the page.
-chris
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [BUG] heavy disk access sometimes freezes 2.5.73-mm[123]
2003-07-07 17:33 ` Chris Mason
@ 2003-07-07 19:18 ` Andrew Morton
2003-07-07 23:47 ` Barry K. Nathan
0 siblings, 1 reply; 9+ messages in thread
From: Andrew Morton @ 2003-07-07 19:18 UTC (permalink / raw)
To: Chris Mason; +Cc: schlicht, green, barryn, piggin, linux-kernel
Chris Mason <mason@suse.com> wrote:
>
> > diff -u linux-2.5.74-mm2/fs/reiserfs/tail_conversion.c.orig linux-2.5.74-mm2/fs/reiserfs/tail_conversion.c
> > --- linux-2.5.74-mm2/fs/reiserfs/tail_conversion.c.orig 2003-06-23 09:26:10.000000000 -0700
> > +++ linux-2.5.74-mm2/fs/reiserfs/tail_conversion.c 2003-06-23 09:26:10.000000000 -0700
> > @@ -190,9 +190,6 @@ unmap_buffers(struct page *page, loff_t
> > }
> > bh = next ;
> > } while (bh != head) ;
> > - if ( PAGE_SIZE == bh->b_size ) {
> > - ClearPageDirty(page);
> > - }
> > }
> > }
> > }
>
> Heh, you read my mind. It makes more sense for this hunk to be causing
> problems than the first one. Still we should be allowed to clear the
> dirty bit since we've cleaned all the buffers on the page.
But we need to tell the VFS that the page was cleaned.
Could someone please make that clear_page_dirty() and retest?
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [BUG] heavy disk access sometimes freezes 2.5.73-mm[123]
2003-07-07 19:18 ` Andrew Morton
@ 2003-07-07 23:47 ` Barry K. Nathan
0 siblings, 0 replies; 9+ messages in thread
From: Barry K. Nathan @ 2003-07-07 23:47 UTC (permalink / raw)
To: Andrew Morton; +Cc: Chris Mason, schlicht, green, barryn, piggin, linux-kernel
On Mon, Jul 07, 2003 at 12:18:59PM -0700, Andrew Morton wrote:
> But we need to tell the VFS that the page was cleaned.
>
> Could someone please make that clear_page_dirty() and retest?
Ok, I just did that -- indeed, that appears to fix it. Beneath my
e-mail signature is the fix, turned into a patch.
-Barry K. Nathan <barryn@pobox.com>
--- 2.5.74-bk2/fs/reiserfs/tail_conversion.c 2003-07-03 01:13:37.000000000 -0700
+++ 2.5.74-bk2-iserv/fs/reiserfs/tail_conversion.c 2003-07-07 16:36:01.000000000 -0700
@@ -191,7 +191,7 @@
bh = next ;
} while (bh != head) ;
if ( PAGE_SIZE == bh->b_size ) {
- ClearPageDirty(page);
+ clear_page_dirty(page);
}
}
}
^ permalink raw reply [flat|nested] 9+ messages in thread
end of thread, other threads:[~2003-07-07 23:33 UTC | newest]
Thread overview: 9+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2003-07-03 9:05 [BUG] heavy disk access sometimes freezes 2.5.73-mm[123] Barry K. Nathan
2003-07-06 20:46 ` Barry K. Nathan
2003-07-07 2:27 ` Nick Piggin
2003-07-07 2:37 ` Andrew Morton
2003-07-07 3:30 ` Barry K. Nathan
2003-07-07 15:58 ` Thomas Schlichter
2003-07-07 17:33 ` Chris Mason
2003-07-07 19:18 ` Andrew Morton
2003-07-07 23:47 ` Barry K. Nathan
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).