Re: [PATCH 4/5] Add a sysconf syscall

From: Andi Kleen
Date: Mon May 16 2011 - 16:51:55 EST


> 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@xxxxxxxxxxxxxxx -- Speaking for myself only.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/