On Tue, Dec 04, 2018 at 12:50:09PM +0300, Kirill A. Shutemov wrote: > On Tue, Dec 04, 2018 at 09:21:45AM +0000, Peter Zijlstra wrote: > > On Mon, Dec 03, 2018 at 11:39:58PM -0800, Alison Schofield wrote: > > > > > +struct mktme_hw_program_info { > > > + struct mktme_key_program *key_program; > > > + unsigned long status; > > > +}; > > > + > > > +/* Program a KeyID on a single package. */ > > > +static void mktme_program_package(void *hw_program_info) > > > +{ > > > + struct mktme_hw_program_info *info = hw_program_info; > > > + int ret; > > > + > > > + ret = mktme_key_program(info->key_program); > > > + if (ret != MKTME_PROG_SUCCESS) > > > + WRITE_ONCE(info->status, ret); > > > > What's the purpose of that WRITE_ONCE()? > > [I suggested the code to Alison.] > > Yes, you're right. Simple assignment will do. Will do. Thanks! > > -- > Kirill A. Shutemov