[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20090617162521.GE3089@redhat.com>
Date: Wed, 17 Jun 2009 19:25:21 +0300
From: "Michael S. Tsirkin" <mst@...hat.com>
To: Gregory Haskins <ghaskins@...ell.com>
Cc: kvm@...r.kernel.org, linux-kernel@...r.kernel.org, avi@...hat.com,
davidel@...ilserver.org, paulmck@...ux.vnet.ibm.com, mingo@...e.hu
Subject: Re: [KVM-RFC PATCH 1/2] eventfd: add an explicit srcu based
notifier interface
On Wed, Jun 17, 2009 at 11:02:06AM -0400, Gregory Haskins wrote:
> Michael S. Tsirkin wrote:
> > On Tue, Jun 16, 2009 at 02:09:38PM -0400, Gregory Haskins wrote:
> >
> >>> What do you mean by copy_to_user(other->mm) here? If you are going to switch
> >>> to another mm, then I think current->mm must be valid (I think it's not enough
> >>> that you can sleep). So preemptible() might not be enough.
> >>>
> >>>
> >> I dont currently use switch_mm, if that is what you mean. I save the
> >> task_struct into the appropriate context so current->mm doesn't matter
> >> to me. I never use it. All I need (afaik) is to acquire the proper
> >> mutex first. I am not an MM expert, so perhaps I have this wrong but it
> >> does appear to work properly even from kthread context.
> >>
> >> -Greg
> >>
> >>
> >>
> >
> > I think I saw get_user_pages + memcpy in your patch. Yes, that works
> > without switching contexts but it's slower than copy to user if you are
> > in the right context, and AFAIK it's slower than get_user_pages_fast.
> >
> >
> Yeah, understood. It will definitely be interesting to try that
> optimization with switch_mm that you suggested.
BTW, I'm kind of confused - in your patch you do get_task_struct: does this
guarantee that mm is not going aways?
> On that front, would "if (p == current)" still work even if we don't
> have the "signal_task()" hint?
>
Donnu.
--
MST
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists