Suggestions on Avoiding syscall Overhead

Tim Kientzle kientzle at
Mon Apr 23 15:58:35 UTC 2007

>>We can have 3 type of pages mapped into one process's address map.
>>1. System wide global readonly page which will help on these syscalls:
>>   gethostname,getdomainname,uname
>>   help on importing sysenter as syscall entry point!!
>>2. Per process Readonly page. (change will still through standard syscall)
>>   help on the syscalls:
>>   getuid, geteuid, getpid,getgid, getegid, getpgrp,
>>3. As you planed, Read+Write Page

I don't really understand this suggestion.

Do any real programs call these syscalls very often?
If not, this is unnecessary complexity.  Making
a syscall fast that's only called once doesn't really
help performance.

This type of approach is sometimes suggested for systime(),
which could have a big impact, as there are real programs
that call systime() thousands of times per second.
But I find it hard to believe there are programs that
call getuid() that often.

Tim Kientzle

More information about the freebsd-current mailing list