Re: [RFC PATCH v2 1/3] getcpu_cache system call: cache CPU number of running thread

From
Josh Triplett <hidden>
Date
2016-01-27 22:11:55
Also in
lkml
Reply to
Mathieu Desnoyers, 2016-01-27
On Wed, Jan 27, 2016 at 09:34:35PM +0000, Mathieu Desnoyers wrote:
----- On Jan 27, 2016, at 12:37 PM, Thomas Gleixner tglx-hfZtesqFncYOwBW4kG4KsQ@public.gmane.org wrote:
quoted
On Wed, 27 Jan 2016, Thomas Gleixner wrote:
quoted
On Wed, 27 Jan 2016, Mathieu Desnoyers wrote:
quoted
----- On Jan 27, 2016, at 12:22 PM, Thomas Gleixner tglx-hfZtesqFncYOwBW4kG4KsQ@public.gmane.org wrote:
Sounds fair. What is the recommended typing for "ptr" then ?
uint32_t ** or uint32_t * ?

It would be expected to pass a "uint32_t *" for the set
operation, but the "get" operation requires a "uint32_t **".
Well, you can't change the types depending on the opcode, so you need to stick
with **.
Alternatively you make it:

 (opcode, *newptr, **oldptr, flags);
I'm tempted to stick to (opcode, **ptr, flags), because
other syscalls that have "*newptr", "**oldptr"
typically have them because they save the current state
into oldptr, and set the new state, which is really
not the case here. To eliminate any risk of confusion,
I am tempted to keep a single "**ptr".

Unless someone has a better idea...
Either that or you could define it as "void *" and interpret it based on
flags, but that seems unfortunate; let's not imitate ioctl-style
typeless parameters.  I'd stick with the double pointer and the current
behavior.
Thread (27 messages) 27 messages, 7 authors, 2016-01-28
Keyboard shortcuts
hback out one level
jnext message in thread / next series-diff position
kprevious message in thread / previous series-diff position
ldrill in
Escclose help / fold thread tree
?toggle this help