Re: [PATCH 6/6] x86/xen: open code alloc_vm_area in arch_gnttab_valloc
From: Christoph Hellwig
Date: Tue Sep 22 2020 - 11:27:12 EST
On Tue, Sep 22, 2020 at 11:24:20AM -0400, boris.ostrovsky@xxxxxxxxxx wrote:
>
> On 9/22/20 10:58 AM, Christoph Hellwig wrote:
> > On Mon, Sep 21, 2020 at 04:44:10PM -0400, boris.ostrovsky@xxxxxxxxxx wrote:
> >> This will end up incrementing area->ptes pointer. So perhaps something like
> >>
> >>
> >> pte_t **ptes = area->ptes;
> >>
> >> if (apply_to_page_range(&init_mm, (unsigned long)area->area->addr,
> >> PAGE_SIZE * nr_frames, gnttab_apply, &ptes)) {
> >>
> >> ...
> > Yeah. What do you think of this version?
>
>
> Oh yes, this is way better. This now can actually be read without trying to mentally unwind triple pointers. (You probably want to initialize idx to zero before calling apply_to_page_range(), I am not sure it's guaranteed to be zero).
Both instances are static variables, thus in .bss and initialized.
So unless you insist I don't think we need a manual one.