Date: Wed, 14 Apr 2010 00:13:39 +0400 From: "Igor Druzhinin" <jaxbrigs@gmail.com> To: <rwatson@freebsd.org> Cc: freebsd-hackers@freebsd.org Subject: GSoC 2010 Message-ID: <5ED60A4D35014945A5F9C14F253E1D52@lan.jax.org.ru>
next in thread | raw e-mail | index | archive | help
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.
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?5ED60A4D35014945A5F9C14F253E1D52>