Re: [PATCH RFC] use of activate_mm in fs/aio.c:use_mm()?

From: Andrew Morton
Date: Fri Dec 08 2006 - 18:46:28 EST


On Wed, 06 Dec 2006 17:36:02 -0800
Jeremy Fitzhardinge <jeremy@xxxxxxxx> wrote:

> Jeremy Fitzhardinge wrote:
> > I'm wondering if activate_mm() is the right thing to be using in
> > use_mm(); shouldn't this be switch_mm()?
> >
> > On normal x86, they're synonymous, but for the Xen patches I'm adding a
> > hook which assumes that activate_mm is only used the first time a new mm
> > is used after creation (I have another hook for dealing with dup_mm). I
> > think this use of activate_mm() is the only place where it could be used
> > a second time on an mm.
> >
> > From a quick look at the other architectures I think this is OK (most
> > simply implement one in terms of the other), but some are doing some
> > subtly different stuff between the two.
> >
> > Thanks,
> > J
> >
> >
> >
> Er, lets try that again:
>
> diff -r 455b71ed4525 fs/aio.c
> --- a/fs/aio.c Wed Dec 06 13:16:42 2006 -0800
> +++ b/fs/aio.c Wed Dec 06 17:17:43 2006 -0800
> @@ -588,7 +588,7 @@ static void use_mm(struct mm_struct *mm)
> * Note that on UML this *requires* PF_BORROWED_MM to be set, otherwise
> * it won't work. Update it accordingly if you change it here
> */
> - activate_mm(active_mm, mm);
> + switch_mm(active_mm, mm, tsk);
> task_unlock(tsk);
>
> mmdrop(active_mm);

That to me sounds like a reasonable description of the difference between
activate_mm() and switch_mm(). And the change appears reasonable as well.

But it is a change which the architecture maintainers would need to have a
think about, please.

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