Re: [PATCH]: Brown paper bag in fs/file.c?

From: David S. Miller
Date: Wed Sep 14 2005 - 15:30:04 EST


From: Dipankar Sarma <dipankar@xxxxxxxxxx>
Date: Thu, 15 Sep 2005 01:45:50 +0530

> Are you running with preemption enabled ? If so, fyi, I had sent
> out a patch earlier that fixes locking for preemption.
> Also, what triggers this in your machine ? I can try to reproduce
> this albeit on a non-sparc64 box.

No PREEMPT enabled.

I believe this bug has been around since before your RCU
changes, I've been seeing it for about half a year.

My test case is, on a uniprocessor with 1GB of ram, run the
following in parallel:

1) In one window, do a plain kernel build of 2.6.x

2) In another window, in a temporary directory, run this shell code:

while [ 1 ]
do
rm -rf .git *
cp -a ../linux-2.6/.git .
git-checkout-cache -a
git-update-cache --refresh
echo "Finished one pass..."
done

Adjust the path to a vanilla 2.6.x ".git" directory in #2 as needed.

Sometimes this can trigger in less than a minute. Other times it
takes 5 or 6 minutes, but other than this variance it is rather
reliable.

I think the key is to make sure you don't have any more than 1GB of
ram for this on a 64-bit box, so that there is sufficient memory
pressure from all of the ext3 writebacks and other fs activity in
order to shrink the file table SLABs and thus liberate the pages.
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/