The Linux Kernel Mailing List
 help / color / mirror / Atom feed
From: David Laight <David.Laight@ACULAB.COM>
To: 'Aubrey Li' <aubrey.li@intel.com>,
	"tglx@linutronix.de" <tglx@linutronix.de>,
	"mingo@redhat.com" <mingo@redhat.com>,
	"peterz@infradead.org" <peterz@infradead.org>,
	"hpa@zytor.com" <hpa@zytor.com>
Cc: "ak@linux.intel.com" <ak@linux.intel.com>,
	"tim.c.chen@linux.intel.com" <tim.c.chen@linux.intel.com>,
	"dave.hansen@intel.com" <dave.hansen@intel.com>,
	"arjan@linux.intel.com" <arjan@linux.intel.com>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	Aubrey Li <aubrey.li@linux.intel.com>
Subject: RE: [PATCH v4 1/2] x86/fpu: track AVX-512 usage of tasks
Date: Wed, 12 Dec 2018 16:55:17 +0000	[thread overview]
Message-ID: <c87224bd48bc4296a38ae4852bf28071@AcuMS.aculab.com> (raw)
In-Reply-To: <20181211002448.3520-1-aubrey.li@intel.com>

From: Aubrey Li
> Sent: 11 December 2018 00:25
> 
> User space tools which do automated task placement need information
> about AVX-512 usage of tasks, because AVX-512 usage could cause core
> turbo frequency drop and impact the running task on the sibling CPU.
> 
> The XSAVE hardware structure has bits that indicate when valid state
> is present in registers unique to AVX-512 use.  Use these bits to
> indicate when AVX-512 has been in use and add per-task AVX-512 state
> tracking to context switch.

Isn't a thread likely to clear the AVX registers at the end of a function
that uses them.
In particular this removes the massive overhead on certain cpus of
switching between two AVX modes.
So it is actually unlikely that XSAVE will need to save them at all?

As I've also said before the registers are caller saved and since
systems calls are normal function calls the application code
would have to save them across a system call.
This allows the kernel to zero the registers on system call entry
again meaning that XSAVE won't normally have to save them.

	David

-
Registered Address Lakeside, Bramley Road, Mount Farm, Milton Keynes, MK1 1PT, UK
Registration No: 1397386 (Wales)


  parent reply	other threads:[~2018-12-12 16:55 UTC|newest]

Thread overview: 15+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-12-11  0:24 [PATCH v4 1/2] x86/fpu: track AVX-512 usage of tasks Aubrey Li
2018-12-11  0:24 ` [PATCH v4 2/2] proc: add AVX-512 usage to /proc/pid/status Aubrey Li
2018-12-11 17:57   ` Tim Chen
2018-12-11 17:18 ` [PATCH v4 1/2] x86/fpu: track AVX-512 usage of tasks Dave Hansen
2018-12-11 17:52   ` Tim Chen
2018-12-11 17:53   ` Andi Kleen
2018-12-11 23:46   ` Li, Aubrey
2018-12-12  0:14     ` Arjan van de Ven
2018-12-12  0:59       ` Li, Aubrey
2018-12-12  1:06         ` Dave Hansen
2018-12-11 17:20 ` Dave Hansen
2018-12-12  0:34   ` Li, Aubrey
2018-12-12  0:39     ` Dave Hansen
2018-12-12 16:55 ` David Laight [this message]
2018-12-12 18:00   ` Andi Kleen

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=c87224bd48bc4296a38ae4852bf28071@AcuMS.aculab.com \
    --to=david.laight@aculab.com \
    --cc=ak@linux.intel.com \
    --cc=arjan@linux.intel.com \
    --cc=aubrey.li@intel.com \
    --cc=aubrey.li@linux.intel.com \
    --cc=dave.hansen@intel.com \
    --cc=hpa@zytor.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mingo@redhat.com \
    --cc=peterz@infradead.org \
    --cc=tglx@linutronix.de \
    --cc=tim.c.chen@linux.intel.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox