Re: 2.4.22pre6aa1

Andrea Arcangeli
2003-07-25T05:13:20Z

On Wed, Jul 23, 2003 at 03:21:15PM +0400, Sergey S. Kostyliov wrote:
> Hello Andrea,
>
> This is during `swapoff -a`, on a heavily loaded box:
>
> ksymoops 2.4.9 on i686 2.4.22-pre6aa1. Options used
> -V (default)
> -k /proc/ksyms (default)
> -l /proc/modules (default)
> -o /lib/modules/2.4.22-pre6aa1/ (default)
> -m /usr/src/linux/System.map (default)
>
> Warning: You did not tell me where to find symbol information. I will
> assume that the log matches the kernel and modules that are running
> right now and I'll use the default options above for symbol resolution.
> If the current kernel and/or modules do not match the log, you can get
> more accurate output by telling me the kernel version and where to find
> map, modules, ksyms etc. ksymoops -h explains the options.
>
> Error (regular_file): read_system_map stat /usr/src/linux/System.map failed
> ksymoops: No such file or directory
> kernel BUG at shmem.c:490!

hmm, 2.4.22pre6aa1 was the first 2.4 largepages port to the >=22pre
shmfs backport from 2.5. It could be a bug in 2.5, or a bug present only
in the backport of the 2.5 code to 22pre, or even a bug only present in
-aa due the largepage patch ported on top of the backport included in
22pre. I'll have a closer look at it tomorrow. The place where it
crashed is:

BUG_ON(inode->i_blocks);

it might be only a minor accounting issue. It needs some auditing.

I'm afraid you're the first one testing the shmfs backport in 22pre +
the largepage support patch in my tree with a big app doing swapoff at
the same time.

Are you using bigpages btw?

thank you very much for the feedback,

Andrea

PS. shall this give us relevant problems in the debugging/auditing, I'll
just give you a patch to backout the backport and go back to the shmfs
code in 2.4.21rc8aa1 that is running rock solid in production with
largepages (I doubt you need the loop device on top of shmfs anyways). I
prefer not to spend much time on new 2.4 features.