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 22BDFC7619A for ; Thu, 30 Mar 2023 22:52:02 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 6D9336B0075; Thu, 30 Mar 2023 18:52:01 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 6890E6B007D; Thu, 30 Mar 2023 18:52:01 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 550916B007E; Thu, 30 Mar 2023 18:52:01 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0017.hostedemail.com [216.40.44.17]) by kanga.kvack.org (Postfix) with ESMTP id 44A876B0075 for ; Thu, 30 Mar 2023 18:52:01 -0400 (EDT) Received: from smtpin12.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay06.hostedemail.com (Postfix) with ESMTP id 0EFD8AC3AD for ; Thu, 30 Mar 2023 22:52:01 +0000 (UTC) X-FDA: 80627064042.12.8369B8D Received: from mail-pj1-f47.google.com (mail-pj1-f47.google.com [209.85.216.47]) by imf28.hostedemail.com (Postfix) with ESMTP id 2E06AC0017 for ; Thu, 30 Mar 2023 22:51:58 +0000 (UTC) Authentication-Results: imf28.hostedemail.com; dkim=pass header.d=gmail.com header.s=20210112 header.b=ZzfnJlyC; spf=pass (imf28.hostedemail.com: domain of minchan.kim@gmail.com designates 209.85.216.47 as permitted sender) smtp.mailfrom=minchan.kim@gmail.com; dmarc=fail reason="SPF not aligned (relaxed), DKIM not aligned (relaxed)" header.from=kernel.org (policy=none) ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1680216719; h=from:from:sender: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=sp3oL8gR+feCzBtBEIRQNelsB/4aCxleO1/qJetCfrI=; b=DnH4pQN4jqg1WrK3StpIdW/2vhc8hH/1zJSagM1avMh5OpzNwU8Sm8RyvKIGmgkGaHZIhD 6EWp9osC+4E03QXn6XJJzsdLUzYGKDn4YJRBZqcg9dz9x3S0f+S6asAdxA2Z1T194PqaL6 sn+2EDBc4kc5SdJjyG7qlKVQ/oaLFWU= ARC-Authentication-Results: i=1; imf28.hostedemail.com; dkim=pass header.d=gmail.com header.s=20210112 header.b=ZzfnJlyC; spf=pass (imf28.hostedemail.com: domain of minchan.kim@gmail.com designates 209.85.216.47 as permitted sender) smtp.mailfrom=minchan.kim@gmail.com; dmarc=fail reason="SPF not aligned (relaxed), DKIM not aligned (relaxed)" header.from=kernel.org (policy=none) ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1680216719; a=rsa-sha256; cv=none; b=uiaFF/e5sRaQEyUM1M8bHjFGpp/y8zzeufSPaZfmdHX1PaHykSf98LcmW+D7KoSLNt/iWS +MFdN9GwfB6sjuoo8RPGa8wNikY+F2ym/NWZY5UAQxE5GmqKfZFytIxz79s0K0iQsoDhIk 1dle/VYFeGiVxONQoaiR4TnyptgtslM= Received: by mail-pj1-f47.google.com with SMTP id j13so18700520pjd.1 for ; Thu, 30 Mar 2023 15:51:58 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; t=1680216718; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:sender:from:to:cc:subject:date:message-id :reply-to; bh=sp3oL8gR+feCzBtBEIRQNelsB/4aCxleO1/qJetCfrI=; b=ZzfnJlyCR9ebl8WjWt8agZFeCtO3yen2mwirvoxeEDrm5cizOY8/0/tpAyILaVr3KM y286mG6wAFbkAjpJUE8zGLHRwl8EQeez+gC1xZ4TKZ0fQUb0Rm1Qrs4Xsqrm+JCSBeGm 94KnMnWL+TTdPsC0grcaQRZbeGUajCSruZxq9ba4tCUugDHa/ts5jilsmNfE49WxX+6o KipMs503CppEfCkkE3Zt7c5m3lSS1JdaNdsXbM2f8bA7A2eimJEhzTi5y8GHwqW6kyAd Z04HelhkYnIRnuejm7tcCqSX7Eoio7zodJCaPWMyufwwO516QkKklc4tBIrjHVjwB8xc r/9w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; t=1680216718; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:sender:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=sp3oL8gR+feCzBtBEIRQNelsB/4aCxleO1/qJetCfrI=; b=ALMS2c4f8G/zEy6SqOaa3YB7Gwi/Cwvdpsdc13Zy9F5afx/Tlmd7oTwvhmbC5p9Jwi DXInl5DsXYp656den1Sy+9XninwXxGDJcI86QkyBt8GfQc2PJKdOPLF9rohWBQb7KSca 1267SKVmkbcjeUQ+tdqgbLGRqAhY5nKy1rP5A6XHADFumYnHBBpcq9b40lIO+sFVYeXN dJK26oy4o/lkH6Agv2okf1MvSb+W+2fGaIPV1TWBLy9xbGTyvuRl7o/a4o4usdyIEIiI NLIsRl4OehUmGtIg9qeqzVu1tbLaoZlTpfG3p3Moi+f+Pn9A55747P/3CqQDXDsOT7Or +62g== X-Gm-Message-State: AAQBX9fai8XvVf/WC2OUGg1Qmys3ghLNzj+6qXhFBYxHIWTqX5uptP+I 8JL9PQ5JHHLY/8lvebv/UtU= X-Google-Smtp-Source: AKy350bTDHbNqPBn7ys5TCr9Ij+9cG+vNU9Iwh2RJSuaXBgGn6vD9V6OFLUlrxHPhRerNAtfgiYO4A== X-Received: by 2002:a17:90b:1c8f:b0:23d:39e0:13b with SMTP id oo15-20020a17090b1c8f00b0023d39e0013bmr27282801pjb.43.1680216718098; Thu, 30 Mar 2023 15:51:58 -0700 (PDT) Received: from google.com ([2620:15c:211:201:93aa:8e39:c08b:8c2c]) by smtp.gmail.com with ESMTPSA id 3-20020a17090a174300b0023f545c055bsm3668091pjm.33.2023.03.30.15.51.55 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 30 Mar 2023 15:51:57 -0700 (PDT) Date: Thu, 30 Mar 2023 15:51:54 -0700 From: Minchan Kim To: Pankaj Raghav Cc: martin@omnibond.com, axboe@kernel.dk, akpm@linux-foundation.org, hubcap@omnibond.com, willy@infradead.org, viro@zeniv.linux.org.uk, senozhatsky@chromium.org, brauner@kernel.org, linux-kernel@vger.kernel.org, linux-fsdevel@vger.kernel.org, mcgrof@kernel.org, linux-block@vger.kernel.org, gost.dev@samsung.com, linux-mm@kvack.org, devel@lists.orangefs.org Subject: Re: [PATCH 1/5] zram: remove the call to page_endio in the bio end_io handler Message-ID: References: <20230328112716.50120-1-p.raghav@samsung.com> <20230328112716.50120-2-p.raghav@samsung.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20230328112716.50120-2-p.raghav@samsung.com> X-Rspamd-Server: rspam07 X-Rspamd-Queue-Id: 2E06AC0017 X-Rspam-User: X-Stat-Signature: 8qr9ixq4whn8qy4dw87nke5dwjmhoq98 X-HE-Tag: 1680216718-617944 X-HE-Meta: U2FsdGVkX1+x2NH9h9xGsJL+gPtM5mRVu7J9yncpYQ7uPSfS3+ZDCv72zziv0QeTtTg7UbdPBVLOobyroCB2IA7cKZNaJdStmaPiMCHWUi0qFFyTuwijj0Wi7c3nXKQM5XsI0gzzEaG+uorflN5pHHYV5ieK2iK6Blxaky7ApP8qoWyUE6P3EbosOlY23ZsbzsV/x40hxyU87FFlm7oVXRnUa79re24/VsgfpPidmMUqmYBDBSSR+Lix+nYdpK0qMjB9eMnepC8aiCfDcc+ytqAsH28d1Z23ixcrOKhQ3yu6Y/Ge7fpGgfBk+WlEh2Kc0Oju2qMzoJfE/+CCm6UdhHbL8MXngAnll1vYPm9nY1wuVh5Si/NkV403D3lTfG7Lz6K8jiwHqUlT4KtCFY6FlfYgXsVy1eObw7rFlay9ZXbmSqgP38wMXDHXyIs1BPPAYWKP9FYjZY7GTAV4UBvEMP1rowU8bJ7OgwT1QRqdq5i+hZmx7J4fj8b1i8jQ1a+Xj/WjJ2J7/MSMph7BeNDmXPD+oZ1HFgtjA8nGUODcJfKRMlDKH+FjnFpjeGEjyi9vk3+AZ5f1R0SI78/lUVRuVHm9PrlasziN6rZot3e0g6v4GOfbnKQLJ1htGHyc8ADcxz9Y8sspJCLdsuvdWpSJ0SuAgQQ+0EGaje7lbq9bhtlyJlyyu3/UUlVrTpxNnJeVBfwpaowKgJX8xG1SkmI7S7Pqgt3haTSPnvFyt+0Lo2spYA/i72QL0qJNJJKbnXwJbC5C4WUolm5d5tZPwcKzUHcl1q7pgJkhO6hxnpWO1olVr0zpUJ5nXBD7ZNvjFpqNDgAjNDwwar2h0/WV93d0N+uybJjRvEiGlbYrO0Y6752qbpe0zu9B7wWkN/eCxwIDxQh4UrjyZOWZvptWxzszGODfVh1dxt36aijhrLjsoSI8SprkRLnqEbcGwEjrE2ch2Ly2yJiutLy8u9wBBz4 O9jGype0 h1E/3ffTFoVUFVTcieWB3brCIZD0vDFTBTOBlsEQuxIqZCYRRliUv7IhJBYiLk7monDF01QMtVWUsN00LsedS6TD2fKjWrz+NI9zeFkSyxXNIc+RmsPNP37dIrWpaiKpaSmPeQxzg7B3zPQNDqLGG3qMl+qBA/pY7D5YOCfyzsIe0K+Zt5OkotKoCpT1G5AOff7Si6G6IFVgHfBwOc00l0LWJAEQsUbDHWzjicz1b2teFTp9JHOm0TZM7xKMopjwlZESOXgOvClP/NFzyXwh2/qbum1u0zUkD7LfzVEDAj5plvasJs3+h5CQ2uXmxmgq1I+7dJ322yoFQ5McMp8waRp9FrXj2ssJbvSIRQrx9uD1GeBotpdpNSI7DO1CbHGrv4uhCPrz3txBcdeAN+/mQnPOgUjmG5lNesoV2MVgfTsHR6daPb+dnaycGMu0ZpjhqZ5FmVJTrFyl2bXLTdRgjEZATyafxROOYAEMNa/YUSicAyWqjCxRAVKYMzqfLt6PNoXnczLAurOmK374OCShc/Y1yf3krv3/J4fGP7OTvk464pKHv/Sx7DPo+ovr7VxByoGLLTJxDiYGyaXFpCcySSMhtvIqqq9WIgBW9JfeGHXckpF2fZwz86aNMc067kmInKk/0JEZo9mVwYMRgUAmd7StUyw== 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 Tue, Mar 28, 2023 at 01:27:12PM +0200, Pankaj Raghav wrote: > zram_page_end_io function is called when alloc_page is used (for > partial IO) to trigger writeback from the user space. The pages used for No, it was used with zram_rw_page since rw_page didn't carry the bio. > this operation is never locked or have the writeback set. So, it is safe VM had the page lock and wait to unlock. > to remove the call to page_endio() function that unlocks or marks > writeback end on the page. > > Rename the endio handler from zram_page_end_io to zram_read_end_io as > the call to page_endio() is removed and to associate the callback to the > operation it is used in. Since zram removed the rw_page and IO comes with bio from now on, IIUC, we are fine since every IO will go with chained-IO. Right? > > Signed-off-by: Pankaj Raghav > --- > drivers/block/zram/zram_drv.c | 8 ++------ > 1 file changed, 2 insertions(+), 6 deletions(-) > > diff --git a/drivers/block/zram/zram_drv.c b/drivers/block/zram/zram_drv.c > index b7bb52f8dfbd..3300e7eda2f6 100644 > --- a/drivers/block/zram/zram_drv.c > +++ b/drivers/block/zram/zram_drv.c > @@ -606,12 +606,8 @@ static void free_block_bdev(struct zram *zram, unsigned long blk_idx) > atomic64_dec(&zram->stats.bd_count); > } > > -static void zram_page_end_io(struct bio *bio) > +static void zram_read_end_io(struct bio *bio) > { > - struct page *page = bio_first_page_all(bio); > - > - page_endio(page, op_is_write(bio_op(bio)), > - blk_status_to_errno(bio->bi_status)); > bio_put(bio); > } > > @@ -635,7 +631,7 @@ static int read_from_bdev_async(struct zram *zram, struct bio_vec *bvec, > } > > if (!parent) > - bio->bi_end_io = zram_page_end_io; > + bio->bi_end_io = zram_read_end_io; > else > bio_chain(bio, parent); > > -- > 2.34.1 >