Suggestions on Avoiding syscall Overhead
Roman Divacky
rdivacky at freebsd.org
Mon Apr 23 17:44:01 UTC 2007
On Mon, Apr 23, 2007 at 08:35:45AM -0700, Tim Kientzle wrote:
> >>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.
on the other hand, if there is a easy to use API for this
I don't see why it should not be converted. I agree that
speeding up a "function" that gets called just once doesn't
make much sense but if it means 5minutes + 20lines patch
I think its worth it.
just my 2 cents
roman
More information about the freebsd-current
mailing list