Hello.
> + /*
> + * Reserve the area now:
> + */
> + for (i = PFN_DOWN(new_start) + merge; i < PFN_UP(new_end); i++)
> + if (test_and_set_bit(i, bdata->node_bootmem_map))
> + BUG();
> +
> + region = phys_to_virt(bdata->node_boot_start + new_start);
> + memset(region, 0, size);
> + return region;
bdata->last_success doesn't seem to be updated in alloc_bootmem_core(),
it is updated in only __free().
Is it intended? If not, it should be updated, I suppose....
Bye.
--
Yasunori Goto
Hi,
Yasunori Goto <[email protected]> writes:
> Hello.
>
>> + /*
>> + * Reserve the area now:
>> + */
>> + for (i = PFN_DOWN(new_start) + merge; i < PFN_UP(new_end); i++)
>> + if (test_and_set_bit(i, bdata->node_bootmem_map))
>> + BUG();
>> +
>> + region = phys_to_virt(bdata->node_boot_start + new_start);
>> + memset(region, 0, size);
>> + return region;
>
> bdata->last_success doesn't seem to be updated in alloc_bootmem_core(),
> it is updated in only __free().
> Is it intended? If not, it should be updated, I suppose....
Yeah, I forgot that. See my reply to `bootmem: respect goal more
likely'.
Thanks for reviewing!
Hannes
> Hi,
>
> Yasunori Goto <[email protected]> writes:
>
> > Hello.
> >
> >> + /*
> >> + * Reserve the area now:
> >> + */
> >> + for (i = PFN_DOWN(new_start) + merge; i < PFN_UP(new_end); i++)
> >> + if (test_and_set_bit(i, bdata->node_bootmem_map))
> >> + BUG();
> >> +
> >> + region = phys_to_virt(bdata->node_boot_start + new_start);
> >> + memset(region, 0, size);
> >> + return region;
> >
> > bdata->last_success doesn't seem to be updated in alloc_bootmem_core(),
> > it is updated in only __free().
> > Is it intended? If not, it should be updated, I suppose....
>
> Yeah, I forgot that. See my reply to `bootmem: respect goal more
> likely'.
>
> Thanks for reviewing!
>
> Hannes
Oh, I didn't notice it.
Ok. I'll test newer version on my ia64 box.
Bye.
--
Yasunori Goto