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 [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to