2010-04-07 23:35:11

by Michael Ellerman

[permalink] [raw]
Subject: Re: [PATCH 06/33] lmb: Add lmb_reserve_area/lmb_free_area

On Tue, 2010-03-30 at 19:16 -0700, Yinghai Lu wrote:
> They will check if the region array is big enough.
>
> __check_and_double_region_array will try to double the region array if that
> array spare slots is not big enough. Old array will be copied to new array.
>

> diff --git a/include/linux/lmb.h b/include/linux/lmb.h
> index 4cf2f3b..598662f 100644
> --- a/include/linux/lmb.h
> +++ b/include/linux/lmb.h
> @@ -83,6 +84,9 @@ lmb_end_pfn(struct lmb_region *type, unsigned long region_nr)
> lmb_size_pages(type, region_nr);
> }
>
> +void lmb_reserve_area(u64 start, u64 end, char *name);
> +void lmb_free_area(u64 start, u64 end);
> +void lmb_add_memory(u64 start, u64 end);

vs

extern long lmb_reserve(u64 base, u64 size);
extern long lmb_free(u64 base, u64 size);
extern long lmb_add(u64 base, u64 size);


Can you tell which ones handle dynamically expanding the region array?

You're _still_ adding a new API, which I still think is stupid.

cheers


Attachments:
signature.asc (197.00 B)
This is a digitally signed message part

2010-04-07 23:40:45

by Yinghai Lu

[permalink] [raw]
Subject: Re: [PATCH 06/33] lmb: Add lmb_reserve_area/lmb_free_area

On 04/07/2010 04:35 PM, Michael Ellerman wrote:
> On Tue, 2010-03-30 at 19:16 -0700, Yinghai Lu wrote:
>> They will check if the region array is big enough.
>>
>> __check_and_double_region_array will try to double the region array if that
>> array spare slots is not big enough. Old array will be copied to new array.
>>
>
>> diff --git a/include/linux/lmb.h b/include/linux/lmb.h
>> index 4cf2f3b..598662f 100644
>> --- a/include/linux/lmb.h
>> +++ b/include/linux/lmb.h
>> @@ -83,6 +84,9 @@ lmb_end_pfn(struct lmb_region *type, unsigned long region_nr)
>> lmb_size_pages(type, region_nr);
>> }
>>
>> +void lmb_reserve_area(u64 start, u64 end, char *name);
>> +void lmb_free_area(u64 start, u64 end);
>> +void lmb_add_memory(u64 start, u64 end);
>
> vs
>
> extern long lmb_reserve(u64 base, u64 size);
> extern long lmb_free(u64 base, u64 size);
> extern long lmb_add(u64 base, u64 size);
>
>
> Can you tell which ones handle dynamically expanding the region array?
>
> You're _still_ adding a new API, which I still think is stupid.

please consider to merge them later.

Don't want to break current lmb users

YH