[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH RFC v3 11/14] intel_iommu: provide its own repla
From: |
Peter Xu |
Subject: |
Re: [Qemu-devel] [PATCH RFC v3 11/14] intel_iommu: provide its own replay() callback |
Date: |
Mon, 16 Jan 2017 16:06:47 +0800 |
User-agent: |
Mutt/1.5.24 (2015-08-30) |
On Mon, Jan 16, 2017 at 04:03:22PM +0800, Jason Wang wrote:
[...]
> >>>Though I haven't tested with huge pages yet, but this patch should
> >>>both solve above issue? I don't know whether you went over the page
> >>>walk logic - it should both support huge page, and it will skip
> >>>unmapped iova range (at least that's my goal to have this patch). In
> >>>that case, looks like this patch is solving the same problem? :)
> >>>(though without introducing iova_iterate() interface)
> >>>
> >>>Please correct me if I misunderstood it.
> >>Kind of :) I'm fine with this patch, but just want:
> >>
> >>- reuse most of the codes in the patch
> >>- current memory_region_iommu_replay() logic
> >>
> >>So what I'm suggesting is a just slight change of API which can let caller
> >>decide it need to do with each range of iova. So it could be reused for
> >>other things except for replaying.
> >>
> >>But if you like to keep this patch as is, I don't object it.
> >I see. Then I can understand your mean here. I had the same thought
> >before, that's why I exposed the vtd_page_walk with a hook. If you
> >check the page_walk function comment:
> >
> >/**
> > * vtd_page_walk - walk specific IOVA range, and call the hook
> > *
> > * @ce: context entry to walk upon
> > * @start: IOVA address to start the walk
> > * @end: IOVA range end address (start <= addr < end)
> > * @hook_fn: the hook that to be called for each detected area
> > * @private: private data for the hook function
> > */
> >
> >So I didn't implement the notification in page_walk at all - but in
> >the hook_fn. If any caller that is interested in doing something else
> >rather than the notification, we can just simply export the page walk
> >interface and provide his/her own "hook_fn", then it'll be triggered
> >for each valid page (no matter a huge/small one).
> >
> >If we can have a more general interface in the future - no matter
> >whether we call it iova_iterate() or something else (I'll prefer the
> >hooker way to do it, so maybe a common page walker with a hook
> >function), we can do it simply (at least for Intel platform) based on
> >this vtd_page_walk thing.
> >
> >Thanks,
> >
> >-- peterx
>
> Yes but the problem is hook_fn is only visible inside intel iommu code.
Right.
Btw, do we have existing issue that can leverage this interface
besides replay?
-- peterx
- Re: [Qemu-devel] [PATCH RFC v3 09/14] memory: introduce memory_region_notify_one(), (continued)
[Qemu-devel] [PATCH RFC v3 10/14] memory: add MemoryRegionIOMMUOps.replay() callback, Peter Xu, 2017/01/12
[Qemu-devel] [PATCH RFC v3 11/14] intel_iommu: provide its own replay() callback, Peter Xu, 2017/01/12
- Re: [Qemu-devel] [PATCH RFC v3 11/14] intel_iommu: provide its own replay() callback, Jason Wang, 2017/01/13
- Re: [Qemu-devel] [PATCH RFC v3 11/14] intel_iommu: provide its own replay() callback, Peter Xu, 2017/01/16
- Re: [Qemu-devel] [PATCH RFC v3 11/14] intel_iommu: provide its own replay() callback, Jason Wang, 2017/01/16
- Re: [Qemu-devel] [PATCH RFC v3 11/14] intel_iommu: provide its own replay() callback, Peter Xu, 2017/01/16
- Re: [Qemu-devel] [PATCH RFC v3 11/14] intel_iommu: provide its own replay() callback, Jason Wang, 2017/01/16
- Re: [Qemu-devel] [PATCH RFC v3 11/14] intel_iommu: provide its own replay() callback,
Peter Xu <=
- Re: [Qemu-devel] [PATCH RFC v3 11/14] intel_iommu: provide its own replay() callback, Jason Wang, 2017/01/16
[Qemu-devel] [PATCH RFC v3 12/14] intel_iommu: do replay when context invalidate, Peter Xu, 2017/01/12
- Re: [Qemu-devel] [PATCH RFC v3 12/14] intel_iommu: do replay when context invalidate, Jason Wang, 2017/01/16
- Re: [Qemu-devel] [PATCH RFC v3 12/14] intel_iommu: do replay when context invalidate, Peter Xu, 2017/01/16
- Re: [Qemu-devel] [PATCH RFC v3 12/14] intel_iommu: do replay when context invalidate, Jason Wang, 2017/01/16
- Re: [Qemu-devel] [PATCH RFC v3 12/14] intel_iommu: do replay when context invalidate, Peter Xu, 2017/01/16
- Re: [Qemu-devel] [PATCH RFC v3 12/14] intel_iommu: do replay when context invalidate, Peter Xu, 2017/01/16
- Re: [Qemu-devel] [PATCH RFC v3 12/14] intel_iommu: do replay when context invalidate, Jason Wang, 2017/01/16
[Qemu-devel] [PATCH RFC v3 13/14] intel_iommu: allow dynamic switch of IOMMU region, Peter Xu, 2017/01/12