[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH v3.1 12/15] xen/x86: populate PVHv2 Dom0 physical memory map
>>> On 28.11.16 at 12:26, <roger.pau@xxxxxxxxxx> wrote: > On Fri, Nov 11, 2016 at 10:16:43AM -0700, Jan Beulich wrote: >> >>> On 29.10.16 at 10:59, <roger.pau@xxxxxxxxxx> wrote: >> > +static int __init hvm_steal_ram(struct domain *d, unsigned long size, >> > + paddr_t limit, paddr_t *addr) >> > +{ >> > + unsigned int i; >> > + >> > + for ( i = 1; i <= d->arch.nr_e820; i++ ) >> > + { >> > + struct e820entry *entry = &d->arch.e820[d->arch.nr_e820 - i]; >> >> Why don't you simply make the loop count downwards? > > With i being an unsigned int, this would make the condition look quite > awkward, > because i >= 0 cannot be used. I would have to use i <= d->arch.nr_e820, so I > think it's best to leave it as-is for readability. What's wrong with i = d->arch.nr_e820; while ( i-- ) { ... (or its for() equivalent)? >> > + saved_current = current; >> > + set_current(v); >> > + rc = hvm_copy_to_guest_phys(d->arch.e820[i].addr, >> > + >> > maddr_to_virt(d->arch.e820[i].addr), >> > + end - d->arch.e820[i].addr); >> > + set_current(saved_current); >> >> If anything goes wrong here, how much confusion will result from >> current being wrong? In particular, will this complicate debugging >> of possible issues? > > TBH, I'm not sure, current in this case is the idle domain, so trying to > execute > a hvm_copy_to_guest_phys with current being the idle domain, which from a Xen > PoV is a PV vCPU, would probably result in some assert triggering in the > hvm_copy_to_guest_phys path (or at least I would expect so). Note that this > chunk of code is removed, since RAM regions below 1MB are now mapped as > p2m_ram_rw. Even if this chunk of code no longer exists, iirc there were a few more instances of this current overriding, so unless they're all gone now I still think this need considering (and ideally finding a better solution, maybe along the lines of mapcache_override_current()). Jan _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx https://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |