Re: [Fastboot] [PATCH] Kexec: Common alloc

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Vivek Goyal <[email protected]> writes:

> On Wed, Apr 12, 2006 at 05:33:02PM +0900, Magnus Damm wrote:
>> Kexec: Common alloc
>> 
>> This patch reduces code redundancy by introducing a new function called
>> kimage_common_alloc() which is used to set up image->control_code_page.
>> 
>> Signed-off-by: Magnus Damm <[email protected]>
>> ---
>> 
>> Applies on top of linux-2.6.17-rc1-git5 + "Kexec: Remove duplicate rimage"
>> 
>>  kexec.c |   51 ++++++++++++++++++++-------------------------------
>>  1 files changed, 20 insertions(+), 31 deletions(-)
>> 
>> --- 0004/kernel/kexec.c
>> +++ work/kernel/kexec.c	2006-04-12 16:30:34.000000000 +0900
>> @@ -205,34 +205,36 @@ out:
>>  
>>  }
>>  
>> -static int kimage_normal_alloc(struct kimage **rimage, unsigned long entry,
>> -				unsigned long nr_segments,
>> -				struct kexec_segment __user *segments)
>> +static int kimage_common_alloc(struct kimage *image)
>>  {
>> -	int result;
>> -	struct kimage *image;
>> -
>> -	/* Allocate and initialize a controlling structure */
>> -	image = NULL;
>> -	result = do_kimage_alloc(&image, entry, nr_segments, segments);
>> -	if (result)
>> -		goto out;
>> -
>>  	/*
>> -	 * Find a location for the control code buffer, and add it
>> +	 * Find a location for the control code buffer, and add
>>  	 * the vector of segments so that it's pages will also be
>>  	 * counted as destination pages.
>>  	 */
>> -	result = -ENOMEM;
>>  	image->control_code_page = kimage_alloc_control_pages(image,
>>  					   get_order(KEXEC_CONTROL_CODE_SIZE));
>>  	if (!image->control_code_page) {
>>  		printk(KERN_ERR "Could not allocate control_code_buffer\n");
>> -		goto out;
>> +		return -ENOMEM;
>
> Ok. So effectively call to the the function kimage_alloc_control_pages() and
> its return code handling is being wrapped in another function. This function
> is called at only two places. Not quite convinced that this duplication is
> significant enough that we introduce another function to wrap a function
> call.

Agreed.

Eric

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[Index of Archives]     [Kernel Newbies]     [Netfilter]     [Bugtraq]     [Photo]     [Stuff]     [Gimp]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Video 4 Linux]     [Linux for the blind]     [Linux Resources]
  Powered by Linux