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