Re: [PATCH] x86/entry: Improve system call entry comments

From: Andy Lutomirski
Date: Tue Mar 08 2016 - 13:51:30 EST


On Tue, Mar 8, 2016 at 10:47 AM, H. Peter Anvin <hpa@xxxxxxxxx> wrote:
> On 03/08/16 10:45, Andy Lutomirski wrote:
>>
>> s/modern/most, perhaps?
>>
>> I'm hoping that some day Bionic goes away and gets replaced by musl.
>>
>> Of course, musl doesn't always use fast syscalls because it needs a
>> vdso facility that doesn't currently exist. I'll deal with that
>> eventually.
>>
>
> You don't actually need actual DSO support to support fast system calls
> on i386. Even klibc uses them now, and the additional code to support
> it is trivial.

That's not the issue. The issue is that musl does something
crazy^Wclever to support POSIX pthread cancellation, and it involves
being able to tell whether a signal's ucontext points to a syscall
and, if so, what the return address is. This is straightforward with
an inlined int $0x80, but doing it reliably with the current vdso
design would requiring parsing the DWARF data, and I can't really
blame musl for not wanting to do that.

There was a thread awhile back about adding a new vdso helper to do
this. I think I even had some code for it. If I find time, I'll try
to send patches for 4.7.

--Andy