Re: [PATCH] Eliminate task stack trace duplication.

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

 



Ying Han <yinghan@xxxxxxxxxx> writes:

> The problem with small dmesg ring buffer like 512k is that only limited number
> of task traces will be logged. Sometimes we lose important information only
> because of too many duplicated stack traces.
>
> This patch tries to reduce the duplication of task stack trace in the dump
> message by hashing the task stack. The hashtable is a 32k pre-allocated buffer
> during bootup.

Nice idea!  This makes it a lot more readable too.

Can we compress the register values too? (e.g. by not printing that many
0s and replacing ffff8 with <k> or so)

In fact I don't remember needing the register values for anything.
Maybe they could be just not printed by default?

>  #endif
>  	read_lock(&tasklist_lock);
> +
> +	spin_lock(&stack_hash_lock);

The long hold lock scares me a little bit for a unstable system. 
Could you only hold it while hashing/unhashing? 

Also when you can't get it fall back to something else.

-Andi
-- 
ak@xxxxxxxxxxxxxxx -- Speaking for myself only

--
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/ .
Fight unfair telecom internet charges in Canada: sign http://stopthemeter.ca/
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]