Re: 2.4 SRMMU bug revisited

Tomas Szepe (szepe@pinerecords.com)
Wed, 29 May 2002 23:42:12 +0200


> --- 2.4.19-pre4/kernel/fork.c Thu Mar 28 19:49:36 2002
> +++ tortoise-19-pre4/kernel/fork.c Sun Apr 21 22:01:18 2002
> @@ -336,6 +336,9 @@
> if (!mm_init(mm))
> goto fail_nomem;
>
> + if (init_new_context(tsk,mm))
> + goto free_pt;
> +
> down_write(&oldmm->mmap_sem);
> retval = dup_mmap(mm);
> up_write(&oldmm->mmap_sem);
> @@ -347,9 +350,6 @@
> * child gets a private LDT (if there was an LDT in the parent)
> */
> copy_segments(tsk, mm);
> -
> - if (init_new_context(tsk,mm))
> - goto free_pt;
>
> good_mm:
> tsk->mm = mm;

A big, big thankyou to Colin.

This patch indeed makes difference. I stressed -pre9 as much as I could
(simultaneous reading from raid devices - ext3/reiserfs/ext2, NFS traffic,
sendmail+apache fork storms... you name it, I ran it, all at the same time)
and the kernel lives. Processes still get killed by VM much earlier than
they should (100+ MB RAM free), but that's not critical.

A nice conclusion to this thread, isn't it? :)

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