On 20/06/14 12:52, Michael Schnell wrote: > On 06/20/2014 01:38 PM, Lukasz Sokol wrote: > >> Is it possible to call about any syscall (timing included) through >> (32bit) exising vdso ? > I understand that is what "__kernel_vsyscall" is supplied for (and I > don't understand why it is nit supplied in 64 Bit).
Henry just corrected me : that's not what this function is for: it's to select int 0x80 vs sysenter... and I remember seeing somewhere on lkml (long time ago) that 64bit x86 don't need it, (either they both are equivalent or int 0x80 doesn't exist any more, or something...) >> And measure how it goes vs 'normal' way of doing it via library >> chain? >> > In fact that is not in my agenda. > > I suppose for normal syscalls there will be no significant > difference, as the switch to Kernel-mode and back will take the > greatest amount of latency. But there might be certain syscalls that > in fact are handled completely in user mode by the vDSO variant and > hence will perform better. > Can't comment on that, I'm afraid, you wouldn't know till you tried though. > > I did not yet actually _call_ any vDSO function right now. I only > checked how to find the vDSO ELF structure and dumped it's content on > the screen so that I can see, what functions are implemented. > > I did not yet try to do code that analyzes the ELF structure itself > to find the procedure entry points. That too I remember had some coverage on lkml since creators of one compiler (the Go language) got it wrong (the ELF parsing). But it seems they tried, at least. > > If you want do do some tests yourself, I can send you my pure-pascal > source code (no C-library calls ) that is able to locate the ELF > structure (as well 32 as 64 Bits), so that you can enhance it. > I'm sorry :) I've neither time or knowledge required ... (I run Wheezy here, with kernel 3.2.0 i probably can't be of any help here either...) Having a timer component, however, that can use this, could provide us application writers to have a way to detect&select what we want, when it comes to implementation. > -Michael > Lukasz -- _______________________________________________ Lazarus mailing list Lazarus@lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus