Re: Bad SMP race in getblk()

From: Chris Meadors (clubneon@hereintown.net)
Date: Wed Aug 02 2000 - 14:47:26 EST


If one were seeing this race what would the effect be?

I'm seeing some strange stuff on my SMP machine when compiling large things
(like glibc). For instance the make will stop with an error that a file isn't
there, but if I just type make again it progresses past this point.

But I've also had make segfault in part of the build, running make again will
pass that point just fine.

And worse, I've seen the machine oops (from the NMI watchdog) when trying to
build glibc. Does anyone have any tip on getting an oops logged to disk so I
don't have to copy them by hand?

I dunno, this probally wasn't the problem. I'm just grasping at straws until I
can get something a little more substantial.

I haven't ruled out hardware problems yet (I just powered this server up this
week). Where can I get that VA program that catches computers on fire? I can't
even remember the name of it. I did run memtest86 on the machine and it passed
those tests.

-Chris

On Wed, 2 Aug 2000, Andrea Arcangeli wrote:

> On Wed, 2 Aug 2000, Mark Hemment wrote:
>
> > getblk() (fs/buffer.c) can now be called without the BLK being held.
> > After searching the hash table (get_hash_table()), a free buffer-head
> >can be claimed off the freelist and inserted into the hash-table without
> >re-checking the hash-table (the hash-table lock is dropped between the
> >original search and new insert). This gives serious problems on SMP.
>
> You couldn't optimize it with the cookie right? 8)
>
> That was well known and fixed (I just confirmed the patch floating around
> since some month to be correct and necesary). I guess it still apply
> cleanly. Linus I think it's good idea to include it:

-- 
Two penguins were walking on an iceburg.  The first one said to the
second, "you look like you are wearing a tuxedo."  The second one said,
"I might be..."
                                              --David Lynch, Twin Peaks

- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.rutgers.edu Please read the FAQ at http://www.tux.org/lkml/



This archive was generated by hypermail 2b29 : Mon Aug 07 2000 - 21:00:09 EST