On Sun, 2022-05-15 at 11:02 +0200, Thomas Gleixner wrote: > > Otherwise, the option that used to be used here was a "status" > > arch_prctl(), which was called separately to find out what actually > > got > > enabled after an "enable" call. That fit with the GET/SET semantics > > already in place. > > > > I guess we could also get rid of the batch enabling idea, and just > > have > > one "enable" call per feature too. But then it is syscall heavy. > > This is not a runtime hotpath problem. Those prctls() happen once > when > the process starts, so having three which are designed for the > individual purpose instead of one ill defined is definitely the > better > choice. > > Premature optimization is never a good idea. Keep it simple is the > right > starting point. > > If it really turns out to be something which matters, then you can > provide a batch interface later on if it makes sense to do so, but > see > above. Thanks, sounds good to me. Kirill, so I guess we can just change ARCH_THREAD_FEATURE_ENABLE/ ARCH_THREAD_FEATURE_DISABLE to return EINVAL if more than one bit is set. It returns 0 on success and whatever error code on failure. Userspace can do whatever rollback logic it wants. What do you think?