Messages in this thread | | | Date | Mon, 16 May 2011 22:51:50 +0200 | From | Andi Kleen <> | Subject | Re: [PATCH 4/5] Add a sysconf syscall |
| |
> The syscall is only current if you call it frequently (i.e. every time), > but there is tendency to go local (static memory) caching to avoid the > syscall overhead. Something like _SC_NPROCESSORS_ONLN that is used to set > up OpenMP/auto-parallel threading for major loops is likely to be cached.
That is true. Still I assume other programs would ask for it more frequently.
Longer term at some point we probably need a proper CPU hotplug event interface, but short term polling is the standard model.
> > But if you look at the gettimeofday/vdso implementation, the time_base to > time conversion is semi-dynamic for the NTPd case and we handle that in > VDSO. There is shared memory access between the VDSO and the kernel for > this case.
Yes, I wrote that code for x86 ;-)
> Is problem with rlimit that it is process or session dependent? But is it > really dynamic once a process starts?
It can be changed any time per thread (actually per signal context). Now that's probably not common, but I don't think a new ABI should ignore the possibility of it changing anyways.
> It is not clear one size fits all here.
What partition would you suggest?
Also do you have a use case where the syscall is too slow?
I'm basically trying to find a good tradeoff for implementation effort vs usefullness vs good semantics vs performance here.
-Andi -- ak@linux.intel.com -- Speaking for myself only.
| |