Messages in this thread | | | From | Denys Vlasenko <> | Date | Tue, 17 May 2011 14:33:07 +0200 | Subject | Re: [PATCH 4/5] Add a sysconf syscall |
| |
On Mon, May 16, 2011 at 6:01 PM, Andi Kleen <andi@firstfloor.org> wrote: >> ...and libc will start making many such calls in a row in order to retrieve >> a dozen of such values. > > It doesn't because the user interface is sysconf(). So the user program > just asks for it piece by piece.
Not if libc is caching known-to-be-constant-until-reboot data on the first call.
>> It's rather inefficient to return just one word. >> Try to return more data per call. > > I considered that, but is there a concrete use case? > I didn't want to code it up without concrete use case.
Look at recent history of having to add more syscalls (such as signalfd/signalfd4) only because we didn't think through how they will need to be extended.
It's likely you will need to return more than one long word for some data, eventually. Therefore, better add struct now than needing to add horrible hacks later in order to be able to return an uint64_t value.
-- vda
| |