Received: by 2002:a05:6a10:22f:0:0:0:0 with SMTP id 15csp1582309pxk; Fri, 4 Sep 2020 13:11:19 -0700 (PDT) X-Google-Smtp-Source: ABdhPJy9DXxOMWRwfhCi+k/ynVq9dZij1aDb2t9PxqEUrq8na+y2A32GBj5Uag0cJmdxKGMDUknA X-Received: by 2002:a05:6402:1773:: with SMTP id da19mr9994615edb.171.1599250278862; Fri, 04 Sep 2020 13:11:18 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1599250278; cv=none; d=google.com; s=arc-20160816; b=i/59NGz8xB3p8rZkx7+lHh6j/Cy2GR87SM4qdwVhsEkd0h2Znk2KPOrZl+ArfCkMcz J/Pv2Kr0ExEcXLAkz17d5suO3y9eX6isTX9+8H/R8KXx/WJRDWxZodx906F/lEmiQ7u1 N+BscH6ZpqhwYuomCunGkVjVNSRkP9VG9D0YIQ/bGc8yQiCM9OVQeId3AM16iVg8Lo6C GIqN+2kc0Rto4xt0JEbXnxwcMz2DJz/Wzz7ipLJoQ3iApquTO3fCLRReVNCE8ONUz9bu Ua9hRsYvedIQqmVFwVCuKPi0+8zTgZCQmzCepBaK6GJfPRAq1zdfhwHvF9VZKOwNzZqZ 5QIw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding:mime-version :message-id:to:from:cc:in-reply-to:subject:date:dkim-signature; bh=KJ5NxE/Sb6vg2FlBfCPguPeBw4GYPPc+Jx6ElFQ+lVk=; b=EkS+Xby4iImqqEN0S9ip+ksls6G22Uf5HnIIMQVcAuzqVAjHRcZXWiNG/O4YWWeT7s awtt2OAmVVE29cg0JSvmnYBimN3SA5/e4AVCJ76/ly4SgayRx7f0oMeX0wMrdpIDg6mk m0V0JXlZ1cvF+8Ko6yMHouGvxsyuHaQDEtYzkvo2SNSwXy+o2KrBYZJpACa2ctZfrNWD tX2vl7+AG2wJlt+JMXk7Em0ynof3cUJyBZfjJ91h/DhrCaoI19zUC2yduV47a4Th8IWx 1C87anS0s3o4VPm6JU+0K8EjY0x4cYMqgAWry+g2cLJmj/Krw/Uf3bIOT5/BjMelo14A MidA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@dabbelt-com.20150623.gappssmtp.com header.s=20150623 header.b=hJ3WmZA7; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id v6si4412129edt.456.2020.09.04.13.10.56; Fri, 04 Sep 2020 13:11:18 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@dabbelt-com.20150623.gappssmtp.com header.s=20150623 header.b=hJ3WmZA7; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727990AbgIDUKD (ORCPT + 99 others); Fri, 4 Sep 2020 16:10:03 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:56388 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726618AbgIDUKB (ORCPT ); Fri, 4 Sep 2020 16:10:01 -0400 Received: from mail-pg1-x541.google.com (mail-pg1-x541.google.com [IPv6:2607:f8b0:4864:20::541]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 9B0BCC061244 for ; Fri, 4 Sep 2020 13:10:01 -0700 (PDT) Received: by mail-pg1-x541.google.com with SMTP id p37so4882478pgl.3 for ; Fri, 04 Sep 2020 13:10:01 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=dabbelt-com.20150623.gappssmtp.com; s=20150623; h=date:subject:in-reply-to:cc:from:to:message-id:mime-version :content-transfer-encoding; bh=KJ5NxE/Sb6vg2FlBfCPguPeBw4GYPPc+Jx6ElFQ+lVk=; b=hJ3WmZA7gEEz+H1WLmMkcHdQk079WgWN2Jghvkz4jwGsYwuMpM3+IoXFRbd+5IybMD hPRwI8GnwqsqEtnP2YmOvrj2sTufMq2VH1W/5c6SGC3ORWlwzhDiyjLzaEbO7fGSeq4s RhaeWSKtfxm6L4sByoQ1C/zsAZbtqGXsdQokKOlQdOkMoqelUMPWrKID/vvaXGKMhfny Aq1cmcd8z8sZxvhL62TiVrBUezigtar0E7wEsDCZxq4IKOjCOXBtQoZ2bGFd/JZogUAW HnIzIsdveHt3lNk5PSoscfX/FmHtVpclh3yeOAZ+IXx1QpJFwsT/Y4lppOY51TRFF/6E j6cg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:date:subject:in-reply-to:cc:from:to:message-id :mime-version:content-transfer-encoding; bh=KJ5NxE/Sb6vg2FlBfCPguPeBw4GYPPc+Jx6ElFQ+lVk=; b=dibWtDRZm2Jxp4GRMYbcsvTM+3DV9oVoBzxyc8Du4Yb0o7jtQLM8PEV0o2WeGUWkZH rgGHADDTph6FxkPZh+zP4Mcch7dvi6fTNdsjoGbe/j/ZICRELMJQ1igVU5pwkxCTJ0CH bZHDN0M82HWIthzknsP4Bk6vQK2KKO64ioqhqpIAsU6pF0M4TGXgR5UXpEuxLNY+NvJ8 zF0XoUNtiFJYJ57i9P7q3qFu052yS/fEGk7yHSZUQsX7L+oYpow0gey43dhAjmIpmNlz LH0iCr57kASJYpSKeeOocP5H2WvNyw+Fi7G83yiIo8UrFxKZ/xv4npyqbzxXKJJTpxoe N9tg== X-Gm-Message-State: AOAM533L464YKHwz6YcbvRWioZS2dttEwfzcY1xPlXO+Oeik/3HyoMlW WckfqxrrzWIdR4UKe/JfYkkUGA== X-Received: by 2002:a63:e249:: with SMTP id y9mr8619036pgj.117.1599250201009; Fri, 04 Sep 2020 13:10:01 -0700 (PDT) Received: from localhost (76-210-143-223.lightspeed.sntcca.sbcglobal.net. [76.210.143.223]) by smtp.gmail.com with ESMTPSA id 82sm6442524pgd.6.2020.09.04.13.10.00 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 04 Sep 2020 13:10:00 -0700 (PDT) Date: Fri, 04 Sep 2020 13:10:00 -0700 (PDT) X-Google-Original-Date: Fri, 04 Sep 2020 13:09:58 PDT (-0700) Subject: Re: [PATCH v4 0/3] Get cache information from userland In-Reply-To: CC: Paul Walmsley , david.abdurachmanov@sifive.com, linux-riscv@lists.infradead.org, linux-kernel@vger.kernel.org, zong.li@sifive.com From: Palmer Dabbelt To: zong.li@sifive.com Message-ID: Mime-Version: 1.0 (MHng) Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 8bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Mon, 31 Aug 2020 00:33:47 PDT (-0700), zong.li@sifive.com wrote: > There are no standard CSR registers to provide cache information, the > way for RISC-V is to get this information from DT. Currently, AT_L1I_X, > AT_L1D_X and AT_L2_X are present in glibc header, and sysconf syscall > could use them to get information of cache through AUX vector. We > exploit 'struct cacheinfo' to obtain the information of cache, then we > don't need additional variable or data structure to record it. > > We also need some works in glibc, but we have to support the function in > kernel first by rule of glibc, then post the patch to glibc site. > > The result of 'getconf -a' as follows: > > LEVEL1_ICACHE_SIZE 32768 > LEVEL1_ICACHE_ASSOC 8 > LEVEL1_ICACHE_LINESIZE 64 > LEVEL1_DCACHE_SIZE 32768 > LEVEL1_DCACHE_ASSOC 8 > LEVEL1_DCACHE_LINESIZE 64 > LEVEL2_CACHE_SIZE 2097152 > LEVEL2_CACHE_ASSOC 32 > LEVEL2_CACHE_LINESIZE 64 > > Changed in v4: > - Check null pointer before use. > - Re-write the code for readability. > - Rebase source to v5.9-rc3. > > Changed in v3: > - Fix sparse warning: Use NULL instead of integer 0. > > Changed in v2: > - Add error checking for parsing cache properties. > > Zong Li (3): > riscv: Set more data to cacheinfo > riscv: Define AT_VECTOR_SIZE_ARCH for ARCH_DLINFO > riscv: Add cache information in AUX vector > > arch/riscv/include/asm/cacheinfo.h | 5 ++ > arch/riscv/include/asm/elf.h | 13 ++++ > arch/riscv/include/uapi/asm/auxvec.h | 24 +++++++ > arch/riscv/kernel/cacheinfo.c | 98 +++++++++++++++++++++++----- > 4 files changed, 124 insertions(+), 16 deletions(-) Ah, I just saw these so they're in instead of the v2. Thanks!