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 5CB2DC433FE for ; Mon, 3 Oct 2022 02:59:26 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 530338E0002; Sun, 2 Oct 2022 22:59:25 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 4DF3C8E0001; Sun, 2 Oct 2022 22:59:25 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 37FAE8E0002; Sun, 2 Oct 2022 22:59:25 -0400 (EDT) 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 227BA8E0001 for ; Sun, 2 Oct 2022 22:59:25 -0400 (EDT) Received: from smtpin18.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay05.hostedemail.com (Postfix) with ESMTP id D4FEA40893 for ; Mon, 3 Oct 2022 02:59:24 +0000 (UTC) X-FDA: 79978132248.18.74643C0 Received: from mail-pg1-f181.google.com (mail-pg1-f181.google.com [209.85.215.181]) by imf12.hostedemail.com (Postfix) with ESMTP id 74EBD40010 for ; Mon, 3 Oct 2022 02:59:24 +0000 (UTC) Received: by mail-pg1-f181.google.com with SMTP id f193so8672028pgc.0 for ; Sun, 02 Oct 2022 19:59:24 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=chromium.org; s=google; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:from:to:cc:subject:date; bh=W/iKlG/2SK1n0kxoLuiUZGSP3EqDCPf+GU5RrhiJsYQ=; b=BoARwX7Nd8WClzBwMyYzJDLffZal0H7oFUVWCp88oQ4skclXYPWsAm5iF/RGz/MyXc cdtbif/cuPyeqc79/yPezCzvn1hD0z5ssXRL61Tz5g78eq+I1V3uKREZlYA0HSgpFWIF rHVcBz3wnyMTmYZ+AnhVwoG2YUpe0hFZmTVt0= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:x-gm-message-state:from:to:cc:subject:date; bh=W/iKlG/2SK1n0kxoLuiUZGSP3EqDCPf+GU5RrhiJsYQ=; b=B5vbMDukLBmSal9VVx/SXexMvcyL2aVH7STVQn45R3Tuz0JIS2zAoFcr+0gHPopIoC z3KLDJogtCBowlcyp7fnu/CPtNyYYFoiXDCnYs8v/Ggm911CB88LwC8ZRfrCy4ik8VDG 2B2KT+TejzQJfzOSuBg45NNe8Bzj2CKdSS1EvweG8aq+cQx40sZtgjsSLT55h/MSdrMM 5j1QwD8XG67h6Avvb6Fa85VGrpRwA+oy7irIB/k4zP7CNAGHOSn4oU11iMKEw/l1hr7s BHjMLXiV5naswWq7lC2f/v2c8YC6QgHNYK4Jgp+nbcAWnhyRgz+/luwFCBtdT/hCdpiU stXA== X-Gm-Message-State: ACrzQf1TuARl04VQgMcMg5P1LOQpOf4g5hSOU1ZhhJt9bB4HdT67NUBk AsVxRj/m4KMXD5gyFACXPiuktA== X-Google-Smtp-Source: AMsMyM6QXBFMTaXBeqXDVM8Oc0IYpqgrSmfI3IpOFUyZi2zMU9KE9Pz/Fu2fWk63+AWEA4UJ/eYJlg== X-Received: by 2002:a63:fa4d:0:b0:43c:7fa:95f7 with SMTP id g13-20020a63fa4d000000b0043c07fa95f7mr16881241pgk.48.1664765963310; Sun, 02 Oct 2022 19:59:23 -0700 (PDT) Received: from google.com ([240f:75:7537:3187:fdaf:f7a6:50c8:e952]) by smtp.gmail.com with ESMTPSA id m12-20020a17090a34cc00b0020a8ed65df3sm1649230pjf.45.2022.10.02.19.59.20 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 02 Oct 2022 19:59:22 -0700 (PDT) Date: Mon, 3 Oct 2022 11:59:18 +0900 From: Sergey Senozhatsky To: Brian Geffon Cc: Andrew Morton , Minchan Kim , Nitin Gupta , Sergey Senozhatsky , linux-kernel@vger.kernel.org, Suleiman Souhlal , Rom Lemarchand , linux-mm@kvack.org Subject: Re: [PATCH] zram: Always expose rw_page Message-ID: References: <20220930195215.2360317-1-bgeffon@google.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20220930195215.2360317-1-bgeffon@google.com> ARC-Authentication-Results: i=1; imf12.hostedemail.com; dkim=pass header.d=chromium.org header.s=google header.b=BoARwX7N; spf=pass (imf12.hostedemail.com: domain of senozhatsky@chromium.org designates 209.85.215.181 as permitted sender) smtp.mailfrom=senozhatsky@chromium.org; dmarc=pass (policy=none) header.from=chromium.org ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1664765964; a=rsa-sha256; cv=none; b=A674YNdI71vvFoGqgLtG2+ySwxaYoNxcVFE5xXZ2EjhEEOMlsrfAfIpTp0/pv0fXmcpQmc BmEiBKpOQFk95EhqonFBO6Y+RZrmplZUXO8N/1lXhjlB716ytQqh2lqn3PNTFMKmot21tU Ehe4chwCia13E6TEgXqBB6R7c8ZacSo= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1664765964; 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=W/iKlG/2SK1n0kxoLuiUZGSP3EqDCPf+GU5RrhiJsYQ=; b=FRC+l29QszJZ5DURQNH7qzPIZY/+dPK2HNK/4+VH4YLApaPSRgTkzjyx/vSRdzmOMNcsU8 yslHCYqCIHugJ4nb49oVgQvzjOIlPmkxNsl5vz8Lx0EC75Maa+inHVVnMUMCAKTAXX7tKQ eKLFINLe6T07R1XZ3ReGFLqxUZOqT4E= X-Rspam-User: Authentication-Results: imf12.hostedemail.com; dkim=pass header.d=chromium.org header.s=google header.b=BoARwX7N; spf=pass (imf12.hostedemail.com: domain of senozhatsky@chromium.org designates 209.85.215.181 as permitted sender) smtp.mailfrom=senozhatsky@chromium.org; dmarc=pass (policy=none) header.from=chromium.org X-Rspamd-Server: rspam10 X-Stat-Signature: 1ocs3xawbys8dq44beg1963t3kxedgki X-Rspamd-Queue-Id: 74EBD40010 X-HE-Tag: 1664765964-738699 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 (22/09/30 15:52), Brian Geffon wrote: > Currently zram will adjust its fops to a version which does not > contain rw_page when a backing device has been assigned. This is > done to prevent upper layers from assuming a synchronous operation > when a page may have been written back. This forces every operation > through bio which has overhead associated with bio_alloc/frees. > > The code can be simplified to always expose a rw_page method and > only in the rare event that a page is written back we instead will > return -EOPNOTSUPP forcing the upper layer to fallback to bio. Reviewed-by: Sergey Senozhatsky > @@ -1267,6 +1253,9 @@ static int __zram_bvec_read(struct zram *zram, struct page *page, u32 index, > struct bio_vec bvec; > > zram_slot_unlock(zram, index); > + /* If we don't have a bio we came via rw_page, we must fallback to bio */ > + if (!bio) > + return -EOPNOTSUPP; The comment is above 80 cols.