public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* X86-64 uses generic string functions (strlen, strchr, memcmp, ...)
@ 2018-10-03 15:10 Jann Horn
  2018-10-03 17:33 ` Ingo Molnar
  0 siblings, 1 reply; 2+ messages in thread
From: Jann Horn @ 2018-10-03 15:10 UTC (permalink / raw)
  To: Thomas Gleixner, Borislav Petkov, Andy Lutomirski, Ingo Molnar,
	H. Peter Anvin, the arch/x86 maintainers, Alexei Starovoitov,
	Daniel Borkmann, Dave Hansen
  Cc: kernel list

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?

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2018-10-03 17:33 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2018-10-03 15:10 X86-64 uses generic string functions (strlen, strchr, memcmp, ...) Jann Horn
2018-10-03 17:33 ` Ingo Molnar

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox