GSoC 2010
Igor Druzhinin
jaxbrigs at gmail.com
Tue Apr 13 20:37:58 UTC 2010
Hello, Robert Watson
I have considered your remarks to my proposal. Now I have some problems with
GSoC site so I've decided to post my comment here.
About choosing the best method for current hardware:
I think that the best way to realise it is to use small userspace shared
memory region where kernel can to load additional syscall stub during
initialization. It may looks like this:
write() stub:
...
sub $0x0C, %esp
movl $_fd, (%esp)
movl $_buf, 0x4(%esp)
movl $_len, 0x8(%esp)
movl $4, %eax
call <shared stub address>
add $0x0C, %esp
...
Depending on output of CPUID command during the initialization kernel will
load certain shared stub. For newer processors it may be:
shared stub:
sysenter
ret
About my testing plans:
I think it will be simple multi-threaded program that will call syscalls in
the loop and measure them execution time with time-stamp counter (RDTSC). If
all is fulfilled correctly regression should not to arise.
More information about the freebsd-hackers
mailing list