[PATCH] um: allow using glibc string functions instead of generics

Anton Ivanov anton.ivanov at cambridgegreys.com
Wed Nov 11 04:49:44 EST 2020


On 10/11/2020 21:39, Richard Weinberger wrote:
> ----- Ursprüngliche Mail -----
>> Von: "anton ivanov" <anton.ivanov at cambridgegreys.com>
>> An: "richard" <richard at nod.at>
>> CC: "linux-um" <linux-um at lists.infradead.org>
>> Gesendet: Dienstag, 10. November 2020 22:33:48
>> Betreff: Re: [PATCH] um: allow using glibc string functions instead of generics
>> On 10/11/2020 21:29, Richard Weinberger wrote:
>>> ----- Ursprüngliche Mail -----
>>>> Von: "anton ivanov" <anton.ivanov at cambridgegreys.com>
>>>>> On what workload did you see such a huge performance improvement?
>>>> File IO ~ 1% or thereabouts, iperf - 2-4%.
>>>>
>>>>> The in-kernel variants of memcpy and such are already well optimized.
>>>> UML has no string.h in asm which means it falls back to
>>>> asm-generic/string.h which in turn pulls in the ones from lib/string.c
>>>>
>>>> These are not optimized.
>>> Hmmm, I think it should use the highly optimized variants from arch/x86.
>> That is the other option - to bring in string32.h and string64.h from x86.
> Yes, I thought we do so already. I fear we list this feature after some code
> cleanup a long time ago.
>
> I'm happy with either option.

I did a quick and ugly hack to bring in xor from x86 tree (just sse, not avx), the difference is 117%.

I had to edit/hack quite a few things though.

I am now going to reset my trees and see how we can do this properly by bringing in the original files "as is" and defining things as NOOPs as well as doing fake defines for the CPU features. That should also allow us to replace the fake defines with actual host CPU detection later so we can use AVX and other features not present on all 64 bit platforms.

>
> Thanks,
> //richard
>
> _______________________________________________
> linux-um mailing list
> linux-um at lists.infradead.org
> http://lists.infradead.org/mailman/listinfo/linux-um

-- 
Anton R. Ivanov
Cambridgegreys Limited. Registered in England. Company Number 10273661
https://www.cambridgegreys.com/




More information about the linux-um mailing list