Re: [PATCH v13 15/19] xen/grant-table: Refactor gnttab_init

From: Konrad Rzeszutek Wilk
Date: Sun Jan 05 2014 - 14:34:37 EST


On Sun, Jan 05, 2014 at 06:18:03PM +0000, Stefano Stabellini wrote:
> On Fri, 3 Jan 2014, Konrad Rzeszutek Wilk wrote:
> > We have this odd scenario of where for PV paths we take a shortcut
> > but for the HVM paths we first ioremap xen_hvm_resume_frames, then
> > assign it to gnttab_shared.addr. This is needed because gnttab_map
> > uses gnttab_shared.addr.
> >
> > Instead of having:
> > if (pv)
> > return gnttab_map
> > if (hvm)
> > ...
> >
> > gnttab_map
> >
> > Lets move the HVM part before the gnttab_map and remove the
> > first call to gnttab_map.
> >
> > Signed-off-by: Konrad Rzeszutek Wilk <konrad.wilk@xxxxxxxxxx>
> > Reviewed-by: David Vrabel <david.vrabel@xxxxxxxxxx>
>
> As I wrote in my reply to the previous version of the patch, you can
> have my acked-by, except for the spurious code style fix mixed-up with
> the other changes.

Thanks. I fixed it up (removed the code style fix).

>
>
> > drivers/xen/grant-table.c | 13 ++++---------
> > 1 file changed, 4 insertions(+), 9 deletions(-)
> >
> > diff --git a/drivers/xen/grant-table.c b/drivers/xen/grant-table.c
> > index 99399cb..cc1b4fa 100644
> > --- a/drivers/xen/grant-table.c
> > +++ b/drivers/xen/grant-table.c
> > @@ -1173,22 +1173,17 @@ static int gnttab_setup(void)
> > if (max_nr_gframes < nr_grant_frames)
> > return -ENOSYS;
> >
> > - if (xen_pv_domain())
> > - return gnttab_map(0, nr_grant_frames - 1);
> > -
> > - if (gnttab_shared.addr == NULL) {
> > + if (xen_feature(XENFEAT_auto_translated_physmap) && gnttab_shared.addr == NULL)
> > + {
> > gnttab_shared.addr = xen_remap(xen_hvm_resume_frames,
> > - PAGE_SIZE * max_nr_gframes);
> > + PAGE_SIZE * max_nr_gframes);
> > if (gnttab_shared.addr == NULL) {
> > pr_warn("Failed to ioremap gnttab share frames (addr=0x%08lx)!\n",
> > xen_hvm_resume_frames);
> > return -ENOMEM;
> > }
> > }
> > -
> > - gnttab_map(0, nr_grant_frames - 1);
> > -
> > - return 0;
> > + return gnttab_map(0, nr_grant_frames - 1);
> > }
> >
> > int gnttab_resume(void)
> > --
> > 1.8.3.1
> >
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/