Re: [PATCH] vfio-pci: Allow to mmap sub-page MMIO BARs if the mmio page is exclusive

From: Yongji Xie
Date: Tue May 03 2016 - 03:36:11 EST


On 2016/5/3 14:11, Tian, Kevin wrote:

From: Yongji Xie [mailto:xyjxie@xxxxxxxxxxxxxxxxxx]
Sent: Tuesday, May 03, 2016 1:52 PM

+
+ if (!(res->start & ~PAGE_MASK)) {
+ /*
+ * Add shadow resource for sub-page bar whose mmio
+ * page is exclusive in case that hot-add device's
+ * bar is assigned into the mem hole.
+ */
+ shadow_res = kzalloc(sizeof(*shadow_res), GFP_KERNEL);
+ shadow_res->resource.start = res->end + 1;
+ shadow_res->resource.end = res->start + PAGE_SIZE - 1;
What about res->start not page aligned so you end up still having
a portion before res->start not exclusively reserved?
Do you mean add a 'dummy' resource to reserve the portion
before res->start if res->start not page aligned?

But would it happen that there is a mem hole in the portion
before res->start? The resource should have been assigned
into the hole at the beginning.

Just a quick thought. Another device might occupy that range
before initializing this device, and then 'another device' is hot
removed later...

Thanks
Kevin

That's a good point! I will add support for this case in v2.

Thanks,
Yongji