[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <OSBPR01MB20378E5F3D1C2394434F0E0380BA9@OSBPR01MB2037.jpnprd01.prod.outlook.com>
Date: Thu, 30 Jun 2022 05:24:46 +0000
From: "tarumizu.kohei@...itsu.com" <tarumizu.kohei@...itsu.com>
To: "'Luck, Tony'" <tony.luck@...el.com>,
'Linus Walleij' <linus.walleij@...aro.org>
CC: Greg KH <gregkh@...uxfoundation.org>,
"catalin.marinas@....com" <catalin.marinas@....com>,
"will@...nel.org" <will@...nel.org>,
"tglx@...utronix.de" <tglx@...utronix.de>,
"mingo@...hat.com" <mingo@...hat.com>,
"bp@...en8.de" <bp@...en8.de>,
"dave.hansen@...ux.intel.com" <dave.hansen@...ux.intel.com>,
"x86@...nel.org" <x86@...nel.org>, "hpa@...or.com" <hpa@...or.com>,
"rafael@...nel.org" <rafael@...nel.org>,
"lenb@...nel.org" <lenb@...nel.org>,
"mchehab+huawei@...nel.org" <mchehab+huawei@...nel.org>,
"eugenis@...gle.com" <eugenis@...gle.com>,
"pcc@...gle.com" <pcc@...gle.com>,
"peterz@...radead.org" <peterz@...radead.org>,
"marcos@...a.pet" <marcos@...a.pet>,
"marcan@...can.st" <marcan@...can.st>,
"nicolas.ferre@...rochip.com" <nicolas.ferre@...rochip.com>,
"conor.dooley@...rochip.com" <conor.dooley@...rochip.com>,
"arnd@...db.de" <arnd@...db.de>, "ast@...nel.org" <ast@...nel.org>,
"peter.chen@...nel.org" <peter.chen@...nel.org>,
"kuba@...nel.org" <kuba@...nel.org>,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
"linux-arm-kernel@...ts.infradead.org"
<linux-arm-kernel@...ts.infradead.org>,
"linux-acpi@...r.kernel.org" <linux-acpi@...r.kernel.org>
Subject: RE: [PATCH v5 0/6] Add hardware prefetch control driver for A64FX and
x86
Hi Tony,
Thanks for the comment.
> Another approach would be to make the set of prefetch settings a task attribute.
> Then set them in the context switch code when the process is about to run on
> a CPU.
>
> But that assumes you can cheaply change the attributes. If doing so requires
> multiple MSR writes (on x86) it might be a non-starter.
On the x86 and A64FX, each parameter for controlling hardware prefetch
is contained in one register. The current specification makes each
parameter a separate attribute, so we need to write as many times as
there are parameters to change. However it is possible to change the
attribute with one MSR write per core by changing multiple parameters
before the context switch.
Powered by blists - more mailing lists