lkml.org 
[lkml]   [2004]   [Jan]   [16]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
SubjectRe: Linux 2.4.25-pre5
From
Date
On Thu, 2004-01-15 at 21:23 -0200, Marcelo Tosatti wrote:
> On Thu, 15 Jan 2004, David S. Miller wrote:
>
> > On Thu, 15 Jan 2004 18:19:40 -0200 (BRST)
> > Marcelo Tosatti <marcelo.tosatti@cyclades.com> wrote:
> >
> > > Here is -pre5.
> >
> > If this is anything like the current 2.4.x BK tree, people will need this
> > in order to get a successful build:
> >
> > --- Makefile.~1~ Thu Jan 15 12:13:10 2004
> > +++ Makefile Thu Jan 15 12:13:12 2004
> > @@ -1,6 +1,6 @@
> > VERSION = 2
> > PATCHLEVEL = 4
> > -UBLEVEL = 25
> > +SUBLEVEL = 25
> > EXTRAVERSION = -pre5
> >
> > KERNELRELEASE=$(VERSION).$(PATCHLEVEL).$(SUBLEVEL)$(EXTRAVERSION)
>
> I forgot to "bk push" (I never forget, you know).
>
> Sir Woodhouse,
>
> I just managed to crash a SMP box running dbench.
>
> I guess this is related to your deadlock fix?

Oh bugger. It's all very well observing that it's OK to leave ourselves
on the wait queue because the inode is about to be freed..... but the
wait queue doesn't get reinitialised again when the inode is allocated
again from the same slab page. Someone _else_ inherits the stale wait
queue.

I hereby declare myself to be Today's Official Mr Fuck All Good.

===== fs/inode.c 1.48 vs edited =====
--- 1.48/fs/inode.c Wed Jan 14 20:51:18 2004
+++ edited/fs/inode.c Fri Jan 16 07:43:14 2004
@@ -96,6 +96,7 @@
if (inode) {
struct address_space * const mapping = &inode->i_data;

+ init_waitqueue_head(&inode->i_wait);
inode->i_sb = sb;
inode->i_dev = sb->s_dev;
inode->i_blkbits = sb->s_blocksize_bits;
@@ -147,7 +148,6 @@

void __inode_init_once(struct inode *inode)
{
- init_waitqueue_head(&inode->i_wait);
INIT_LIST_HEAD(&inode->i_hash);
INIT_LIST_HEAD(&inode->i_data.clean_pages);
INIT_LIST_HEAD(&inode->i_data.dirty_pages);

--
dwmw2


-
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/

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