Re: xgetbv nondeterminism

2017-06-17 Thread H.J. Lu
On Sat, Jun 17, 2017 at 9:32 AM, Andy Lutomirski wrote: > On Sat, Jun 17, 2017 at 5:51 AM, H.J. Lu wrote: >> On Fri, Jun 16, 2017 at 11:21 PM, Andy Lutomirski wrote: > > In any event, I still don't understand the issue. The code does this, > effectively: > > PLT -> GOT >

Re: xgetbv nondeterminism

2017-06-17 Thread Andy Lutomirski
On Sat, Jun 17, 2017 at 5:51 AM, H.J. Lu wrote: > On Fri, Jun 16, 2017 at 11:21 PM, Andy Lutomirski wrote: In any event, I still don't understand the issue. The code does this, effectively: PLT -> GOT GOT points to a stub that transfers control to ld.so ld.so r

Re: xgetbv nondeterminism

2017-06-17 Thread H.J. Lu
On Fri, Jun 16, 2017 at 11:21 PM, Andy Lutomirski wrote: >>> >>> In any event, I still don't understand the issue. The code does this, >>> effectively: >>> >>> PLT -> GOT >>> GOT points to a stub that transfers control to ld.so >>> ld.so resolves the symbol (_dl_fixup, I think) >>> ld.so patches

Re: xgetbv nondeterminism

2017-06-16 Thread Andy Lutomirski
On Fri, Jun 16, 2017 at 11:03 AM, H.J. Lu wrote: > On Fri, Jun 16, 2017 at 10:56 AM, Andy Lutomirski wrote: >> On Fri, Jun 16, 2017 at 10:44 AM, H.J. Lu wrote: >>> On Fri, Jun 16, 2017 at 9:38 AM, Andy Lutomirski wrote: On Fri, Jun 16, 2017 at 9:17 AM, H.J. Lu wrote: > On Fri, Jun 16,

Re: xgetbv nondeterminism

2017-06-16 Thread H.J. Lu
On Fri, Jun 16, 2017 at 10:56 AM, Andy Lutomirski wrote: > On Fri, Jun 16, 2017 at 10:44 AM, H.J. Lu wrote: >> On Fri, Jun 16, 2017 at 9:38 AM, Andy Lutomirski wrote: >>> On Fri, Jun 16, 2017 at 9:17 AM, H.J. Lu wrote: On Fri, Jun 16, 2017 at 9:01 AM, Andy Lutomirski wrote: > On Thu,

Re: xgetbv nondeterminism

2017-06-16 Thread Andy Lutomirski
On Fri, Jun 16, 2017 at 10:44 AM, H.J. Lu wrote: > On Fri, Jun 16, 2017 at 9:38 AM, Andy Lutomirski wrote: >> On Fri, Jun 16, 2017 at 9:17 AM, H.J. Lu wrote: >>> On Fri, Jun 16, 2017 at 9:01 AM, Andy Lutomirski wrote: On Thu, Jun 15, 2017 at 9:34 PM, H.J. Lu wrote: > On Thu, Jun 15, 2

Re: xgetbv nondeterminism

2017-06-16 Thread H.J. Lu
On Fri, Jun 16, 2017 at 9:38 AM, Andy Lutomirski wrote: > On Fri, Jun 16, 2017 at 9:17 AM, H.J. Lu wrote: >> On Fri, Jun 16, 2017 at 9:01 AM, Andy Lutomirski wrote: >>> On Thu, Jun 15, 2017 at 9:34 PM, H.J. Lu wrote: On Thu, Jun 15, 2017 at 8:05 PM, Andy Lutomirski wrote: > On Thu, Ju

Re: xgetbv nondeterminism

2017-06-16 Thread Andy Lutomirski
On Fri, Jun 16, 2017 at 9:17 AM, H.J. Lu wrote: > On Fri, Jun 16, 2017 at 9:01 AM, Andy Lutomirski wrote: >> On Thu, Jun 15, 2017 at 9:34 PM, H.J. Lu wrote: >>> On Thu, Jun 15, 2017 at 8:05 PM, Andy Lutomirski wrote: On Thu, Jun 15, 2017 at 7:17 PM, H.J. Lu wrote: > On Thu, Jun 15, 20

Re: xgetbv nondeterminism

2017-06-16 Thread H.J. Lu
On Fri, Jun 16, 2017 at 9:01 AM, Andy Lutomirski wrote: > On Thu, Jun 15, 2017 at 9:34 PM, H.J. Lu wrote: >> On Thu, Jun 15, 2017 at 8:05 PM, Andy Lutomirski wrote: >>> On Thu, Jun 15, 2017 at 7:17 PM, H.J. Lu wrote: On Thu, Jun 15, 2017 at 4:28 PM, Andy Lutomirski wrote: > On Thu, Ju

Re: xgetbv nondeterminism

2017-06-16 Thread Andy Lutomirski
On Thu, Jun 15, 2017 at 9:34 PM, H.J. Lu wrote: > On Thu, Jun 15, 2017 at 8:05 PM, Andy Lutomirski wrote: >> On Thu, Jun 15, 2017 at 7:17 PM, H.J. Lu wrote: >>> On Thu, Jun 15, 2017 at 4:28 PM, Andy Lutomirski wrote: On Thu, Jun 15, 2017 at 4:11 PM, H.J. Lu wrote: > It is used for laz

Re: xgetbv nondeterminism

