2015-07-24 05:19:29

by Masahiro Yamada

[permalink] [raw]
Subject: [PATCH 0/2] kbuild: Minor cleanups of fixdep




Masahiro Yamada (2):
kbuild: fixdep: optimize code slightly
kbuild: fixdep: drop meaningless hash table initialization

scripts/basic/fixdep.c | 26 ++++----------------------
1 file changed, 4 insertions(+), 22 deletions(-)

--
1.9.1


2015-07-24 05:19:25

by Masahiro Yamada

[permalink] [raw]
Subject: [PATCH 1/2] kbuild: fixdep: optimize code slightly

If the target string matches "CONFIG_", move the pointer p
forward. This saves several 7-chars adjustments.

Signed-off-by: Masahiro Yamada <[email protected]>
---

scripts/basic/fixdep.c | 7 ++++---
1 file changed, 4 insertions(+), 3 deletions(-)

diff --git a/scripts/basic/fixdep.c b/scripts/basic/fixdep.c
index b304068..46cc1b3 100644
--- a/scripts/basic/fixdep.c
+++ b/scripts/basic/fixdep.c
@@ -251,7 +251,8 @@ static void parse_config_file(const char *map, size_t len)
continue;
if (memcmp(p, "CONFIG_", 7))
continue;
- for (q = p + 7; q < map + len; q++) {
+ p += 7;
+ for (q = p; q < map + len; q++) {
if (!(isalnum(*q) || *q == '_'))
goto found;
}
@@ -260,9 +261,9 @@ static void parse_config_file(const char *map, size_t len)
found:
if (!memcmp(q - 7, "_MODULE", 7))
q -= 7;
- if( (q-p-7) < 0 )
+ if (q - p < 0)
continue;
- use_config(p+7, q-p-7);
+ use_config(p, q - p);
}
}

--
1.9.1

2015-07-24 05:19:27

by Masahiro Yamada

[permalink] [raw]
Subject: [PATCH 2/2] kbuild: fixdep: drop meaningless hash table initialization

The clear_config() is called just once at the beginning of this
program, but the global variable hashtab[] is already zero-filled
at the start-up.

Signed-off-by: Masahiro Yamada <[email protected]>
---

scripts/basic/fixdep.c | 19 -------------------
1 file changed, 19 deletions(-)

diff --git a/scripts/basic/fixdep.c b/scripts/basic/fixdep.c
index 46cc1b3..c68fd61 100644
--- a/scripts/basic/fixdep.c
+++ b/scripts/basic/fixdep.c
@@ -192,23 +192,6 @@ static void define_config(const char *name, int len, unsigned int hash)
}

/*
- * Clear the set of configuration strings.
- */
-static void clear_config(void)
-{
- struct item *aux, *next;
- unsigned int i;
-
- for (i = 0; i < HASHSZ; i++) {
- for (aux = hashtab[i]; aux; aux = next) {
- next = aux->next;
- free(aux);
- }
- hashtab[i] = NULL;
- }
-}
-
-/*
* Record the use of a CONFIG_* word.
*/
static void use_config(const char *m, int slen)
@@ -325,8 +308,6 @@ static void parse_dep_file(void *map, size_t len)
int saw_any_target = 0;
int is_first_dep = 0;

- clear_config();
-
while (m < end) {
/* Skip any "white space" */
while (m < end && (*m == ' ' || *m == '\\' || *m == '\n'))
--
1.9.1

2015-08-24 14:46:07

by Michal Marek

[permalink] [raw]
Subject: Re: [PATCH 0/2] kbuild: Minor cleanups of fixdep

On 2015-07-24 07:18, Masahiro Yamada wrote:
> Masahiro Yamada (2):
> kbuild: fixdep: optimize code slightly
> kbuild: fixdep: drop meaningless hash table initialization
>
> scripts/basic/fixdep.c | 26 ++++----------------------
> 1 file changed, 4 insertions(+), 22 deletions(-)

Applied to kbuild.git#kbuild.

Michal