From: Gregory Haskins <gregory.haskins@gmail.com>
To: "Michael S. Tsirkin" <mst@redhat.com>
Cc: "Ira W. Snyder" <iws@ovro.caltech.edu>,
netdev@vger.kernel.org,
virtualization@lists.linux-foundation.org, kvm@vger.kernel.org,
linux-kernel@vger.kernel.org, mingo@elte.hu, linux-mm@kvack.org,
akpm@linux-foundation.org, hpa@zytor.com,
Rusty Russell <rusty@rustcorp.com.au>,
s.hetze@linux-ag.com
Subject: Re: [PATCHv5 3/3] vhost_net: a kernel-level virtio server
Date: Mon, 14 Sep 2009 15:28:39 -0400 [thread overview]
Message-ID: <4AAE9967.9060406@gmail.com> (raw)
In-Reply-To: <20090914165320.GA3851@redhat.com>
[-- Attachment #1: Type: text/plain, Size: 2169 bytes --]
Michael S. Tsirkin wrote:
> On Mon, Sep 14, 2009 at 12:08:55PM -0400, Gregory Haskins wrote:
>> Michael S. Tsirkin wrote:
>>> On Fri, Sep 11, 2009 at 12:00:21PM -0400, Gregory Haskins wrote:
>>>> FWIW: VBUS handles this situation via the "memctx" abstraction. IOW,
>>>> the memory is not assumed to be a userspace address. Rather, it is a
>>>> memctx-specific address, which can be userspace, or any other type
>>>> (including hardware, dma-engine, etc). As long as the memctx knows how
>>>> to translate it, it will work.
>>> How would permissions be handled?
>> Same as anything else, really. Read on for details.
>>
>>> it's easy to allow an app to pass in virtual addresses in its own address space.
>> Agreed, and this is what I do.
>>
>> The guest always passes its own physical addresses (using things like
>> __pa() in linux). This address passed is memctx specific, but generally
>> would fall into the category of "virtual-addresses" from the hosts
>> perspective.
>>
>> For a KVM/AlacrityVM guest example, the addresses are GPAs, accessed
>> internally to the context via a gfn_to_hva conversion (you can see this
>> occuring in the citation links I sent)
>>
>> For Ira's example, the addresses would represent a physical address on
>> the PCI boards, and would follow any kind of relevant rules for
>> converting a "GPA" to a host accessible address (even if indirectly, via
>> a dma controller).
>
> So vbus can let an application
"application" means KVM guest, or ppc board, right?
> access either its own virtual memory or a physical memory on a PCI device.
To reiterate from the last reply: the model is the "guest" owns the
memory. The host is granted access to that memory by means of a memctx
object, which must be admitted to the host kernel and accessed according
to standard access-policy mechanisms. Generally the "application" or
guest would never be accessing anything other than its own memory.
> My question is, is any application
> that's allowed to do the former also granted rights to do the later?
If I understand your question, no. Can you elaborate?
Kind Regards,
-Greg
[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 267 bytes --]
next prev parent reply other threads:[~2009-09-14 19:28 UTC|newest]
Thread overview: 230+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <cover.1251388414.git.mst@redhat.com>
2009-08-27 16:06 ` [PATCHv5 1/3] mm: export use_mm/unuse_mm to modules Michael S. Tsirkin
2009-08-27 16:06 ` Michael S. Tsirkin
2009-08-27 16:06 ` Michael S. Tsirkin
2009-08-27 16:06 ` Michael S. Tsirkin
2009-08-28 15:31 ` Gregory Haskins
2009-08-28 15:31 ` Gregory Haskins
2009-08-27 16:07 ` [PATCHv5 2/3] mm: reduce atomic use on use_mm fast path Michael S. Tsirkin
2009-08-27 16:07 ` Michael S. Tsirkin
2009-08-27 16:07 ` Michael S. Tsirkin
2009-08-27 16:07 ` Michael S. Tsirkin
2009-08-27 16:07 ` [PATCHv5 3/3] vhost_net: a kernel-level virtio server Michael S. Tsirkin
2009-08-27 16:07 ` Michael S. Tsirkin
2009-08-27 16:07 ` Michael S. Tsirkin
2009-08-27 16:07 ` Michael S. Tsirkin
2009-09-03 18:39 ` Ira W. Snyder
2009-09-03 18:39 ` Ira W. Snyder
2009-09-03 18:39 ` Ira W. Snyder
2009-09-07 10:15 ` Michael S. Tsirkin
2009-09-07 10:15 ` Michael S. Tsirkin
2009-09-07 10:15 ` Michael S. Tsirkin
2009-09-08 17:20 ` Ira W. Snyder
2009-09-08 17:20 ` Ira W. Snyder
2009-09-08 17:20 ` Ira W. Snyder
2009-09-08 20:14 ` Michael S. Tsirkin
2009-09-08 20:14 ` Michael S. Tsirkin
2009-09-08 20:14 ` Michael S. Tsirkin
2009-09-11 15:17 ` Xin, Xiaohui
2009-09-11 15:17 ` Xin, Xiaohui
2009-09-11 15:17 ` Xin, Xiaohui
2009-09-13 5:46 ` Michael S. Tsirkin
2009-09-13 5:46 ` Michael S. Tsirkin
2009-09-13 5:46 ` Michael S. Tsirkin
2009-09-14 5:57 ` Xin, Xiaohui
2009-09-14 5:57 ` Xin, Xiaohui
2009-09-14 5:57 ` Xin, Xiaohui
2009-09-14 7:05 ` Michael S. Tsirkin
2009-09-14 7:05 ` Michael S. Tsirkin
2009-09-14 7:05 ` Michael S. Tsirkin
2009-09-11 16:00 ` Gregory Haskins
2009-09-11 16:14 ` Gregory Haskins
2009-09-11 16:14 ` Gregory Haskins
2009-09-13 12:01 ` Michael S. Tsirkin
2009-09-13 12:01 ` Michael S. Tsirkin
2009-09-13 12:01 ` Michael S. Tsirkin
2009-09-14 16:08 ` Gregory Haskins
2009-09-14 16:08 ` Gregory Haskins
2009-09-14 16:47 ` Michael S. Tsirkin
2009-09-14 16:47 ` Michael S. Tsirkin
2009-09-14 16:47 ` Michael S. Tsirkin
2009-09-14 19:14 ` Gregory Haskins
2009-09-14 19:14 ` Gregory Haskins
2009-09-15 12:35 ` Avi Kivity
2009-09-15 12:35 ` Avi Kivity
2009-09-15 13:03 ` Gregory Haskins
2009-09-15 13:03 ` Gregory Haskins
2009-09-15 13:25 ` Avi Kivity
2009-09-15 13:25 ` Avi Kivity
2009-09-15 13:50 ` Gregory Haskins
2009-09-15 14:28 ` Michael S. Tsirkin
2009-09-15 14:28 ` Michael S. Tsirkin
2009-09-15 14:28 ` Michael S. Tsirkin
2009-09-15 15:03 ` Avi Kivity
2009-09-15 15:03 ` Avi Kivity
2009-09-15 20:08 ` Gregory Haskins
2009-09-15 20:08 ` Gregory Haskins
2009-09-15 20:40 ` Michael S. Tsirkin
2009-09-15 20:40 ` Michael S. Tsirkin
2009-09-15 20:40 ` Michael S. Tsirkin
2009-09-15 20:43 ` Gregory Haskins
2009-09-15 20:43 ` Gregory Haskins
2009-09-15 21:25 ` Michael S. Tsirkin
2009-09-15 21:25 ` Michael S. Tsirkin
2009-09-15 21:25 ` Michael S. Tsirkin
2009-09-15 21:39 ` Gregory Haskins
2009-09-15 21:38 ` Michael S. Tsirkin
2009-09-15 21:38 ` Michael S. Tsirkin
2009-09-15 21:55 ` Gregory Haskins
2009-09-15 21:55 ` Gregory Haskins
2009-09-15 21:38 ` Michael S. Tsirkin
2009-09-15 21:39 ` Gregory Haskins
2009-09-16 14:57 ` Arnd Bergmann
2009-09-16 14:57 ` Arnd Bergmann
2009-09-16 14:57 ` Arnd Bergmann
2009-09-16 15:13 ` Michael S. Tsirkin
2009-09-16 15:13 ` Michael S. Tsirkin
2009-09-16 15:22 ` Arnd Bergmann
2009-09-16 15:22 ` Arnd Bergmann
2009-09-16 16:08 ` Michael S. Tsirkin
2009-09-16 16:08 ` Michael S. Tsirkin
2009-09-16 16:08 ` Michael S. Tsirkin
2009-09-16 15:22 ` Arnd Bergmann
2009-09-16 15:13 ` Michael S. Tsirkin
2009-09-16 8:23 ` Avi Kivity
2009-09-16 8:23 ` Avi Kivity
2009-09-16 11:44 ` Gregory Haskins
2009-09-16 13:05 ` Avi Kivity
2009-09-16 13:05 ` Avi Kivity
2009-09-16 13:05 ` Avi Kivity
2009-09-16 14:10 ` Gregory Haskins
2009-09-16 14:10 ` Gregory Haskins
2009-09-16 15:59 ` Avi Kivity
2009-09-16 15:59 ` Avi Kivity
2009-09-16 19:22 ` Gregory Haskins
2009-09-16 19:22 ` Gregory Haskins
2009-09-16 21:00 ` Avi Kivity
2009-09-16 21:00 ` Avi Kivity
2009-09-17 3:11 ` Gregory Haskins
2009-09-17 7:49 ` Avi Kivity
2009-09-17 7:49 ` Avi Kivity
2009-09-17 7:49 ` Avi Kivity
2009-09-17 14:16 ` Javier Guerra
2009-09-17 14:16 ` Javier Guerra
2009-09-17 14:16 ` Javier Guerra
2009-09-21 21:43 ` Ira W. Snyder
2009-09-21 21:43 ` Ira W. Snyder
2009-09-22 9:43 ` Avi Kivity
2009-09-22 9:43 ` Avi Kivity
2009-09-22 9:43 ` Avi Kivity
2009-09-22 15:25 ` Ira W. Snyder
2009-09-22 15:25 ` Ira W. Snyder
2009-09-22 15:25 ` Ira W. Snyder
2009-09-22 15:56 ` Avi Kivity
2009-09-22 15:56 ` Avi Kivity
2009-09-22 15:56 ` Avi Kivity
2009-09-23 14:26 ` Gregory Haskins
2009-09-23 14:37 ` Avi Kivity
2009-09-23 14:37 ` Avi Kivity
2009-09-23 15:10 ` Gregory Haskins
2009-09-23 17:58 ` Gregory Haskins
2009-09-23 17:58 ` Gregory Haskins
2009-09-23 19:37 ` Avi Kivity
2009-09-23 19:37 ` Avi Kivity
2009-09-23 21:15 ` Gregory Haskins
2009-09-24 7:18 ` Avi Kivity
2009-09-24 7:18 ` Avi Kivity
2009-09-24 7:18 ` Avi Kivity
2009-09-24 18:03 ` Gregory Haskins
2009-09-24 18:03 ` Gregory Haskins
2009-09-25 8:22 ` Avi Kivity
2009-09-25 8:22 ` Avi Kivity
2009-09-25 21:32 ` Gregory Haskins
2009-09-27 9:43 ` Avi Kivity
2009-09-27 9:43 ` Avi Kivity
2009-09-30 20:04 ` Gregory Haskins
2009-09-30 20:04 ` Gregory Haskins
2009-10-01 8:34 ` Avi Kivity
2009-10-01 8:34 ` Avi Kivity
2009-10-01 8:34 ` Avi Kivity
2009-10-01 8:34 ` Avi Kivity
2009-10-01 9:28 ` Michael S. Tsirkin
2009-10-01 9:28 ` Michael S. Tsirkin
2009-10-01 9:28 ` Michael S. Tsirkin
2009-10-01 19:24 ` Gregory Haskins
2009-10-03 10:00 ` Avi Kivity
2009-10-03 10:00 ` Avi Kivity
2009-10-03 10:00 ` Avi Kivity
2009-10-01 19:24 ` Gregory Haskins
2009-09-27 9:43 ` Avi Kivity
2009-09-25 21:32 ` Gregory Haskins
2009-09-25 8:22 ` Avi Kivity
2009-09-24 19:27 ` Ira W. Snyder
2009-09-24 19:27 ` Ira W. Snyder
2009-09-24 19:27 ` Ira W. Snyder
2009-09-25 7:43 ` Avi Kivity
2009-09-25 7:43 ` Avi Kivity
2009-09-25 7:43 ` Avi Kivity
2009-09-23 21:15 ` Gregory Haskins
2009-09-24 8:03 ` Avi Kivity
2009-09-24 8:03 ` Avi Kivity
2009-09-24 18:04 ` Gregory Haskins
2009-09-24 18:04 ` Gregory Haskins
2009-09-24 8:03 ` Avi Kivity
2009-09-23 19:37 ` Avi Kivity
2009-09-23 15:10 ` Gregory Haskins
2009-09-23 14:37 ` Avi Kivity
2009-09-23 14:26 ` Gregory Haskins
2009-09-21 21:43 ` Ira W. Snyder
2009-09-17 3:11 ` Gregory Haskins
2009-09-16 21:00 ` Avi Kivity
2009-09-16 15:59 ` Avi Kivity
2009-09-17 3:57 ` Michael S. Tsirkin
2009-09-17 3:57 ` Michael S. Tsirkin
2009-09-17 4:13 ` Gregory Haskins
2009-09-17 4:13 ` Gregory Haskins
2009-09-17 3:57 ` Michael S. Tsirkin
2009-09-16 14:10 ` Gregory Haskins
2009-09-16 11:44 ` Gregory Haskins
2009-09-16 8:23 ` Avi Kivity
2009-09-15 15:03 ` Avi Kivity
2009-09-15 13:50 ` Gregory Haskins
2009-09-15 13:25 ` Avi Kivity
2009-09-15 12:35 ` Avi Kivity
2009-09-15 12:32 ` Avi Kivity
2009-09-15 12:32 ` Avi Kivity
2009-09-15 12:32 ` Avi Kivity
2009-09-14 16:53 ` Michael S. Tsirkin
2009-09-14 16:53 ` Michael S. Tsirkin
2009-09-14 19:28 ` Gregory Haskins
2009-09-14 19:28 ` Gregory Haskins [this message]
2009-09-14 16:53 ` Michael S. Tsirkin
2009-09-11 16:00 ` Gregory Haskins
2009-09-25 17:01 ` Ira W. Snyder
2009-09-25 17:01 ` Ira W. Snyder
2009-09-25 17:01 ` Ira W. Snyder
2009-09-27 7:43 ` Michael S. Tsirkin
2009-09-27 7:43 ` Michael S. Tsirkin
2009-09-27 7:43 ` Michael S. Tsirkin
[not found] <E88DD564E9DC5446A76B2B47C3BCCA150219600F9B@pdsmsx503.ccr.corp.intel.com>
2009-08-31 11:42 ` Xin, Xiaohui
2009-08-31 11:42 ` Xin, Xiaohui
2009-08-31 11:42 ` Xin, Xiaohui
2009-08-31 11:42 ` Xin, Xiaohui
2009-08-31 15:23 ` Arnd Bergmann
2009-08-31 15:23 ` Arnd Bergmann
2009-09-01 14:58 ` Xin, Xiaohui
2009-09-01 14:58 ` Xin, Xiaohui
2009-09-01 14:58 ` Xin, Xiaohui
2009-08-31 15:23 ` Arnd Bergmann
2009-08-31 17:52 ` Avi Kivity
2009-08-31 17:52 ` Avi Kivity
2009-08-31 17:52 ` Avi Kivity
2009-08-31 21:56 ` Anthony Liguori
2009-08-31 21:56 ` Anthony Liguori
2009-08-31 21:56 ` Anthony Liguori
2009-09-01 15:37 ` Xin, Xiaohui
2009-09-01 15:37 ` Xin, Xiaohui
2009-09-01 15:37 ` Xin, Xiaohui
2009-09-01 5:04 ` Xin, Xiaohui
2009-09-01 5:04 ` Xin, Xiaohui
2009-09-01 5:04 ` Xin, Xiaohui
2009-08-31 11:42 ` Xin, Xiaohui
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=4AAE9967.9060406@gmail.com \
--to=gregory.haskins@gmail.com \
--cc=akpm@linux-foundation.org \
--cc=hpa@zytor.com \
--cc=iws@ovro.caltech.edu \
--cc=kvm@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mm@kvack.org \
--cc=mingo@elte.hu \
--cc=mst@redhat.com \
--cc=netdev@vger.kernel.org \
--cc=rusty@rustcorp.com.au \
--cc=s.hetze@linux-ag.com \
--cc=virtualization@lists.linux-foundation.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.