2017-06-15 Thread H.J. Lu
On Thu, Jun 15, 2017 at 8:05 PM, Andy Lutomirski wrote: > On Thu, Jun 15, 2017 at 7:17 PM, H.J. Lu wrote: >> On Thu, Jun 15, 2017 at 4:28 PM, Andy Lutomirski wrote: >>> On Thu, Jun 15, 2017 at 4:11 PM, H.J. Lu wrote: On Thu, Jun 15, 2017 at 3:45 PM, Andy Lutomirski wrote: > On Thu, Ju

Re: xgetbv nondeterminism

2017-06-15 Thread Andy Lutomirski
On Thu, Jun 15, 2017 at 7:17 PM, H.J. Lu wrote: > On Thu, Jun 15, 2017 at 4:28 PM, Andy Lutomirski wrote: >> On Thu, Jun 15, 2017 at 4:11 PM, H.J. Lu wrote: >>> On Thu, Jun 15, 2017 at 3:45 PM, Andy Lutomirski wrote: On Thu, Jun 15, 2017 at 3:40 PM, H.J. Lu wrote: > On Thu, Jun 15, 20

Re: xgetbv nondeterminism

2017-06-15 Thread H.J. Lu
On Thu, Jun 15, 2017 at 4:37 PM, Dave Hansen wrote: > On 06/15/2017 03:18 PM, Andy Lutomirski wrote: >>> As you pointed out, if you are using XSAVEC's compaction features by >>> leaving bits unset in the requested feature bitmap registers, you have >>> no idea how much data XSAVEC will write, unle

Re: xgetbv nondeterminism

2017-06-15 Thread H.J. Lu
On Thu, Jun 15, 2017 at 4:28 PM, Andy Lutomirski wrote: > On Thu, Jun 15, 2017 at 4:11 PM, H.J. Lu wrote: >> On Thu, Jun 15, 2017 at 3:45 PM, Andy Lutomirski wrote: >>> On Thu, Jun 15, 2017 at 3:40 PM, H.J. Lu wrote: On Thu, Jun 15, 2017 at 3:18 PM, Andy Lutomirski wrote: > On Thu, Ju

Re: xgetbv nondeterminism

2017-06-15 Thread Dave Hansen
On 06/15/2017 03:18 PM, Andy Lutomirski wrote: >> As you pointed out, if you are using XSAVEC's compaction features by >> leaving bits unset in the requested feature bitmap registers, you have >> no idea how much data XSAVEC will write, unless you read XINUSE with >> XGETBV. But, you can get aroun

Re: xgetbv nondeterminism

2017-06-15 Thread Andy Lutomirski
On Thu, Jun 15, 2017 at 4:11 PM, H.J. Lu wrote: > On Thu, Jun 15, 2017 at 3:45 PM, Andy Lutomirski wrote: >> On Thu, Jun 15, 2017 at 3:40 PM, H.J. Lu wrote: >>> On Thu, Jun 15, 2017 at 3:18 PM, Andy Lutomirski wrote: On Thu, Jun 15, 2017 at 7:33 AM, Dave Hansen wrote: > On 06/14/2017

Re: xgetbv nondeterminism

2017-06-15 Thread H.J. Lu
On Thu, Jun 15, 2017 at 3:45 PM, Andy Lutomirski wrote: > On Thu, Jun 15, 2017 at 3:40 PM, H.J. Lu wrote: >> On Thu, Jun 15, 2017 at 3:18 PM, Andy Lutomirski wrote: >>> On Thu, Jun 15, 2017 at 7:33 AM, Dave Hansen wrote: On 06/14/2017 10:18 PM, Andy Lutomirski wrote: > Dave, why is XIN

Re: xgetbv nondeterminism

2017-06-15 Thread Andy Lutomirski
On Thu, Jun 15, 2017 at 3:40 PM, H.J. Lu wrote: > On Thu, Jun 15, 2017 at 3:18 PM, Andy Lutomirski wrote: >> On Thu, Jun 15, 2017 at 7:33 AM, Dave Hansen wrote: >>> On 06/14/2017 10:18 PM, Andy Lutomirski wrote: Dave, why is XINUSE exposed at all to userspace? >>> >>> You need it for XSAVEO

Re: xgetbv nondeterminism

2017-06-15 Thread H.J. Lu
On Thu, Jun 15, 2017 at 3:18 PM, Andy Lutomirski wrote: > On Thu, Jun 15, 2017 at 7:33 AM, Dave Hansen wrote: >> On 06/14/2017 10:18 PM, Andy Lutomirski wrote: >>> Dave, why is XINUSE exposed at all to userspace? >> >> You need it for XSAVEOPT when it is using the init optimization to be >> able

Re: xgetbv nondeterminism

2017-06-15 Thread Andy Lutomirski
On Thu, Jun 15, 2017 at 7:33 AM, Dave Hansen wrote: > On 06/14/2017 10:18 PM, Andy Lutomirski wrote: >> Dave, why is XINUSE exposed at all to userspace? > > You need it for XSAVEOPT when it is using the init optimization to be > able to tell which state was written and which state in the XSAVE buf

Re: xgetbv nondeterminism

2017-06-15 Thread Dave Hansen
On 06/14/2017 10:18 PM, Andy Lutomirski wrote: > Dave, why is XINUSE exposed at all to userspace? You need it for XSAVEOPT when it is using the init optimization to be able to tell which state was written and which state in the XSAVE buffer is potentially stale with respect to what's in the regist