[v2,1/1] ARM: orion5x: use mac_pton() helper
From: Stefan Hellermann <hidden>
Date: 2018-02-23 16:36:30
2018-02-23 16:51 GMT+01:00 Andrew Lunn [off-list ref]:
quoted
quoted
Hi Andy Thanks for pointing this patch out. What is the advantage of doing to the strnlen()? As Stefan says, the code which follows will detect a short string, in that a NULL is not in [0-9a-f], nor a : .I'm not sure, but my understanding is that, the strchr() call in the original code or isxdigit() in the follow up change will trash a cache a bit. Besides that some of the users are (often?) supplying empty strings to convert from, and in this case makes sense to bail out fast.Is this function being called on a hot path? In the case which is crashing, it is during early boot, and it gets called ~ 40 times, in quick succession. The first call to isxdigit() will need to fetch part of the _ctype array into cache, but since the caller is only walking memory, i hope it is still in cache for the next call to mac_pton(). Andrew
In my case mac_pton is not called on a hot path, the slow sata disks
in the NAS dominate the boot time. For me code size matters, and on my
device it's rarely called on a zero string. It's probably slower with
the strnlen as without it. I think if there are users out there
calling it in a hot path on a zero string, they should check the zero
string themselves, this is not the common use case.
Should I send a patch to netdev, can I get some Acked-by: ?
Stefan