Thread (34 messages) 34 messages, 4 authors, 2013-10-30

Re: [PATCH v9 12/13] KVM: PPC: Add support for IOMMU in-kernel handling

From: Alexey Kardashevskiy <hidden>
Date: 2013-09-06 10:45:38
Also in: kvm, linux-mm, lkml

On 09/06/2013 04:57 PM, Gleb Natapov wrote:
On Thu, Sep 05, 2013 at 02:05:09PM +1000, Benjamin Herrenschmidt wrote:
quoted
On Tue, 2013-09-03 at 13:53 +0300, Gleb Natapov wrote:
quoted
quoted
Or supporting all IOMMU links (and leaving emulated stuff as is) in on
"device" is the last thing I have to do and then you'll ack the patch?
I am concerned more about API here. Internal implementation details I
leave to powerpc experts :)
So Gleb, I want to step in for a bit here.

While I understand that the new KVM device API is all nice and shiny and that this
whole thing should probably have been KVM devices in the first place (had they
existed or had we been told back then), the point is, the API for handling
HW IOMMUs that Alexey is trying to add is an extension of an existing mechanism
used for emulated IOMMUs.

The internal data structure is shared, and fundamentally, by forcing him to
use that new KVM device for the "new stuff", we create a oddball API with
an ioctl for one type of iommu and a KVM device for the other, which makes
the implementation a complete mess in the kernel (and you should care :-)
Is it unfixable mess? Even if Alexey will do what you suggested earlier?

  - Convert *both* existing TCE objects to the new
      KVM_CREATE_DEVICE, and have some backward compat code for the old one.

The point is implementation usually can be changed, but for API it is
much harder to do so.
quoted
So for something completely new, I would tend to agree with you. However, I
still think that for this specific case, we should just plonk-in the original
ioctl proposed by Alexey and be done with it.
Do you think this is the last extension to IOMMU code, or we will see
more and will use same justification to continue adding ioctls?

Ok. I give up :) I implemented KVM device the way you suggested. Could you
please have a look? It is "[PATCH v10 12/13] KVM: PPC: Add support for
IOMMU in-kernel handling", attached to this thread. Thanks!



-- 
Alexey
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help