lkml.org 
[lkml]   [2007]   [Jun]   [8]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [RFC] [Patch 4/4] lock contention tracking slimmed down
Peter Zijlstra wrote:
> On Wed, 2007-06-06 at 23:34 +0200, Martin Peschke wrote:
>
>> +struct statistic_info lock_stat_info[_LOCK_STAT_NUMBER] = {
>> + [LOCK_STAT_CONT] = {
>> + .name = "contentions",
>> + .x_unit = "instruction_pointer",
>> + .y_unit = "occurrence",
>> + .defaults = "type=sparse entries=4",
>> + .flags = STATISTIC_FLAGS_LABEL,
>> + },
>> + [LOCK_STAT_WAIT_READ] = {
>> + .name = "wait_read",
>> + .x_unit = "nanoseconds",
>> + .y_unit = "occurrence",
>> + .defaults = "type=utilisation",
>> + },
>> + [LOCK_STAT_WAIT_WRITE] = {
>> + .name = "wait_write",
>> + .x_unit = "nanoseconds",
>> + .y_unit = "occurrence",
>> + .defaults = "type=utilisation",
>> + },
>> + [LOCK_STAT_HOLD_READ] = {
>> + .name = "hold_read",
>> + .x_unit = "nanoseconds",
>> + .y_unit = "occurrence",
>> + .defaults = "type=utilisation",
>> + },
>> + [LOCK_STAT_HOLD_WRITE] = {
>> + .name = "hold_write",
>> + .x_unit = "nanoseconds",
>> + .y_unit = "occurrence",
>> + .defaults = "type=utilisation",
>> }
>> };
>
> You're parsing strings in-kernel to setup data structures?

Might be surprising (or revolting?)... but, yes, I do.

.defaults reflects the developers opinion on the way of data
accumululation that might make most sense in most cases.
The current implementation of lib/statistic.c allows users to change
setting that we see in .defaults. If one needs to track more than
4 contention points, for example, then they can change this limit by
passing "entries=4" to the user interface. So there is some parsing
code anyway. Passing default setting in a similar fashion has just been
convenient for the developer.

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

\
 
 \ /
  Last update: 2007-06-08 19:17    [W:0.142 / U:0.040 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site