On Wed, Jan 10, 2018 at 03:24:17PM +0000, David Woodhouse wrote: > Since it achieves nothing¹ but to make userspace run slower, there's no > need to write it again on returning to userspace. It will perform that > function just fine without doing so.
Ok, very glad we are on the same page now. Note that as far as I can tell there was no way to answer the above question by reading the spec. You also explicitly used the word barrier in association with IBRS before, but there was no word barrier in the aforementioned specs in association with IBRS (every word barrier was always and only in association with IBPB). I hope this discussion helped clear the additional barrier semantics of IBRS in more understandable way for the current/future upstream code. Thanks, Andrea