Re: [PATCH] mm: Fix signal SIGFPE in slabinfo.c.

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

 



Acked-by: Christoph Lameter <cl@xxxxxxxxx>

On Tue, 26 Jun 2012, majianpeng wrote:

> In function slab_stats(), if total_free is equal zero, it will error.
> So fix it.
> Signed-off-by: majianpeng <majianpeng@xxxxxxxxx>
> ---
>  tools/vm/slabinfo.c |   14 +++++++-------
>  1 files changed, 7 insertions(+), 7 deletions(-)
>
> diff --git a/tools/vm/slabinfo.c b/tools/vm/slabinfo.c
> index 164cbcf..808d5a9 100644
> --- a/tools/vm/slabinfo.c
> +++ b/tools/vm/slabinfo.c
> @@ -437,34 +437,34 @@ static void slab_stats(struct slabinfo *s)
>  	printf("Fastpath             %8lu %8lu %3lu %3lu\n",
>  		s->alloc_fastpath, s->free_fastpath,
>  		s->alloc_fastpath * 100 / total_alloc,
> -		s->free_fastpath * 100 / total_free);
> +		total_free ? s->free_fastpath * 100 / total_free : 0);
>  	printf("Slowpath             %8lu %8lu %3lu %3lu\n",
>  		total_alloc - s->alloc_fastpath, s->free_slowpath,
>  		(total_alloc - s->alloc_fastpath) * 100 / total_alloc,
> -		s->free_slowpath * 100 / total_free);
> +		total_free ? s->free_slowpath * 100 / total_free : 0);
>  	printf("Page Alloc           %8lu %8lu %3lu %3lu\n",
>  		s->alloc_slab, s->free_slab,
>  		s->alloc_slab * 100 / total_alloc,
> -		s->free_slab * 100 / total_free);
> +		total_free ? s->free_slab * 100 / total_free : 0);
>  	printf("Add partial          %8lu %8lu %3lu %3lu\n",
>  		s->deactivate_to_head + s->deactivate_to_tail,
>  		s->free_add_partial,
>  		(s->deactivate_to_head + s->deactivate_to_tail) * 100 / total_alloc,
> -		s->free_add_partial * 100 / total_free);
> +		total_free ? s->free_add_partial * 100 / total_free : 0);
>  	printf("Remove partial       %8lu %8lu %3lu %3lu\n",
>  		s->alloc_from_partial, s->free_remove_partial,
>  		s->alloc_from_partial * 100 / total_alloc,
> -		s->free_remove_partial * 100 / total_free);
> +		total_free ? s->free_remove_partial * 100 / total_free : 0);
>
>  	printf("Cpu partial list     %8lu %8lu %3lu %3lu\n",
>  		s->cpu_partial_alloc, s->cpu_partial_free,
>  		s->cpu_partial_alloc * 100 / total_alloc,
> -		s->cpu_partial_free * 100 / total_free);
> +		total_free ? s->cpu_partial_free * 100 / total_free : 0);
>
>  	printf("RemoteObj/SlabFrozen %8lu %8lu %3lu %3lu\n",
>  		s->deactivate_remote_frees, s->free_frozen,
>  		s->deactivate_remote_frees * 100 / total_alloc,
> -		s->free_frozen * 100 / total_free);
> +		total_free ? s->free_frozen * 100 / total_free : 0);
>
>  	printf("Total                %8lu %8lu\n\n", total_alloc, total_free);
>
>

--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@xxxxxxxxx.  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]