[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20091104131533.GM31511@one.firstfloor.org>
Date: Wed, 4 Nov 2009 14:15:33 +0100
From: Andi Kleen <andi@...stfloor.org>
To: "Michael S. Tsirkin" <mst@...hat.com>
Cc: Andi Kleen <andi@...stfloor.org>, netdev@...r.kernel.org,
virtualization@...ts.linux-foundation.org, kvm@...r.kernel.org,
linux-kernel@...r.kernel.org, mingo@...e.hu, linux-mm@...ck.org,
akpm@...ux-foundation.org
Subject: Re: [PATCHv7 3/3] vhost_net: a kernel-level virtio server
On Wed, Nov 04, 2009 at 03:08:28PM +0200, Michael S. Tsirkin wrote:
> On Wed, Nov 04, 2009 at 01:59:57PM +0100, Andi Kleen wrote:
> > > Fine?
> >
> > I cannot say -- are there paths that could drop the device beforehand?
>
> Do you mean drop the mm reference?
No the reference to the device, which owns the mm for you.
>
> > (as in do you hold a reference to it?)
>
> By design I think I always have a reference to mm before I use it.
>
> This works like this:
> ioctl SET_OWNER - calls get_task_mm, I think this gets a reference to mm
> ioctl SET_BACKEND - checks that SET_OWNER was run, starts virtqueue
> ioctl RESET_OWNER - stops virtqueues, drops the reference to mm
> file close - stops virtqueues, if we still have it then drops mm
>
> This is why I think I can call use_mm/unuse_mm while virtqueue is running,
> safely.
> Makes sense?
Do you protect against another thread doing RESET_OWNER in parallel while
RESET_OWNER runs?
-Andi
--
ak@...ux.intel.com -- Speaking for myself only.
--
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