Thread (19 messages) 19 messages, 6 authors, 2018-02-26

[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().

        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: ?
Not from me, sorry.

Alexey would be best person to give a such.
Please, Cc him.

-- 
Andy Shevchenko [off-list ref]
Intel Finland Oy
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help