RE: [PATCH v2 1/2] PCI: hv: Replace hv_vp_set with hv_vpset

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



From: Lorenzo Pieralisi <lorenzo.pieralisi@xxxxxxx>  Sent: Tuesday, February 12, 2019 8:35 AM
>
> On Mon, Jan 28, 2019 at 09:49:32PM -0800, Maya Nakamura wrote:
> > On Sun, Jan 27, 2019 at 05:11:48AM +0000, Michael Kelley wrote:
> > > From: Maya Nakamura <m.maya.nakamura@xxxxxxxxx>  Sent: Saturday, January 26,
> 2019 12:52 AM
> > > >
> > > > Remove a duplicate definition of VP set (hv_vp_set) and use the common
> > > > definition (hv_vpset) that is used in other places.
> > > >
> > > > Change the order of the members in struct hv_pcibus_device so that the
> > > > declaration of retarget_msi_interrupt_params is the last member. Struct
> > > > hv_vpset, which contains a flexible array, is nested two levels deep in
> > > > struct hv_pcibus_device via retarget_msi_interrupt_params.
> > > >
> > > > Add a comment that retarget_msi_interrupt_params should be the last member
> > > > of struct hv_pcibus_device.
> > > >
> > > > Signed-off-by: Maya Nakamura <m.maya.nakamura@xxxxxxxxx>
> > > > ---
> > > > Change in v2:
> > > > - None
> > > >
> > >
> > > Right -- there was no code change.  But it's customary to note that
> > > you updated the commit message.
> > >
> > Thank you for your feedback. I will edit the change log in v3.
> >
> > > Reviewed-by:  Michael Kelley <mikelley@xxxxxxxxxxxxx>
> 
> Are you really sure there is no behavioural change ? What piece of
> code allocates hv_vpset.bank_contents[] memory with this patch applied ?
> 
> I suspect the current code does not use hv_vpset for this specific
> reason, ie allocate struct hv_vp_set.masks array memory statically.
> 

There is indeed no behavior change.   A full page of memory is
allocated in hv_pci_probe() so that we can be sure that the Hyper-V
hypercall arguments don't cross a page boundary.   This page allows
more than enough space for the hv_vpset.bank_contents[] to grow
as needed (with one bit allocated in the masks for up to the limit
of 8192 CPUs allowed by Linux).   A flexible array is used because
the hv_vpset structure is also used in some MMU hypercalls that
have two variable size arrays.

Michael
_______________________________________________
devel mailing list
devel@xxxxxxxxxxxxxxxxxxxxxx
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel



[Index of Archives]     [Linux Driver Backports]     [DMA Engine]     [Linux GPIO]     [Linux SPI]     [Video for Linux]     [Linux USB Devel]     [Linux Coverity]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Yosemite Backpacking]
  Powered by Linux