From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-9.0 required=3.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI, MENTIONS_GIT_HOSTING,SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 9499FC47082 for ; Mon, 7 Jun 2021 08:13:54 +0000 (UTC) Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 5BD4B611ED for ; Mon, 7 Jun 2021 08:13:54 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 5BD4B611ED Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=alien8.de Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender: Content-Transfer-Encoding:Content-Type:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:In-Reply-To:MIME-Version:References: Message-ID:Subject:Cc:To:From:Date:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=19BR9WPApx9eIOWXaYRlBKIe9SrJ48HEUfzJTUNGCGk=; b=mlRE2pQD2fCTpM ds63ieeULXwo8GAGDlz2HWpYSWV8Q4tw7jKLi4jBXyGWBwX44jf5jPbgGvFGXMk4w0KoraODTJGcw IXnuMoBrE1zyfBXNORXyHwdlztj1EVadR8StBsw0G0trM1wc64s4jblRPzLU8b1OEsugEUCj3BTiA CtfkfW2XrXemI7I+BJKQoBq22FBqpKJlvCJB4/H+f71wfl2Ex3MOm1ZFS7Ps7D63w2LmtQxzGdJJK wXDbaOBoMS/lCh8gbNh43h+NqfusPCPDnkG/Mi2yS+/+0tvpGops3UE/L5qYUgL0a8P20Uux/TQRg 6+2Pp8qTEsIo45UidVRQ==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1lqAMF-002DTR-Ea; Mon, 07 Jun 2021 08:11:39 +0000 Received: from mail.skyhub.de ([5.9.137.197]) by bombadil.infradead.org with esmtps (Exim 4.94.2 #2 (Red Hat Linux)) id 1lqAM5-002DOJ-8S for linux-arm-kernel@lists.infradead.org; Mon, 07 Jun 2021 08:11:35 +0000 Received: from zn.tnic (p200300ec2f0b4f006e4c94f9871f2fda.dip0.t-ipconnect.de [IPv6:2003:ec:2f0b:4f00:6e4c:94f9:871f:2fda]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.skyhub.de (SuperMail on ZX Spectrum 128k) with ESMTPSA id 20AEB1EC0301; Mon, 7 Jun 2021 10:11:24 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=alien8.de; s=dkim; t=1623053484; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=E7oPS1JSMIPJij/TKmlCBqAd+aGlcH8CadLEnsW68DE=; b=enzfqxWJY0gjeWkjK76WQKivMmbXYViHX0woydlavSAYQXDATAbFFyk023IkjnDaIdS+wS VMBpog5qrTQefKTNZuvx7sf8PKDY5Bfs6NbVXK0u2WCRvN/GwpgugXVRU+tKuNBeUra1Fe zAOXnj4bIQsLjLcmwfAIS+VcWAIvMjo= Date: Mon, 7 Jun 2021 10:11:16 +0200 From: Borislav Petkov To: "tarumizu.kohei@fujitsu.com" , linux-arm-kernel@lists.infradead.org Cc: "'hpa@zytor.com'" , "'tglx@linutronix.de'" , "'mingo@redhat.com'" , "'x86@kernel.org'" , "'linux-kernel@vger.kernel.org'" Subject: Re: [RFC] Adding A64FX hardware prefetch sysfs interface Message-ID: References: MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20210607_011129_560738_52F77004 X-CRM114-Status: GOOD ( 28.29 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org SGksCgoobm90IHRyaW1taW5nIHRoZSBtYWlsIHNvIHRoYXQgQVJNIGZvbGtzIGNhbiBzZWUgdGhl IHdob2xlIHRoaW5nKQoKT24gTW9uLCBKdW4gMDcsIDIwMjEgYXQgMDE6Mzk6MjFBTSArMDAwMCwg dGFydW1penUua29oZWlAZnVqaXRzdS5jb20gd3JvdGU6Cj4gSGVsbG8KPiAKPiBJJ20gS29oZWkg VGFydW1penUgZnJvbSBGdWppdHN1IExpbWl0ZWQuIAo+IAo+IEZ1aml0c3UgQTY0RlggcHJvY2Vz c29yIGltcGxlbWVudHMgYSB2ZW5kb3Igc3BlY2lmaWMgZnVuY3Rpb24sIHRoZSBIUEMgZXh0ZW5z aW9uc1sxXS4KPiBBNjRGWCBoYXMgc29tZSByZWdpc3RlcnMgZm9yIEhQQyBleHRlbnNpb25zLgo+ IFdlIHdvdWxkIGxpa2UgdG8gdXNlIHRoZSByZWdpc3RlciBJTVBfUEZfU1RSRUFNX0RFVEVDVF9D VFJMX0VMMCBmb3IgdHVuaW5nIHRoZSBoYXJkd2FyZSBwcmVmZXRjaCwgYnV0IGl0J3Mgbm90IGFj Y2Vzc2libGUgZnJvbSB1c2Vyc3BhY2UuCj4gV2UgYXJlIGNvbnNpZGVyaW5nIHRvIGltcGxlbWVu dCBhIGtlcm5lbCBjb21tb24gaW50ZXJmYWNlIHZpYSBzeXNmcyBhcyBhIHdheSB0byBjb250cm9s IElNUF9QRl9TVFJFQU1fREVURUNUX0NUUkxfRUwwIGZyb20gdXNlcnNwYWNlLgo+IEZZSSwgQTY0 RlggYWxzbyBoYXMgcmVnaXN0ZXJzIChlLmcuIElNUF9QRl9JTkpFQ1RJT05fKikgdG8gY29udHJv bCB0aGUgYmVoYXZpb3Igb2YgdGhlIGhhcmR3YXJlIHByZWZldGNoIGZyb20gdGhlIHNvZnR3YXJl IHVzaW5nICJIUEMgdGFnIGFkZHJlc3Mgb3ZlcnJpZGUiLCBidXQgdGhpcyB0aW1lIHdlIGRvbid0 IGNvbnNpZGVyZWQuCj4gCj4gWzFdaHR0cHM6Ly9naXRodWIuY29tL2Z1aml0c3UvQTY0RlgvdHJl ZS9tYXN0ZXIvZG9jLwo+ICAgIEE2NEZYX1NwZWNpZmljYXRpb25fSFBDX0V4dGVuc2lvbl92MV9F Ti5wZGYKPiAKPiBUaGlzIHJlZ2lzdGVyIGlzIHNpbWlsYXIgdG8gdGhlIE1TUiByZWdpc3RlcnMg MHgxQTQoTVNSX01JU0NfRkVBVFVSRV9DT05UUk9MKVsyXSBhbmQgaXRzIGRldGFpbHMgYXJlIGRl c2NyaWJlZCBpbiBbU2ltaWxhcml0eSBvZiBlYWNoIHJlZ2lzdGVyXS4KPiBGcm9tIHRoZSBkaXNj dXNzaW9uIGFib3V0IHRoZSBNU1IgZHJpdmVyLCBJIHVuZGVyc3Rvb2QgaXQgaXMgbm90IGdvb2Qg aWRlYSB0byBhY2Nlc3MgcmVnaXN0ZXJzIGRpcmVjdGx5IGZyb20gdXNlcnNwYWNlLCBhbmQgdGhh dCB3ZSB3YW50IHRvIG1vdmUgaXQgdG8gdGhlIHByb3BlciBpbnRlcmZhY2UuCj4gCgpUaGF0J3Mg dmVyeSBuaWNlIG9mIHlvdSB0aGF0IHlvdSdyZSBhc2tpbmcgdXBmcm9udCwgdGhhbmtzIQoKPiBX ZSB0aGluayBpdCB3b3VsZCBiZSBiZXR0ZXIgdG8gaGF2ZSB0aGUgY29tbW9uIGludGVyZmFjZSB3 aGljaCBjYW4gY29udHJvbCB0aGVzZSByZWdpc3RlcnMgaW4gdGhlIGZ1dHVyZS4KPiBUaGVyZWZv cmUsIHdlIHdvdWxkIGxpa2UgdG8gZGVzaWduIG5ldyBzeXNmcyBpbnRlcmZhY2UsIGNvdWxkIHlv dSBnaXZlIG1lIHNvbWUgYWR2aWNlPwo+IAo+IFsyXWh0dHBzOi8vc29mdHdhcmUuaW50ZWwuY29t L2NvbnRlbnQvd3d3L3VzL2VuL2RldmVsb3AvYXJ0aWNsZXMvZGlzY2xvc3VyZS1vZi1ody1wcmVm ZXRjaGVyLWNvbnRyb2wtb24tc29tZS1pbnRlbC1wcm9jZXNzb3JzLmh0bWwKPiAKPiBbU2ltaWxh cml0eSBvZiBlYWNoIHJlZ2lzdGVyXQo+ICogU2V0dGluZ3MgZm9yIEhhcmR3YXJlIFByZWZldGNo Cj4gICBUaGVzZSByZWdpc3RlcnMgZW5hYmxlIG9yIGRpc2FibGUgaGFyZHdhcmUgcHJlZmV0Y2hp bmcgZm9yIEwxL0wyIGNhY2hlLgo+ICAgVGhlIEE2NEZYJ3MgcmVnaXN0ZXIgYWxzbyBoYXZlICJQ cmVmZXRjaCBEaXN0YW5jZSAoYml0OiBbMjc6MjRdLCBbMTk6MTZdKSIgYW5kICJSZWxpYWJsZW5l c3MgYXR0cmlidXRlIGZvciBwcmVmZXRjaCBhY2Nlc3MgKGJpdDogWzU1XSwgWzU0XSkiLgo+ICog Tm90IGFjY2Vzc2libGUgZnJvbSB1c2Vyc3BhY2UKPiAgIEluIHRoZSBleHBlY3RlZCB1c2FnZSBz Y2VuZSAoZS5nLiBVc2VyIHdhbnRzIHRvIGRpc2FibGUgaGFyZHdhcmUgcHJlZmV0Y2gpLCBpdCBp cyBuZWNlc3NhcnkgdG8gYmUgYWJsZSB0byBhY2Nlc3MgZnJvbSB0aGUgdXNlcnNwYWNlLgo+ICog U2hhcmUgc2V0dGluZ3Mgb24gYSBwZXItQ1BVIGJhc2lzCj4gICBBNjRGWCdzIHJlZ2lzdGVyIGlz IHVzZWQgaW4gSFBDIGFwcGxpY2F0aW9ucyBhbmQgYXNzdW1lcyB0aGF0IHRoZSBwcm9jZXNzIGlz IGJvdW5kIHRvIG9uZSBjb3JlLgo+IAo+IEN1cnJlbnRseSwgdGhlIHBhdGggbmFtZSBoYXMgbm90 IGJlZW4gZGVjaWRlZCB5ZXQsIGJ1dCB3ZSBjb25zaWRlciBvZiB0aGUgZm9sbG93aW5nIHN0cnVj dHVyZSBsaWtlIGNwdWZyZXEoL3N5cy9kZXZpY2VzL3N5c3RlbS9jcHUvW0NQVU5VTV0vY3B1ZnJl cSkuCj4gCj4gL3N5cy9kZXZpY2VzL3N5c3RlbS9jcHUvW0NQVU5VTV0vcHJlZmV0Y2hlci8KCkZv ciB0aGF0IHdlIGFscmVhZHkgaGF2ZSBhIGhpZXJhcmNoeToKCnRyZWUgL3N5cy9kZXZpY2VzL3N5 c3RlbS9jcHUvY3B1MC9jYWNoZS8KL3N5cy9kZXZpY2VzL3N5c3RlbS9jcHUvY3B1MC9jYWNoZS8K 4pSc4pSA4pSAIGluZGV4MArilILCoMKgIOKUnOKUgOKUgCBjb2hlcmVuY3lfbGluZV9zaXplCuKU gsKgwqAg4pSc4pSA4pSAIGlkCuKUgsKgwqAg4pSc4pSA4pSAIGxldmVsCuKUgsKgwqAg4pSc4pSA 4pSAIG51bWJlcl9vZl9zZXRzCuKUgsKgwqAg4pSc4pSA4pSAIHBoeXNpY2FsX2xpbmVfcGFydGl0 aW9uCuKUgsKgwqAg4pSc4pSA4pSAIHNoYXJlZF9jcHVfbGlzdArilILCoMKgIOKUnOKUgOKUgCBz aGFyZWRfY3B1X21hcArilILCoMKgIOKUnOKUgOKUgCBzaXplCuKUgsKgwqAg4pSc4pSA4pSAIHR5 cGUK4pSCwqDCoCDilJzilIDilIAgdWV2ZW50CuKUgsKgwqAg4pSU4pSA4pSAIHdheXNfb2ZfYXNz b2NpYXRpdml0eQrilJzilIDilIAgaW5kZXgxCuKUgsKgwqAg4pSc4pSA4pSAIGNvaGVyZW5jeV9s aW5lX3NpemUK4pSCwqDCoCDilJzilIDilIAgaWQK4pSCwqDCoCDilJzilIDilIAgbGV2ZWwK4pSC wqDCoCDilJzilIDilIAgbnVtYmVyX29mX3NldHMKLi4uCgp0aGF0J3MgY3B1PE5VTT4vY2FjaGUv IGFuZCBJIGJlbGlldmUgQVJNIHNoYXJlcyBzb21lIG9mIHRoYXQgY29kZSB0b28uCgo+ICAgICBs MV9lbmFibGUgICA6IFRoaXMgc2V0cyBvciBkaXNwbGF5cyB3aGV0aGVyIGhhcmR3YXJlIHByZWZl dGNoIGlzIGVuYWJsZWQgZm9yIEwxIGNhY2hlLgo+ICAgICBsMl9lbmFibGUgICA6IFRoaXMgc2V0 cyBvciBkaXNwbGF5cyB3aGV0aGVyIGhhcmR3YXJlIHByZWZldGNoIGlzIGVuYWJsZWQgZm9yIEwy IGNhY2hlLgo+ICAgICBsMV9kaXN0ICAgICA6IFRoaXMgc2V0cyBvciBkaXNwbGF5cyB3aGV0aGVy IGhhcmR3YXJlIHByZWZldGNoIGRpc3RhbmNlIGZvciBMMSBjYWNoZS4KPiAgICAgbDJfZGlzdCAg ICAgOiBUaGlzIHNldHMgb3IgZGlzcGxheXMgd2hldGhlciBoYXJkd2FyZSBwcmVmZXRjaCBkaXN0 YW5jZSBmb3IgTDIgY2FjaGUuCj4gICAgIGwxX3JlbGlhYmxlIDogVGhpcyBzZXRzIG9yIGRpc3Bs YXlzIHdoZXRoZXIgcmVsaWFibGVuZXNzIGF0dHJpYnV0ZSBmb3IgcHJlZmV0Y2ggYWNjZXNzIGZv ciBMMSBjYWNoZS4KPiAgICAgbDJfcmVsaWFibGUgOiBUaGlzIHNldHMgb3IgZGlzcGxheXMgd2hl dGhlciByZWxpYWJsZW5lc3MgYXR0cmlidXRlIGZvciBwcmVmZXRjaCBhY2Nlc3MgZm9yIEwyIGNh Y2hlLgoKUmlnaHQsIHRoYXQgSSdkIGRlc2lnbiBkaWZmZXJlbnRseToKCgkuLi4vY2FjaGUvcHJl ZmV0Y2hlci9sMS8KCQkgICAgICAgICAgICAvbDEvZW5hYmxlCgkJCSAgICAvbDEvZGlzdAoJCSAg ICAgICAgICAgIC9sMS9yZWxpYWJsZQoJLi4uCQkgICAgL2wyLwoJLi4uCQkgICAgL2wzLwoKc28g dGhhdCB5b3UgaGF2ZSBhIGRpcmVjdG9yeSBwZXIgY2FjaGUgbGV2ZWwgYW5kIGluIHRoYXQgZGly ZWN0b3J5IHlvdQpoYXZlIGVhY2ggZmlsZS4KCkJ1dCBsZXQncyBsb29wIGluIEFSTSBmb2xrcyBh cyB0aGlzIGlzIGFuIEFSTSBDUFUgYWZ0ZXIgYWxsIGFuZCB0aGV5J2QKY2FyZSBmb3IgdGhhdCBj b2RlLgoKVGh4LgoKLS0gClJlZ2FyZHMvR3J1c3MsCiAgICBCb3Jpcy4KCmh0dHBzOi8vcGVvcGxl Lmtlcm5lbC5vcmcvdGdseC9ub3Rlcy1hYm91dC1uZXRpcXVldHRlCgpfX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpsaW51eC1hcm0ta2VybmVsIG1haWxpbmcg bGlzdApsaW51eC1hcm0ta2VybmVsQGxpc3RzLmluZnJhZGVhZC5vcmcKaHR0cDovL2xpc3RzLmlu ZnJhZGVhZC5vcmcvbWFpbG1hbi9saXN0aW5mby9saW51eC1hcm0ta2VybmVsCg== From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-10.8 required=3.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI, MENTIONS_GIT_HOSTING,SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 75289C47082 for ; Mon, 7 Jun 2021 08:11:33 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id 4FF12611C0 for ; Mon, 7 Jun 2021 08:11:33 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S230235AbhFGINW (ORCPT ); Mon, 7 Jun 2021 04:13:22 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:53688 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229436AbhFGINW (ORCPT ); Mon, 7 Jun 2021 04:13:22 -0400 Received: from mail.skyhub.de (mail.skyhub.de [IPv6:2a01:4f8:190:11c2::b:1457]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 1B2F4C061766 for ; Mon, 7 Jun 2021 01:11:31 -0700 (PDT) Received: from zn.tnic (p200300ec2f0b4f006e4c94f9871f2fda.dip0.t-ipconnect.de [IPv6:2003:ec:2f0b:4f00:6e4c:94f9:871f:2fda]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.skyhub.de (SuperMail on ZX Spectrum 128k) with ESMTPSA id 20AEB1EC0301; Mon, 7 Jun 2021 10:11:24 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=alien8.de; s=dkim; t=1623053484; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=E7oPS1JSMIPJij/TKmlCBqAd+aGlcH8CadLEnsW68DE=; b=enzfqxWJY0gjeWkjK76WQKivMmbXYViHX0woydlavSAYQXDATAbFFyk023IkjnDaIdS+wS VMBpog5qrTQefKTNZuvx7sf8PKDY5Bfs6NbVXK0u2WCRvN/GwpgugXVRU+tKuNBeUra1Fe zAOXnj4bIQsLjLcmwfAIS+VcWAIvMjo= Date: Mon, 7 Jun 2021 10:11:16 +0200 From: Borislav Petkov To: "tarumizu.kohei@fujitsu.com" , linux-arm-kernel@lists.infradead.org Cc: "'hpa@zytor.com'" , "'tglx@linutronix.de'" , "'mingo@redhat.com'" , "'x86@kernel.org'" , "'linux-kernel@vger.kernel.org'" Subject: Re: [RFC] Adding A64FX hardware prefetch sysfs interface Message-ID: References: MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hi, (not trimming the mail so that ARM folks can see the whole thing) On Mon, Jun 07, 2021 at 01:39:21AM +0000, tarumizu.kohei@fujitsu.com wrote: > Hello > > I'm Kohei Tarumizu from Fujitsu Limited. > > Fujitsu A64FX processor implements a vendor specific function, the HPC extensions[1]. > A64FX has some registers for HPC extensions. > We would like to use the register IMP_PF_STREAM_DETECT_CTRL_EL0 for tuning the hardware prefetch, but it's not accessible from userspace. > We are considering to implement a kernel common interface via sysfs as a way to control IMP_PF_STREAM_DETECT_CTRL_EL0 from userspace. > FYI, A64FX also has registers (e.g. IMP_PF_INJECTION_*) to control the behavior of the hardware prefetch from the software using "HPC tag address override", but this time we don't considered. > > [1]https://github.com/fujitsu/A64FX/tree/master/doc/ > A64FX_Specification_HPC_Extension_v1_EN.pdf > > This register is similar to the MSR registers 0x1A4(MSR_MISC_FEATURE_CONTROL)[2] and its details are described in [Similarity of each register]. > From the discussion about the MSR driver, I understood it is not good idea to access registers directly from userspace, and that we want to move it to the proper interface. > That's very nice of you that you're asking upfront, thanks! > We think it would be better to have the common interface which can control these registers in the future. > Therefore, we would like to design new sysfs interface, could you give me some advice? > > [2]https://software.intel.com/content/www/us/en/develop/articles/disclosure-of-hw-prefetcher-control-on-some-intel-processors.html > > [Similarity of each register] > * Settings for Hardware Prefetch > These registers enable or disable hardware prefetching for L1/L2 cache. > The A64FX's register also have "Prefetch Distance (bit: [27:24], [19:16])" and "Reliableness attribute for prefetch access (bit: [55], [54])". > * Not accessible from userspace > In the expected usage scene (e.g. User wants to disable hardware prefetch), it is necessary to be able to access from the userspace. > * Share settings on a per-CPU basis > A64FX's register is used in HPC applications and assumes that the process is bound to one core. > > Currently, the path name has not been decided yet, but we consider of the following structure like cpufreq(/sys/devices/system/cpu/[CPUNUM]/cpufreq). > > /sys/devices/system/cpu/[CPUNUM]/prefetcher/ For that we already have a hierarchy: tree /sys/devices/system/cpu/cpu0/cache/ /sys/devices/system/cpu/cpu0/cache/ ├── index0 │   ├── coherency_line_size │   ├── id │   ├── level │   ├── number_of_sets │   ├── physical_line_partition │   ├── shared_cpu_list │   ├── shared_cpu_map │   ├── size │   ├── type │   ├── uevent │   └── ways_of_associativity ├── index1 │   ├── coherency_line_size │   ├── id │   ├── level │   ├── number_of_sets ... that's cpu/cache/ and I believe ARM shares some of that code too. > l1_enable : This sets or displays whether hardware prefetch is enabled for L1 cache. > l2_enable : This sets or displays whether hardware prefetch is enabled for L2 cache. > l1_dist : This sets or displays whether hardware prefetch distance for L1 cache. > l2_dist : This sets or displays whether hardware prefetch distance for L2 cache. > l1_reliable : This sets or displays whether reliableness attribute for prefetch access for L1 cache. > l2_reliable : This sets or displays whether reliableness attribute for prefetch access for L2 cache. Right, that I'd design differently: .../cache/prefetcher/l1/ /l1/enable /l1/dist /l1/reliable ... /l2/ ... /l3/ so that you have a directory per cache level and in that directory you have each file. But let's loop in ARM folks as this is an ARM CPU after all and they'd care for that code. Thx. -- Regards/Gruss, Boris. https://people.kernel.org/tglx/notes-about-netiquette