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 Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by smtp.lore.kernel.org (Postfix) with ESMTP id 9CFF0C46467 for ; Mon, 16 Jan 2023 10:09:09 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 10A2C6B0071; Mon, 16 Jan 2023 05:09:09 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 0BA5B6B0072; Mon, 16 Jan 2023 05:09:09 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id EC4636B0073; Mon, 16 Jan 2023 05:09:08 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0014.hostedemail.com [216.40.44.14]) by kanga.kvack.org (Postfix) with ESMTP id DA1F96B0071 for ; Mon, 16 Jan 2023 05:09:08 -0500 (EST) Received: from smtpin14.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay07.hostedemail.com (Postfix) with ESMTP id A999F160247 for ; Mon, 16 Jan 2023 10:09:08 +0000 (UTC) X-FDA: 80360239176.14.1487EA4 Received: from mail-qt1-f171.google.com (mail-qt1-f171.google.com [209.85.160.171]) by imf02.hostedemail.com (Postfix) with ESMTP id 0272580004 for ; Mon, 16 Jan 2023 10:09:06 +0000 (UTC) Authentication-Results: imf02.hostedemail.com; dkim=none; dmarc=none; spf=pass (imf02.hostedemail.com: domain of geert.uytterhoeven@gmail.com designates 209.85.160.171 as permitted sender) smtp.mailfrom=geert.uytterhoeven@gmail.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1673863747; h=from:from:sender: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: in-reply-to:in-reply-to:references:references; bh=/kDLEtq+nWxDSi+y0oUmLdJdW5VKXAcidnDmusHhhfQ=; b=kaia2weq5pcc2cBmI9Zzv3HJmFQJYxA19/8vJhIpAgSP4EyEhmd+NzK/senaeViC2AJpBS 7XX6x95/ID6CXjUYuU2/tkn+2C2h0JAXnKSkrjs/enQ+bBNCwV7aCx65k/UC0pOgnYjIQg S1i5tpY2fh4gEM+tPsP6YxJ2ZTno0E0= ARC-Authentication-Results: i=1; imf02.hostedemail.com; dkim=none; dmarc=none; spf=pass (imf02.hostedemail.com: domain of geert.uytterhoeven@gmail.com designates 209.85.160.171 as permitted sender) smtp.mailfrom=geert.uytterhoeven@gmail.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1673863747; a=rsa-sha256; cv=none; b=z6CNOAgsB0MNBNwY5VnaYZFy43PVkW+xduFeDDKpcGYTYnRbtN5/X52HoSuz5+MJB0UN+k NVfMoFulmkh0ttgFdLsqtu2GKtYUJywQPntks/jdLnAIRxKFqEuw80xGF60zdF/aqzy/DC gbqJNgvVzxVq50T6ZRmfIwK7Gqrg6cE= Received: by mail-qt1-f171.google.com with SMTP id jr10so16930680qtb.7 for ; Mon, 16 Jan 2023 02:09:06 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=/kDLEtq+nWxDSi+y0oUmLdJdW5VKXAcidnDmusHhhfQ=; b=W5rkI7CpFoxmVZ9p5twvffzVO0MgnkLbwj7vt2KDVClwyOeJEgeCIfLZHu64WKVuig i84ywQDmE16BmM4/W0CxcKLcT6U7TpntyGZ19gYsaU9XhHfaH62Fv+eIaO0782/GuStD rV00PXOJmzP0BlsGNPSf8tEDAIOqyABYG0j8VlcBovupYtFKYAG3ANHpGZxYV8MecIXT XXSmpCithHS/2J319eT7cotKENO68SspRgwsOOk3i3CVc89kaZjDB+E/C3wX4dzzc3Gs YDDGPKc31jf8vc+u3dHt2aIMCbpd1zWV399kq6rsWiOWVFQGq6V7YGvlmIm0PG9XWaDa rN/g== X-Gm-Message-State: AFqh2kq2+hCvaWyjKOgJ8+TR2tKI+qFZexgCMUG+CMPl1kqu5XYq1myT 3Jyz2n479rl0lTyk5Ky+0lN8o7GqF9MW4Q== X-Google-Smtp-Source: AMrXdXtZzfLniTziiLAJY7B80qWVNR5Prh63mZUd6esmWBXB3T2A8BINlabkUUvPY1CrFy635CbnOA== X-Received: by 2002:ac8:5459:0:b0:3b6:309e:dfdd with SMTP id d25-20020ac85459000000b003b6309edfddmr4630417qtq.22.1673863745827; Mon, 16 Jan 2023 02:09:05 -0800 (PST) Received: from mail-yb1-f176.google.com (mail-yb1-f176.google.com. [209.85.219.176]) by smtp.gmail.com with ESMTPSA id f8-20020a05620a408800b006b5cc25535fsm18276453qko.99.2023.01.16.02.09.05 for (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Mon, 16 Jan 2023 02:09:05 -0800 (PST) Received: by mail-yb1-f176.google.com with SMTP id l139so29648968ybl.12 for ; Mon, 16 Jan 2023 02:09:05 -0800 (PST) X-Received: by 2002:a25:d84e:0:b0:7b4:6a33:d89f with SMTP id p75-20020a25d84e000000b007b46a33d89fmr2918676ybg.543.1673863745031; Mon, 16 Jan 2023 02:09:05 -0800 (PST) MIME-Version: 1.0 References: <20221208202808.908690-1-nphamcs@gmail.com> <20221208202808.908690-4-nphamcs@gmail.com> In-Reply-To: <20221208202808.908690-4-nphamcs@gmail.com> From: Geert Uytterhoeven Date: Mon, 16 Jan 2023 11:08:54 +0100 X-Gmail-Original-Message-ID: Message-ID: Subject: Re: [PATCH v3 3/4] cachestat: implement cachestat syscall To: Nhat Pham Cc: akpm@linux-foundation.org, hannes@cmpxchg.org, linux-mm@kvack.org, linux-kernel@vger.kernel.org, bfoster@redhat.com, willy@infradead.org, kernel-team@meta.com Content-Type: text/plain; charset="UTF-8" X-Rspamd-Queue-Id: 0272580004 X-Rspamd-Server: rspam09 X-Rspam-User: X-Stat-Signature: m7y8gx1ii4rhthgcdjurstxwo8pyzyj8 X-HE-Tag: 1673863746-592134 X-HE-Meta: U2FsdGVkX18WQjK54GechYxnWhoHqgrfZk5bVqhkx84tIWh9lhxpc/46XySnCFukiRdS3tFoVzBwGXl/gKC2EmykE+IQwwMf/AcXtWbcak/rpBGjp/RMhNchWWsGALqGwGDkK6gUYjpYi7u8zHC7XOlj6LJtDJU5G3R/mUGrB4m317xvJL+dJ4npD8adqDRvJ0eCOKqUV/bVi50kLQzi9xI8b77qhXLePUxCOhSdXVc9pNeDaBGKELq5Xy16HaOpM963uuBb3Du9+U65egyvvMm5WiYxWiwxwFvGa3DcrYNkWqRBQxQURgmtXh9+NaOp6k2bt76rUz+zjrgCVmdBqMs1ml2Tn7yeo5KM53HpA/1Ao6XYJR5TR0j5hkbeIYqbSTQVOA0e8VQDh6RRaTKXW7gzt94zPPOYkLu4a9GA7yIiW56kG7RRFOYyuaX3x/zpB19qafXsNQUapbQa6NcJ5Su6VNi3ScZdBq+z9/JSv0MqMB46xBZEfIQw7q+/nFI/iA65A1rw8LeLaS4s+VxdquQHZ3DElDdfXy/zISphB0uZ262ek5vx4evRVyBiaznNUftlIGkIHzZL+4CA8tw7Hu/xPiLVS36GKsJboRi0UjKU/A5E97pWQmZoiXjkRMKPBTTSC9DemWI18T1tsrajqgJJ2puW2zOmtuBMprMvc0hQbf3FrAt1oODreLL0RGZByQ7oPflFyAFWiiM0pAactJ7ey63o/o+vjFWTwYgB/Mj04eoj7QA9F8Bl0HWPrrpePYYUGIfOyEckRKxp+OXEkPEiKAQm3w7kOsqlitinJEu6xswk9jb74kvwNrtm8ho8V6Ayjge/t1RjXLaCuv7Pfrjlfcb+1To3e047LnkHwZO9drCec50jTTYLrRyuO2VNaWQMiXAUiSHRDDP3gTRM5wGSAnBskyLxdR/sv5lvFDsjBtNxAPuhri+dY00UgmBBBjPvcTbRPrpujjjjw1u 32rj6Q33 iLM+wv8aeR/JLkV93Z4SJVCi3bsX0IcGAphmZt34Ll/fFIN7vJJX0ta3eOULgbUgJziISrmx7RijV/sG1/Z4VTrIZjmZeXvDYAn6cK4QbAysrs3wNpQd9SMWLvQYrg3vUPTexO4RYDpKbHQySr1GAW9uws/kKlZAJG5ZgG51KGz15u+gk6da6O0lW8Q== X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: On Thu, Dec 8, 2022 at 9:42 PM Nhat Pham wrote: > Implement a new syscall that queries cache state of a file and > summarizes the number of cached pages, number of dirty pages, number of > pages marked for writeback, number of (recently) evicted pages, etc. in > a given range. > > NAME > cachestat - query the page cache status of a file. > > SYNOPSIS > #include > > struct cachestat { > __u64 nr_cache; > __u64 nr_dirty; > __u64 nr_writeback; > __u64 nr_evicted; > __u64 nr_recently_evicted; > }; > > int cachestat(unsigned int fd, off_t off, size_t len, > size_t cstat_size, struct cachestat *cstat, > unsigned int flags); > > DESCRIPTION > cachestat() queries the number of cached pages, number of dirty > pages, number of pages marked for writeback, number of (recently) > evicted pages, in the bytes range given by `off` and `len`. > > These values are returned in a cachestat struct, whose address is > given by the `cstat` argument. > > The `off` and `len` arguments must be non-negative integers. If > `len` > 0, the queried range is [`off`, `off` + `len`]. If `len` == > 0, we will query in the range from `off` to the end of the file. > > `cstat_size` allows users to obtain partial results. The syscall > will copy the first `csstat_size` bytes to the specified userspace > memory. `cstat_size` must be a non-negative value that is no larger > than the current size of the cachestat struct. > > The `flags` argument is unused for now, but is included for future > extensibility. User should pass 0 (i.e no flag specified). > > RETURN VALUE > On success, cachestat returns 0. On error, -1 is returned, and errno > is set to indicate the error. > > ERRORS > EFAULT cstat points to an invalid address. > > EINVAL invalid `cstat_size` or `flags` > > EBADF invalid file descriptor. > > Signed-off-by: Nhat Pham > arch/m68k/kernel/syscalls/syscall.tbl | 1 + Acked-by: Geert Uytterhoeven [m68k] Gr{oetje,eeting}s, Geert -- Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org In personal conversations with technical people, I call myself a hacker. But when I'm talking to journalists I just say "programmer" or something like that. -- Linus Torvalds