Re: [PATCH] percpu: simplify the pcpu_alloc()

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

 



On 08/10/2010 05:00 PM, Huang Shijie wrote:
>    The `while' is not needed, replaced it with `if' to reduce
>    an unnecessary check.
> 
> Signed-off-by: Huang Shijie <shijie8@xxxxxxxxx>
> ---
>  mm/percpu.c |    3 ++-
>  1 files changed, 2 insertions(+), 1 deletions(-)
> 
> diff --git a/mm/percpu.c b/mm/percpu.c
> index e61dc2c..2e50004 100644
> --- a/mm/percpu.c
> +++ b/mm/percpu.c
> @@ -724,7 +724,8 @@ static void __percpu *pcpu_alloc(size_t size, size_t align, bool reserved)
>  			goto fail_unlock;
>  		}
>  
> -		while ((new_alloc = pcpu_need_to_extend(chunk))) {
> +		new_alloc = pcpu_need_to_extend(chunk);
> +		if (new_alloc) {
>  			spin_unlock_irqrestore(&pcpu_lock, flags);
>  			if (pcpu_extend_area_map(chunk, new_alloc) < 0) {
>  				err = "failed to extend area map of reserved chunk";

I'd leave it as is.  The check may be spurious now but if we ever end
up updating locking there to allow allocations from atomic contexts,
that while loop will be needed to check whether race hasn't happened
while the lock was dropped.  This change would just make the code more
fragile without actually gaining anything.

Thanks.

-- 
tejun

--
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>


[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Bugtraq]     [Linux]     [Linux OMAP]     [Linux MIPS]     [ECOS]     [Asterisk Internet PBX]     [Linux API]