Re: [PATCH 2/3] memory-hotplug: more general validation of zone during online

From: Yasuaki Ishimatsu
Date: Fri May 13 2016 - 13:24:58 EST



On Wed, 11 May 2016 14:23:26 -0500
Reza Arbab <arbab@xxxxxxxxxxxxxxxxxx> wrote:

> On Wed, May 11, 2016 at 08:17:41AM -0700, Yasuaki Ishimatsu wrote:
> >On Tue, 10 May 2016 15:39:43 -0500
> >Reza Arbab <arbab@xxxxxxxxxxxxxxxxxx> wrote:
> ><snip>
> >> + if (idx < target) {
> >> + /* pages must be at end of current zone */
> >> + if (pfn + nr_pages != zone_end_pfn(zone))
> >> + return 0;
> ><snip>
> >> + if (target < idx) {
> >> + /* pages must be at beginning of current zone */
> >> + if (pfn != zone->zone_start_pfn)
> >> + return 0;
> >
> >According your patch, memory address must be continuous for changing zone.
> >So if memory address is uncontinuous as follows, memory address 0x180000000-0x1FFFFFFFF
> >can be changed from ZONE_NORMAL to ZONE_MOVABLE. But memory address 0x80000000-0xFFFFFFFF
> >can not be changed from ZONE_NORMAL to ZONE_MOVABLE since it does not meet
> >above condition.
> >
> >Memory address
> > 0x80000000 - 0xFFFFFFFF
> > 0x180000000 - 0x1FFFFFFFF
>
> Ah, I see. What do you think of this instead?
>
> <snip>
> + if (idx < target) {
> + /* must be the last pages present in current zone */
> + for (i = pfn + nr_pages; i < zone_end_pfn(zone); i++)
> + if (pfn_present(i))
> + return 0;
> <snip>
> + if (target < idx) {
> + /* must be the first pages present in current zone */
> + for (i = zone->zone_start_pfn; i < pfn; i++)
> + if (pfn_present(i))
> + return 0;
>
> --

Ahh, sorry. I completely misread your patch. And I understood that
you don't need to change your first patch.

Thank,
Yasuaki Ishimatsu

> Reza Arbab
>
> --
> To unsubscribe, send a message with 'unsubscribe linux-mm' in
> the body to majordomo@xxxxxxxxxx For more info on Linux MM,
> see: http://www.linux-mm.org/ .
> Don't email: <a href=mailto:"dont@xxxxxxxxx";> email@xxxxxxxxx </a>