Messages in this thread Patch in this message | | | From | Yury Norov <> | Subject | [PATCH] mm/slub: avoid double string traverse in kmem_cache_flags() | Date | Tue, 30 Apr 2019 22:31:11 -0700 |
| |
If ',' is not found, kmem_cache_flags() calls strlen() to find the end of line. We can do it in a single pass using strchrnul().
Signed-off-by: Yury Norov <ynorov@marvell.com> --- mm/slub.c | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-)
diff --git a/mm/slub.c b/mm/slub.c index 4922a0394757..85f90370a293 100644 --- a/mm/slub.c +++ b/mm/slub.c @@ -1317,9 +1317,7 @@ slab_flags_t kmem_cache_flags(unsigned int object_size, char *end, *glob; size_t cmplen; - end = strchr(iter, ','); - if (!end) - end = iter + strlen(iter); + end = strchrnul(iter, ','); glob = strnchr(iter, end - iter, '*'); if (glob) -- 2.17.1
| |