On Mon, Oct 24, 2016 at 11:02 AM, Peter Xu <pet...@redhat.com> wrote:
> On Mon, Oct 24, 2016 at 10:53:01AM +0300, Aviv B.D. wrote: > > [...] > > > This was my first algorithm, but VFIO do not support remapping of mapped > > page. > > Before each MAP operation in VFIO one must do unmap, and therefore I'm > > sending > > the unmap notifications blindly before. > > I can rearrange my code closer to your suggestion. > > If so, I would suggest we solve the real problem first: we should not > notify VFIO twice on map(), but only once. IMO either Alex's or > David's suggestion (in the other mail) is a good start. > > OK. I will publish a new patch set that notify only once per page. I prefer David's suggestion - adding the range information to the notifier struct and check it from inside the VFIO notification function. > > > > > > > > > > This is to follow your logic. I don't know whether this is efficient > > > enough, maybe good for the first version. The problem is, when you > > > call translate(), you will need to go over the page every time from > > > root dir. A faster way may be: provide a function to walk specific > > > address range. If you are going to implement the replay logic that > > > Alex/David has mentioned, maybe that will help too (walk over the > > > whole 64bit range). > > > > > > Interesting idea, but I prefer to add it in separate patch set after > this > > one committed, if it's OK. > > Sure. > > -- peterx > Thanks, Aviv.