On Wed, Jun 20, 2018 at 12:34:32AM +0200, Thomas Gleixner wrote: > On Tue, 19 Jun 2018, Fenghua Yu wrote: > > On Tue, Jun 19, 2018 at 11:12:05AM +0200, Thomas Gleixner wrote: > > > On Fri, 15 Jun 2018, Fenghua Yu wrote: > > > > > > > A few new user wait instructions UMONITOR, UMWAIT, and TPAUSE are > > > > published in the latest Intel Instruction Set Extensions document. > > > > > > > > Define the APIs for user or kernel to use the instructions. > > > > > > You're not defining APIs. You're adding a pile of misdesigned helper > > > functions which again add static storage per compilation unit and CPUID > > > fiddling. > > > > > > If you want to add proper APIs then add the stuff to the VDSO and be done > > > with it. > > > > The user wait instructions are mainly called by user apps; but they can > > be used in kernel as well. > > > > I'm planning to provide five APIs to user: > > 1. If user wait feature is supported > > 2. nsec to tsc translation > > 3. umonitor function that exectes UMONITOR instruction > > 4. umwait function that executes UMWAIT instruction > > 5. tpause function that executes TPAUSE instruction > > > > Seems 1-2 can be implemented in VDSO. But should I implement 3-5 in > > VDSO/kernel as well? > > If you want a real API, then yes. If not, then an UAPI header is definitely > not the place for this.
Sure. I will implement the APIs in VDSO. Thanks. -Fenghua