diff options
author | Siddhesh Poyarekar <siddhesh@sourceware.org> | 2017-05-17 13:11:00 +0530 |
---|---|---|
committer | Siddhesh Poyarekar <siddhesh@sourceware.org> | 2017-05-17 13:11:00 +0530 |
commit | d13103074ab5c7614eeb94f88a61803ed8f3e878 (patch) | |
tree | 20c7b4c429edc658f7095cee63e9e6e8c4e18e19 | |
parent | c79a72aa5cb8357c216a71015c7448a9259c8531 (diff) | |
download | glibc-d13103074ab5c7614eeb94f88a61803ed8f3e878.tar.gz glibc-d13103074ab5c7614eeb94f88a61803ed8f3e878.tar.xz glibc-d13103074ab5c7614eeb94f88a61803ed8f3e878.zip |
tunables: Specify a default value for tunables
Enhance dl-tunables.list to allow specifying a default value for a tunable that it would be initialized to. * scripts/gen-tunables.awk: Recognize 'default' keyword in dl-tunables.list. * README.tunables: Document it.
-rw-r--r-- | ChangeLog | 6 | ||||
-rw-r--r-- | README.tunables | 2 | ||||
-rw-r--r-- | scripts/gen-tunables.awk | 12 |
3 files changed, 18 insertions, 2 deletions
diff --git a/ChangeLog b/ChangeLog index 7a0a45a845..a4a88e530c 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +2017-05-17 Siddhesh Poyarekar <siddhesh@sourceware.org> + + * scripts/gen-tunables.awk: Recognize 'default' keyword in + dl-tunables.list. + * README.tunables: Document it. + 2017-05-15 Adhemerval Zanella <adhemerval.zanella@linaro.org> * sysdeps/posix/preadv.c: Use sysdeps/posix/preadv_common.c. diff --git a/README.tunables b/README.tunables index aace2fca8f..3f16b5d827 100644 --- a/README.tunables +++ b/README.tunables @@ -56,6 +56,8 @@ The list of allowed attributes are: - maxval: Optional maximum acceptable value. For a string type this is the maximum length of the value. +- default: Specify an optional default value for the tunable. + - env_alias: An alias environment variable - security_level: Specify security level of the tunable. Valid values: diff --git a/scripts/gen-tunables.awk b/scripts/gen-tunables.awk index defb3e7354..b10b00ebd6 100644 --- a/scripts/gen-tunables.awk +++ b/scripts/gen-tunables.awk @@ -113,6 +113,14 @@ $1 == "}" { exit 1 } } + else if (attr == "default") { + if (types[top_ns][ns][tunable] == "STRING") { + default_val[top_ns][ns][tunable] = sprintf(".strval = \"%s\"", val); + } + else { + default_val[top_ns][ns][tunable] = sprintf(".numval = %s", val) + } + } } END { @@ -146,9 +154,9 @@ END { for (n in types[t]) { for (m in types[t][n]) { printf (" {TUNABLE_NAME_S(%s, %s, %s)", t, n, m) - printf (", {TUNABLE_TYPE_%s, %s, %s}, {.numval = 0}, NULL, TUNABLE_SECLEVEL_%s, %s},\n", + printf (", {TUNABLE_TYPE_%s, %s, %s}, {%s}, NULL, TUNABLE_SECLEVEL_%s, %s},\n", types[t][n][m], minvals[t][n][m], maxvals[t][n][m], - security_level[t][n][m], env_alias[t][n][m]); + default_val[t][n][m], security_level[t][n][m], env_alias[t][n][m]); } } } |