Re: [PATCH v3 2/4] x86/syscalls: Specific usage of verify_pre_usermode_state
From: "H. Peter Anvin" <hpa@zytor.com>
Date: 2017-03-22 20:49:17
On 03/22/17 13:41, Thomas Garnier wrote:
quoted
quoted
with the change below for additional feedback.Can you specify what that means?If I set inline by default, the compiler chose not to inline it on x86. If I force inline the size impact was actually bigger (without the architecture specific code).
That's utterly bizarre. Something strange is going on there. I suspect the right thing to do is to out-of-line the error case only, but even that seems strange. It should be something like four instructions inline.
quoted
On x86, where there is only one caller of this, it really seems like it ought to reduce the overhead to almost zero (since it most likely is hidden in the pipeline.) I would like to suggest defining it inline if CONFIG_ARCH_NO_SYSCALL_VERIFY_PRE_USERMODE_STATE is set; I really don't care about an architecture which doesn't have it.But if there is only one caller, does the compiler is not suppose to inline the function based on options?
If it is marked static in the same file, yes, but you have it in a different file from what I can tell.
The assembly will call it too, so I would need an inline and a non-inline based on the caller.
Where? I don't see that anywhere, at least for x86. -hpa