linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Thomas Gleixner <tglx@linutronix.de>
To: Linus Torvalds <torvalds@linux-foundation.org>
Cc: LKML <linux-kernel@vger.kernel.org>,
	Andrew Morton <akpm@linux-foundation.org>,
	Ingo Molnar <mingo@kernel.org>, "H. Peter Anvin" <hpa@zytor.com>
Subject: Re: [GIT pull] x86/cache: Updates for 4.10
Date: Tue, 13 Dec 2016 10:01:17 +0100 (CET)	[thread overview]
Message-ID: <alpine.DEB.2.20.1612130916100.3415@nanos> (raw)
In-Reply-To: <CA+55aFwekvKTgaDB4R7XW=SWwW4PULzf7BZBycq+iKqdKSj2fQ@mail.gmail.com>

On Mon, 12 Dec 2016, Linus Torvalds wrote:

> On Mon, Dec 12, 2016 at 1:53 AM, Thomas Gleixner <tglx@linutronix.de> wrote:
> >
> > This update provides the support for Intel Cache Allocation Technology, a
> > cache partitioning mechanism.

Sorry for being terse in the pull request.

> Ugh, this is some funky stuff. And it's entirely x86-specific, with a
> rather odd special filesystem interface.

Yes. The interface is odd, but the hardware interface of that CAT stuff is
odd as well.

We tried hard to come up with an abstraction, but that only allows rather
simple partitioning, but no way of sharing and dealing with the per package
nature of this mechanism.

In the end we decided to expose the allocation bitmaps directly so all
combinations of the hardware can be utilized.

There are two ways of associating a cache partition:

 - Task

   A task can be added to a resource group. It uses the cache partition
   associated to the group.

 - CPU
 
   All tasks which are not member of a resource group use the group to
   which the CPU they are running on is associated with.

   That allows for simple CPU based partitioning schemes.

> It looks pretty self-contained (good), but it also looks majorly
> strange. I will have to think about this. What are the main/expected
> users?

 - Virtualization so a VM can only trash only the associated part of the
   cash w/o disturbing others

 - Real-Time systems to seperate RT and general workloads. 

 - Latency sensitive enterprise workloads 

 - In theory this also can be used to protect against cache side channel
   attacks.

Thanks,

	tglx

  parent reply	other threads:[~2016-12-13  9:04 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-12-12  9:53 [GIT pull] x86/cache: Updates for 4.10 Thomas Gleixner
2016-12-13  4:26 ` Linus Torvalds
2016-12-13  8:04   ` Peter Zijlstra
2016-12-13  9:01   ` Thomas Gleixner [this message]
2016-12-17  1:44     ` Tony Luck
     [not found] <20161221210119.GA56305@linux.intel.com>
2016-12-21 21:31 ` Fenghua Yu

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=alpine.DEB.2.20.1612130916100.3415@nanos \
    --to=tglx@linutronix.de \
    --cc=akpm@linux-foundation.org \
    --cc=hpa@zytor.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mingo@kernel.org \
    --cc=torvalds@linux-foundation.org \
    /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;
as well as URLs for NNTP newsgroup(s).