From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1755663AbcIHWqU (ORCPT ); Thu, 8 Sep 2016 18:46:20 -0400 Received: from mx0b-00082601.pphosted.com ([67.231.153.30]:48033 "EHLO mx0a-00082601.pphosted.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1754763AbcIHWqR (ORCPT ); Thu, 8 Sep 2016 18:46:17 -0400 Date: Thu, 8 Sep 2016 15:45:14 -0700 From: Shaohua Li To: Fenghua Yu CC: Thomas Gleixner , "H. Peter Anvin" , Ingo Molnar , Tony Luck , Peter Zijlstra , Tejun Heo , Borislav Petkov , Stephane Eranian , Marcelo Tosatti , "David Carrillo-Cisneros" , Ravi V Shankar , Vikas Shivappa , Sai Prakhya , linux-kernel , x86 Subject: Re: [PATCH v2 06/33] Documentation, x86: Documentation for Intel resource allocation user interface Message-ID: <20160908224513.GA67943@shli-mbp.local> References: <1473328647-33116-1-git-send-email-fenghua.yu@intel.com> <1473328647-33116-7-git-send-email-fenghua.yu@intel.com> <20160908220119.GA64153@shli-mbp.local> <20160909011746.GA42229@linux.intel.com> MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Disposition: inline In-Reply-To: <20160909011746.GA42229@linux.intel.com> User-Agent: Mutt/1.6.1 (2016-04-27) X-Originating-IP: [2620:10d:c090:200::e:4cd0] X-ClientProxiedBy: MWHPR04CA0026.namprd04.prod.outlook.com (10.172.163.12) To SN2PR15MB0944.namprd15.prod.outlook.com (10.169.191.146) X-MS-Office365-Filtering-Correlation-Id: 79801576-ebb9-483f-69f1-08d3d839d397 X-Microsoft-Exchange-Diagnostics: 1;SN2PR15MB0944;2:KqKFa26mNtD/R/ULyBjCMgbDyrWE7Hoj8zm0VoWCbGFHEvaFctGU0JI5E6BIr8vOn+l/sJbZvMuHq0GoVB9fSbmdoHJwLc8vGWaN9Sq1nJ6NXV6VMQFTDAd35TviDsF4Id/Poo9Oz/Et527s9B9cYHcgKQKQSBKGYVkLTgiLH1xxKrTb2tO24og/avxQVpUN;3:cwYfcY07blJxd90cqh6nVmyzy6ke95lxLWBkeOQdoaGATqVk5e6FE17dkDIkg05rDsNe8jvbr9ux+yUZ4D7zRhvZi2MovcmI9H+6SnODL3XexInRqsnsPTm9DGT43nu+ X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:;SRVR:SN2PR15MB0944; X-Microsoft-Exchange-Diagnostics: 1;SN2PR15MB0944;25:Lgk1aWuyiFcz0wBXukwoEDYsg/9ERBgzt2Yg6FsTxLGWclFysVh6PMggaUtAfMeBDtUW1PcClh6jy7sufREwqVHVLFBcXb5e6noK6tKofM3Toxv2YFqjQHZOSWMkKZDS8iEGj8ZJklYQwPo4Kt4V42nS/jEbsepuPVaK32Ua/wdbHc7yv1WVjA4+OjESCxW19QkpT20VDwOOVjjgOFE0ZiVfJ8HdaKAfqQXT046ukwecU71ExxTEPGEXyHW3MfRQQsb5fAzGnB02MkRrnX0ijYuTeEyNfXloWISZhSiUQlxdN9j2/53NY6MIjkK8yjYlHVg9Nqs7CDVoFJELqkI52bzlARD7LvLDxe69RuKLNf3HLwaWVsqlMZK1znKpwQD+ooDTRT6Ftz56MLMz2j0WTnXlr7MoCu+pQZT/WRzPfDE32HZVvp6U6a/eHYpdzMKopSnKeHYeOzXrT7zN7cK5K5xYPD6J5zd3PB/ycsYReKqUg4L7teM8QlvyHJ0M5wJsIzQqvjfFSvuWuEXXuGNrG9EfUdN9FHlaX7Ywu9l6nXYFl2vcOFi2Um+QwkfD1SbPNQmUKfkByimsHyhxvmL7gjYY0irzr2JPEGHhBlvWuvsjEZ/+WyqR8HbmXB+l6RR7VfOQc7hRUPkUCiswPBg8JwS2nEvZXYP/HBzSFWQ7tBHlrwnbFsEwhBAD0wWsriqPL6j+GkC47LxBg6VdmfVuC7lwBmTw1VvXbUNyGxlsQ9M= X-Microsoft-Exchange-Diagnostics: 1;SN2PR15MB0944;31:tk2qGsQQ9RC9bHC7TAnqP2I3/1rjwf0TpGgEV0oaSwJY1/tocPYrinNHrECO4ObBk/fe4fK6o7h79k91yggGOVo8O+4aR0EJoLyprFpxb5AZ3wdF2flcxxH3bKT1VA3koabt3PDm8H42dRyjtoCvPhXiLPH5V9p2whZpf8sGyPXPc8iR26B0EG5P8EhIk57VHd/Gl/f5ANaP8On285oKn79hYof2XUbNKf9KMpJhIbU=;20:ik+qXwGl7McedY8ZtAykgOlAV7FaBnQTTkqb3LDSBQ0pRBi+I/X70jEpZiJ5E9yoGVmZ+XGqtAsCBBkC1stjLWgS7Or3mTxNEsEUE2jOKf+Z2KtFHrUMglAJg3y3aZF4pNpXqlqCB6wmFquRWEsBBTvN/2LJqgnT/SNnVrfNQqo=;4:c2TnVBXA2fZePb8A0xkHCaOmDRi4H54kFq+c5UPqfGlREfBX8CdR3yZo/neOQooJ07HWOLP0TW3HgDdqfi2am8jfAbW8XmCTco0bv0mjhIkmCe2lfQ/kPYI1qcULLjS4uQuA3N9R0u4BRUwdhevc1uMjd9UYhLMJW3VDNMIuQOsvfNdKjk+DFwF/MjyadrhiAOdIYaT1hhaU+qu7m0BIJaGTuUsIWuQSGqfBseIK0ozVh4gztb9u933gR8nfpZvPWAVkqmA4+ktvBW3ztzJDyROjMfc+kk5rxu1k9sDwJt/WyZcuWffmwYntIDjy6QaP3wotIpx3bnj00hXWYV9s+hn+D3KOxMWOoMX1UewfXonRvRUCaRWCAJ76j17ePxdAkuQ68Cxx6Zye/OgOOu/jh7v9Na4TuLvoncibiKtcpQ7TbEKyE+qBufbI6Qrxzylu X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(228905959029699); X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(6040176)(601004)(2401047)(8121501046)(5005006)(3002001)(10201501046);SRVR:SN2PR15MB0944;BCL:0;PCL:0;RULEID:;SRVR:SN2PR15MB0944; X-Forefront-PRVS: 00594E8DBA X-Forefront-Antispam-Report: SFV:NSPM;SFS:(10019020)(4630300001)(6009001)(7916002)(189002)(199003)(24454002)(2906002)(81166006)(97756001)(81156014)(9686002)(97736004)(105586002)(8676002)(93886004)(19580405001)(2950100001)(7736002)(7416002)(19580395003)(4326007)(106356001)(68736007)(92566002)(47776003)(33656002)(305945005)(7846002)(98436002)(46406003)(50986999)(189998001)(4001350100001)(50466002)(76176999)(6116002)(86362001)(101416001)(54356999)(83506001)(110136002)(586003)(42186005)(1076002)(5660300001)(23726003)(77096005)(18370500001)(3826002);DIR:OUT;SFP:1102;SCL:1;SRVR:SN2PR15MB0944;H:shli-mbp.local;FPR:;SPF:None;PTR:InfoNoRecords;MX:1;A:1;LANG:en; X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1;SN2PR15MB0944;23:ycsLTmKpjSYYBzXCl5/3ap4ZrC+0FJu/puQDyph0P?= =?us-ascii?Q?JjnEA8+mrAdpzT1kE1C06zyd8npApsAlmHKMN3tISjBLg14sRgAlqNCcKvfY?= =?us-ascii?Q?lmcHGtv2qx5qdsFYlc9aZ7V3B6pVF9pCekaZKt50ctGa/Nfz+3LwU4ZoHemt?= =?us-ascii?Q?/e5HnNkEEtMN2ON0HDAfJ15nthwiT7pX+Y4Uix3TKIAzg3O1Shjl3iPeLR/a?= =?us-ascii?Q?Zsud7D4tRUHxAHlu6c3LHrda37mVGrYVCmeu1e36NOnXDY4qGpu+R1LNQZIM?= =?us-ascii?Q?UNmpsj6sZPjmvDAAEDHOEfjVKAcGKiN2tYz5dZ6jO2vNHgMoInqXeaXTWQ8Y?= =?us-ascii?Q?vBQfmSV8Ii94IdJA8A9J7rc67o9jTS7ORIcDLOatgn6iwDRrORacG9KrASZ6?= =?us-ascii?Q?Tk2cpJx9RYF2ItLHAKaVDobmPxZKQWPcSX5ibzyS5DFZgYWOJH9B2OHJvzko?= =?us-ascii?Q?4QdyEfnQThiY6Yw8FRH/b/DUe0JBHbJ16n7ANbnD7uWXtWftmwfvuFNsXHd1?= =?us-ascii?Q?UjfkWI1hyw/UKb6G4NRG2CgxHcCw9rFQeZrsMsvor23uP+2yxL+9IRV79F9I?= =?us-ascii?Q?pmolR3CYde9Xiu6zUwmmAyZR60eUa6fo374XlLxH3isV0efLSZvpwyoikh1h?= =?us-ascii?Q?Iz0HDeSqH6pse7CVV7qSz2QlR+w1BY4rjVIgtFQxZtRUzptK2Q5JxBo1XcZG?= =?us-ascii?Q?6dY3A4sq5VRhw8zIgfNo3V0K4I5Nz+YT+LmrHRTx/EaetqfykLf9S+pWX1P4?= =?us-ascii?Q?QdxcuiOGb0x1gGUHi9yCkJWNfE06uFWZ5pelnrm8sbi3bNjoPKcG4YhAiogN?= =?us-ascii?Q?vpj9ClRPCywZ/nN/CksfgUMbsfkT8Sy1twtNsbplMbxWVtth8qvaXIwfzeYc?= =?us-ascii?Q?4xumINUCZb1hVAt3d2/wWqLRFMvJ/GiZTgafbix+2fGZVbRCequ0EqZMS8IQ?= =?us-ascii?Q?QtHqJRKco+ybJpSO1jwrNaKfQqKUD8nr0OBb4ilIxObYsFj6ZO/kUHSpnROe?= =?us-ascii?Q?QTdvGPr/DVDK6xMbivkmu4p4nqLCYvDc0BzRyrOl66HhmpiIdbFCPyWH3jzK?= =?us-ascii?Q?b578PAOQ9Upgkep0ovWjEMdjf77HU36FO9U8p1Ju2nSxCzes3eTne3PKBKYX?= =?us-ascii?Q?7IhbxupndZzddntPsna26hRQiSFoUSRRst4a7WsCDRiwKlz36cGiwuWfpgbA?= =?us-ascii?Q?+r/AopD0JuO0yqUupT/oYDYu8cVDFBW4fA784lBG3fkDa3VpZREHE0R+w=3D?= =?us-ascii?Q?=3D?= X-Microsoft-Exchange-Diagnostics: 1;SN2PR15MB0944;6:dI4/wCEv5orw4yR/rFHCm022iaDgeCz1IPFNDT8SQeM9mNeT+nTAzk3pFwlQREZi9VHHXjPGdOigCRNRrvLn2k+vBSGPp/mbLR1J+T9ppJyDUU9dgPPmC0zBSzkv2eN2VHA50zVNua+NMeUMjh/G2fLXWIOcONycoPoLDnyhqKt9lYGPtFxg911zQh3MVH1biwjSIZNeu3C9P3gtbNl81jUm6HBreRaIu1Rlxf7zz33GFL8vXTZpf8vhAUu0z+7yiSq/1Mkj4fCICFH3uxtc9DqHSy1VMC9w5Y0Z8CWTWxw=;5:/4VliYfw1Oqc5umNrn9euRK/E8cLLJ9chAONTfW8d/hYszkNYfjc7clahfQZ/tFCmIhwFu7b84WN5zv4zutVXZzLo92ipShliduWk0jdgPDaCK+rI5hYQalk6WZVer0MicxmXbp7Zl8x42a2HInf8w==;24:WMRK4fxH951dBlcO2IE8eIH1tVi1mMwMf+Z/z+IFgmq9Osdc/0uyhG3XRyfinrB7CUzjFLGaY8dmlrZ3vzibPX/S2K7SAXgrbiAGrdLMiSs=;7:zKUyRDtQnfZ7ov3y5Nv7hVBO3Xxb9DRE5kMbnUaOeY/Tax+mSCkVdNQKi72+pykJXUOSyQD47MqsgCBRWvSIEutQiME8iqBIlpMREq4lMCMI+N9WIDcSw81tJ8w6otsIlRqUGx5nOxs/ZR79VaHTWoH0cZ7/pq0UhZpt1Z/uZK0QACILwYddrzATBqJWZlWsIhu/J8HgKYxyuGIsdgib9Vmns1E5OJ/6Td/4o/3lEpRQkJpO6TAWKAa1ytrUIQrY SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1;SN2PR15MB0944;20:K7kakvT2KgDYb1zRNTWiaBWwgz+NY6tkx6Afwb0q8ZS8g7JWSK8XsvYme9qxZoQXoEpGpqQFa8cn2Lzfm8N8Qjl88oQRPNZc5GfEx2Qzv8CXohryMffLESccHzHU/lZW2nGLe2dj4XETWdKUc+aiiUQ2yOCi3yysz08NRvpjN4I= X-MS-Exchange-CrossTenant-OriginalArrivalTime: 08 Sep 2016 22:45:24.9461 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: SN2PR15MB0944 X-OriginatorOrg: fb.com X-Proofpoint-Spam-Reason: safe X-FB-Internal: Safe X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10432:,, definitions=2016-09-08_11:,, signatures=0 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Thu, Sep 08, 2016 at 06:17:47PM -0700, Fenghua Yu wrote: > On Thu, Sep 08, 2016 at 03:01:20PM -0700, Shaohua Li wrote: > > On Thu, Sep 08, 2016 at 02:57:00AM -0700, Fenghua Yu wrote: > > > From: Fenghua Yu > > > > > > The documentation describes user interface of how to allocate resource > > > in Intel RDT. > > > > > > Please note that the documentation covers generic user interface. Current > > > patch set code only implemente CAT L3. CAT L2 code will be sent later. > > > > > > Signed-off-by: Fenghua Yu > > > Reviewed-by: Tony Luck > > > --- > > > Documentation/x86/intel_rdt_ui.txt | 164 +++++++++++++++++++++++++++++++++++++ > > > 1 file changed, 164 insertions(+) > > > create mode 100644 Documentation/x86/intel_rdt_ui.txt > > > > > > diff --git a/Documentation/x86/intel_rdt_ui.txt b/Documentation/x86/intel_rdt_ui.txt > > > new file mode 100644 > > > index 0000000..27de386 > > > --- /dev/null > > > +++ b/Documentation/x86/intel_rdt_ui.txt > > > @@ -0,0 +1,164 @@ > > > +User Interface for Resource Allocation in Intel Resource Director Technology > > > + > > > +Copyright (C) 2016 Intel Corporation > > > + > > > +Fenghua Yu > > > +Tony Luck > > > + > > > +This feature is enabled by the CONFIG_INTEL_RDT Kconfig and the > > > +X86 /proc/cpuinfo flag bits "rdt", "cat_l3" and "cdp_l3". > > > + > > > +To use the feature mount the file system: > > > + > > > + # mount -t resctrl resctrl [-o cdp,verbose] /sys/fs/resctrl > > > + > > > +mount options are: > > > + > > > +"cdp": Enable code/data prioritization in L3 cache allocations. > > > + > > > +"verbose": Output more info in the "info" file under info directory > > > + and in dmesg. This is mainly for debug. > > > + > > > + > > > +Resource groups > > > +--------------- > > > +Resource groups are represented as directories in the resctrl file > > > +system. The default group is the root directory. Other groups may be > > > +created as desired by the system administrator using the "mkdir(1)" > > > +command, and removed using "rmdir(1)". > > > + > > > +There are three files associated with each group: > > > + > > > +"tasks": A list of tasks that belongs to this group. Tasks can be > > > + added to a group by writing the task ID to the "tasks" file > > > + (which will automatically remove them from the previous > > > + group to which they belonged). New tasks created by fork(2) > > > + and clone(2) are added to the same group as their parent. > > > + If a pid is not in any sub partition, it is in root partition > > > + (i.e. default partition). > > Hi Fenghua, > > > > Will you add a 'procs' interface to allow move a process into a group? Using > > the 'tasks' interface to move process is inconvenient and has race conditions > > (eg, some new threads could be escaped). > > We don't plan to add a 'procs' interface for rdtgroup. We only use resctrl > interface to allocate resources. > > Why the "tasks" is inconvenient? If sysadmin wants to allocte a portion of L3 > for a pid, the operation in resctl is to write the pid to a "tasks". While > in 'procs', the operation is to write a partition to a pid. If considering > convenience, they are same, right? > > A thread uses either default partition (in root dir) or a sub partition (in > sub-directory). Sysadmin can control that. Kernel handles race condition. > Any issue with that? I don't mean writing the 'tasks' file is inconvenient. So to move a process to a group, we do: 1. get all thread pid of the process 2. write every pid to 'tasks' this is inconvenient. And if a new thread is created between 1 and 2, we don't put the thread to the group. Am I missing anything? Thanks, Shaohua