[v2,1/1] ARM: orion5x: use mac_pton() helper
From: andriy.shevchenko@linux.intel.com (Andy Shevchenko)
Date: 2018-02-23 16:57:39
On Fri, 2018-02-23 at 17:36 +0100, Stefan Hellermann wrote:
2018-02-23 16:51 GMT+01:00 Andrew Lunn [off-list ref]:quoted
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(). AndrewIn 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: ?
Not from me, sorry. Alexey would be best person to give a such. Please, Cc him. -- Andy Shevchenko [off-list ref] Intel Finland Oy