Re: [2.5.20-BUG] 3c59x + highmem + acpi + nfs -> kernel panic

Trond Myklebust (trond.myklebust@fys.uio.no)
Tue, 4 Jun 2002 13:39:32 +0200


On Tuesday 04 June 2002 08:37, Andrew Morton wrote:

> The problem was that pagecache data on the NFS client was showing
> incorrect chunks of several k's of zeroes. No particuar alignment,
> either. And it only happened when the machine is under page-replacement
> pressure. And only when the machine has highmem.
>
> It'd be nice to understand _why_ it fixed it. Do we know why NFS
> was losing data when using KM_USER0? As far as I can see the new
> and old code look pretty darn similar. Interested.

Anton's Oops showed that kmap_atomic(page, KM_USER0) is sometimes failing to
return an address, something that we cannot accept in a networking bottom
half (performance and reliability would suck if we had to delay and retry).
That indicates that something is calling kmap_atomic() and then getting
interrupted before it can call kunmap_atomic().

in the *_highpage() helper routines in include/linux/highmem.h. These
routines are used in various places, but are usually not protected against
(soft and hard) interrupts or kernel pre-emption. Could it be that the latter
is what is causing trouble?

Cheers,
Trond
-
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/