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 101B4C00145 for ; Mon, 12 Dec 2022 16:37:55 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 8B22B8E0003; Mon, 12 Dec 2022 11:37:54 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 861988E0002; Mon, 12 Dec 2022 11:37:54 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 7298F8E0003; Mon, 12 Dec 2022 11:37:54 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0011.hostedemail.com [216.40.44.11]) by kanga.kvack.org (Postfix) with ESMTP id 604768E0002 for ; Mon, 12 Dec 2022 11:37:54 -0500 (EST) Received: from smtpin30.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay05.hostedemail.com (Postfix) with ESMTP id 1BE7B401DD for ; Mon, 12 Dec 2022 16:37:54 +0000 (UTC) X-FDA: 80234210868.30.FFEF6FF Received: from mail-wr1-f51.google.com (mail-wr1-f51.google.com [209.85.221.51]) by imf13.hostedemail.com (Postfix) with ESMTP id 69B2E2000C for ; Mon, 12 Dec 2022 16:37:52 +0000 (UTC) Authentication-Results: imf13.hostedemail.com; dkim=pass header.d=gmail.com header.s=20210112 header.b=MDnmIaP5; spf=pass (imf13.hostedemail.com: domain of nphamcs@gmail.com designates 209.85.221.51 as permitted sender) smtp.mailfrom=nphamcs@gmail.com; dmarc=pass (policy=none) header.from=gmail.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1670863072; 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:dkim-signature; bh=rH+nad7vc6EA7K3ETqSp5AKWpi1iWQe2NlaqEfA8K0Q=; b=3LN7GSpy5P0KON/nH+GrGBN+M8vcGhjKalIK1xQdgq8WM3Au4mdFcGWXN8aBISDTu720UV hiNq9PsRyQQsn4hr2wSXV9nnzkDr3oxRcQmuSr4tzmgZM3eSirOZJ2OHVdPyLP5PaeTS87 Qm6HFZqsfUc3L6U7QgvQHXvFZMLEkbU= ARC-Authentication-Results: i=1; imf13.hostedemail.com; dkim=pass header.d=gmail.com header.s=20210112 header.b=MDnmIaP5; spf=pass (imf13.hostedemail.com: domain of nphamcs@gmail.com designates 209.85.221.51 as permitted sender) smtp.mailfrom=nphamcs@gmail.com; dmarc=pass (policy=none) header.from=gmail.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1670863072; a=rsa-sha256; cv=none; b=LQ/S/L68ZgC/faKAg4hEWZDwpuiq6yWIqO9nmOM0tBrO1Zn1ZWbqZ6ajmjUNBKV6yYrvAS gEO+66u6AVvqDg3mRvcuIYUp6loAhUGEzMzq8QyoD+e5Kn9PHVLSMjV2LzDD1bjNgJ9eL6 mf+u1+VklSwEA+X3XUDLaU1oABYhrrg= Received: by mail-wr1-f51.google.com with SMTP id bx10so12722195wrb.0 for ; Mon, 12 Dec 2022 08:37:52 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=rH+nad7vc6EA7K3ETqSp5AKWpi1iWQe2NlaqEfA8K0Q=; b=MDnmIaP5XogOAs8wBNdcSSfDn0cyV8chPS19FHHFZhlyE/T3tvknyiLf4ZGxGbOSBU W4wfvVp24QBuo67GcT2a7buqSQ9BkwZOyjos0YZrsTdYtKDKMpW1d4wS+xpZ2oDKbcaY bCrrMm6AansBYrC+oD5mJ+n5uDlw3D9TP1kc5NtrJ2+DyKPlfcofyDRp/67E2VD4/yk1 fULS+Dv2f/CJ2hanYcj1hK1TOsj2Wpquaa6Jz1kPUE4xJ/0tS8krYMEeZynSzXPmaPyH qN0EFFxluy0msAVc9CluIMvPHwwomFFFkBsAtbYc28FMJJfwmKGOLml5U0BY7jK88fRQ qvGw== 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=rH+nad7vc6EA7K3ETqSp5AKWpi1iWQe2NlaqEfA8K0Q=; b=2Z/57ojwH6o9QqpOuRcROxpGFWHjLJi2H9LjNHWz++zVqHQDj1CuFzN3RlPF7r6Lsu WmRPsSq3sUj9awPO4sfTN5+v6toPI7/A9cy6Y9/2Kg6FkEEHpDp9wlNw+ZJj4ESHZjxN 7sN+kHz1gM8NfijnqC9vyLizXyKIjvburUdqrYhQ8wvLysbAzfQTtGKtcjGOKuTjOtpT VEjUmsaJOJtvZUBdIzKxvJobLX1dQfMXML7lvBH7QSP2Tf7p5nKMMTx9pxVTey3Lwelw UOIf2Q9gkl4jhY5qR69rjHIoOUEEpp9wNQxYZ6p+WzoMxAgecT0oEFVD2H5WXxUu/5Il tJtQ== X-Gm-Message-State: ANoB5pkBYzNd3H6XyRhMMLNlfrEBvoPPzEKAMH/Ktu+7ylwCyqeHdC7f nz775vKrhCCHj6ycdSaXslzGl9AEJrG4d5TW+4I= X-Google-Smtp-Source: AA0mqf4utxrIT2FMyS0UrJ16JZce0jtQVuLyLRErdFdFhEUF2suOs7Drpv8E/w/AhvzugcclOwqjncD9XRBU+/q39HE= X-Received: by 2002:adf:df81:0:b0:242:6553:668e with SMTP id z1-20020adfdf81000000b002426553668emr10671811wrl.131.1670863070984; Mon, 12 Dec 2022 08:37:50 -0800 (PST) MIME-Version: 1.0 References: <20221205175140.1543229-1-nphamcs@gmail.com> <20221205175140.1543229-4-nphamcs@gmail.com> In-Reply-To: From: Nhat Pham Date: Mon, 12 Dec 2022 08:37:39 -0800 Message-ID: Subject: Re: [PATCH v2 3/4] cachestat: implement cachestat syscall To: Matthew Wilcox Cc: Al Viro , akpm@linux-foundation.org, hannes@cmpxchg.org, linux-mm@kvack.org, linux-kernel@vger.kernel.org, bfoster@redhat.com, kernel-team@meta.com Content-Type: text/plain; charset="UTF-8" X-Rspamd-Queue-Id: 69B2E2000C X-Stat-Signature: io9dkb185j8oaor11hj6t6biri4f45ba X-Rspam-User: X-Rspamd-Server: rspam08 X-HE-Tag: 1670863072-829188 X-HE-Meta: U2FsdGVkX1+C+dLuOhlOS9pJRQ1YQS/bGCGmBm+uYdMdrjeDB146b/0hgFsUlBVtM8BrQ6dLPr9Oh9OyWzDD57ypw74EqISc8Y4iIG8WNYKqEZwAETV4yj0jNaG8EYABWZsTVsfL/0ImB6mjvDqSTzqgbYkkALQQnEoLzqb+0ppV/J8oecvwf7qvH2vVv7BtFjA2Yp+Sm7l3g83kYhK0FJrWjC+8Fay1Gz5yPl+2MiBSQ63TAmkUA8OZGJ5P+aOO3kSnMpYRGl3CVzD1mjgoWLFg7ANfbprNp/AN76zhFyv0/ifRonqjQBUfmScyazBdojJ3CDR/0E9MJY/9SKQp/piSIG+DmRRY9ZTEpF6CWwBNQd3NIFnXLoXoMpoWHxwyhZk4CGwg8l9tajRbIWMAG3+2tdXEjKNp7pwMitWIOi52g45vVzqFrV0j/8K1vqU4I7wV9hSbyrQvN1TOHZC8iAc+3fCGc0LV8h9bUTxEN23Oi7eOGeDVb1y6LOSHteCvakTRV4N4YvZZ+uUxDOGOobIwcV1GZWHM0RO7yQ8jB399u44VgUWZ0cL1PUwuzHzA/Qld37BvohBQI2sjA6pbIi5rRye+JkxQZ1s6tmgcLUIT4NOeOYIH2/ER62knG0Zis9b4K48Ht+uCmg8ZlfUwmAhfXh3i2l4X8ozd3M+CWImQLW1Y1gqLWAJxdxHjT2TPrXvPdu4mRcSUjqB03QA4LAd3ak/Pk9FVRgNu/WmWLbn5Dh8SKxP/FlVXPgi+4sA3cLZEhOY7avL4XCuibzXnkFQdbFsPH0CklimVVdWag23CuJaBToW54IWRC4Soehd2FeS6k9bAuIYZU5sAp+NFAOznHp5QhlePnpWzdM7hk0lpJnCTtTyAlvRctQASXF+eTUuO1O6yXQ4Em7ixHbQsipFPTCynjI3UUxYakM9O9OTz1mpvIuBUaTWawD8q0dCWqALxoNbOWhtcsxTrGDE OVJmGpsR L8yNWeqZQtQQpzfU9oZqknaSwE8Gj2g3ih+7qg6ZP9mEcdmw= X-Bogosity: Ham, tests=bogofilter, spamicity=0.000003, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: On Mon, Dec 12, 2022 at 8:24 AM Matthew Wilcox wrote: > > On Mon, Dec 12, 2022 at 08:23:31AM -0800, Nhat Pham wrote: > > > It would be easier to read if you inverted the condition here. > > > > Oh I think I tried > > > > if (!f.file) > > return -EBADF; > > > > here, but there are some mixing-code-with-decl warnings. > > If I recall correctly, the problem is with this line: > > > > XA_STATE(xas, &mapping->i_pages, first_index); > > > > which is expanded into a declaration: > > > > #define XA_STATE(name, array, index) \ > > struct xa_state name = __XA_STATE(array, index, 0, 0) > > > > It requires a valid mapping though, which is > > obtained from f.file: > > > > struct address_space *mapping = f.file->f_mapping; > > > > so it cannot be moved above the if(!f.file) check either... > > Perhaps you're trying to do too much in a single function? That's fair. In an ancient version of this, I did try to separate the folio-walking logic into its own function, but then decided against it because it seemed unnecessary. That was before the complexity of that piece of logic blew up to the current situation though, so perhaps it is time to revisit this decision and refactor it.