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

From
Heiko Carstens <hidden>
Date
2016-01-28 11:13:03
Also in
lkml
Reply to
Mathieu Desnoyers, 2016-01-27
On Wed, Jan 27, 2016 at 10:47:37PM +0000, Mathieu Desnoyers wrote:
----- On Jan 27, 2016, at 5:11 PM, Josh Triplett josh-iaAMLnmF4UmaiuxdJuQwMA@public.gmane.org wrote:
quoted
On Wed, Jan 27, 2016 at 09:34:35PM +0000, Mathieu Desnoyers wrote:
quoted
----- 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.
Allright, will do! Thanks for the feedback :)
Please don't forget that you also need to implement compat handling since
the size of the pointer that is being pointed to is only four bytes for
compat tasks.
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