Messages in this thread |  | | From | Jann Horn <> | Date | Wed, 3 Oct 2018 17:10:26 +0200 | Subject | X86-64 uses generic string functions (strlen, strchr, memcmp, ...) |
| |
Hi!
I noticed that X86-64 is using the generic string functions from lib/string.c for things like strlen(), strchr(), memcmp() and so on. Is that an intentional omission, because they're not considered worth optimizing, or is this an oversight? The kernel doesn't use string functions much, but if you e.g. run readlinkat() in a loop on a symlink with a 1000-byte target, something around 25%-50% of time are spent on strlen(). But that's a microbenchmark that people probably don't care about a lot?
One notable in-kernel user of memcmp() is BPF, which uses it for its hash table implementations when walking the linked list of a hash bucket. But I don't know whether anyone uses BPF hash tables with keys that are sufficiently large to make this noticeable?
|  |