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 73A9ECF9C68 for ; Sat, 21 Sep 2024 00:05:07 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id BBCCD6B007B; Fri, 20 Sep 2024 20:05:06 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id B44C46B0082; Fri, 20 Sep 2024 20:05:06 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 9BDF46B0085; Fri, 20 Sep 2024 20:05:06 -0400 (EDT) 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 7CA696B007B for ; Fri, 20 Sep 2024 20:05:06 -0400 (EDT) Received: from smtpin22.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay02.hostedemail.com (Postfix) with ESMTP id EBA0012070A for ; Sat, 21 Sep 2024 00:05:05 +0000 (UTC) X-FDA: 82586800170.22.592DEE6 Received: from nyc.source.kernel.org (nyc.source.kernel.org [147.75.193.91]) by imf03.hostedemail.com (Postfix) with ESMTP id 0B5FD20022 for ; Sat, 21 Sep 2024 00:05:03 +0000 (UTC) Authentication-Results: imf03.hostedemail.com; dkim=pass header.d=kernel.org header.s=k20201202 header.b=e64ROaQJ; spf=pass (imf03.hostedemail.com: domain of chrisl@kernel.org designates 147.75.193.91 as permitted sender) smtp.mailfrom=chrisl@kernel.org; dmarc=pass (policy=quarantine) header.from=kernel.org ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1726877070; 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:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=zcrw/urvHboN+ojXnHKkeqHrxa41BI3Q3cVQ1Lz1j/4=; b=ly8P605/XGMaLRZHdMr85jyYdDiycr+nrziYqRh3ZotWeaKzuLFgJznCEh8hxJWYQX+pOD BMB6l7X6FZUcvJoUhetcTPWIC+M52EPYO6vAzTV/G6GN/ts3NiMYxyOe4d24Tiyptk1bU9 o/jMUEgKxAv6W9XiOkia5tyg+lChfA4= ARC-Authentication-Results: i=1; imf03.hostedemail.com; dkim=pass header.d=kernel.org header.s=k20201202 header.b=e64ROaQJ; spf=pass (imf03.hostedemail.com: domain of chrisl@kernel.org designates 147.75.193.91 as permitted sender) smtp.mailfrom=chrisl@kernel.org; dmarc=pass (policy=quarantine) header.from=kernel.org ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1726877070; a=rsa-sha256; cv=none; b=ArgEhSx3EqfXUYX+4AKoCEf0c8SQeSsNTSYy9FecNIIwWONW+cXIvpG5GE2IafOpGsjfTo ASvlqEkdTMs9rwo7uBl1fk6n09OruYxoT+MpOa+Nv3Mt2rLa2x9Z+ZEHeIVLGY6kbLPPj4 OtxlBYuA5jGGw6pnp04TrvG5foJPP5k= Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58]) by nyc.source.kernel.org (Postfix) with ESMTP id 3BD33A43E00 for ; Sat, 21 Sep 2024 00:04:55 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 11862C4CEDC for ; Sat, 21 Sep 2024 00:05:03 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1726877103; bh=INlKS5tNGyAIUwftuVV4YHTl+jDewLLG5i9G1VOSdhM=; h=References:In-Reply-To:From:Date:Subject:To:Cc:From; b=e64ROaQJhUMqElYUQvXISerGDpIgaACDwT1Pmtd/JcGFjg7r6G4Wcol9dW/Ct5Yh8 TEfFcHACIhE5bljDlNWosYLpPaibQbHrXBbIjuTmyIYJibl+e4+Zcyuf8t08CUdNKk rci2pYV75wXebjmxuOXOGCHDp5+jebj9tZtIcqFg4o0Qpsu7JhTyZWtXFhHjOi6bmr 7e4XdUqRzIm6u2bizoq96GkLNRuFTIj0C3bHZQO4CnLE8HF+luv1sWPFzRSNJB9nqP qY9vo7jEunq2b3e08He+0raaz+TwkV9/adhZDMS39wOg0bnGqTURW8tMAnGmD+X9br y0Q769Iw6u3pA== Received: by mail-yb1-f175.google.com with SMTP id 3f1490d57ef6-dff1ccdc17bso2809521276.0 for ; Fri, 20 Sep 2024 17:05:03 -0700 (PDT) X-Forwarded-Encrypted: i=1; AJvYcCWTm2l+rkCm65+ihfX/nIUUseomqviYQoL/uxZwOj2PV8SxC6ft6HpH2KyfBi/+E9QxRQJ9lTUizQ==@kvack.org X-Gm-Message-State: AOJu0Yypn+4tMWWC2xJdbB9fcXOuqlY4xbP2rmrzJndJ+SKT5B+V2udz Ko8WZAKI6DHBM6b+JCAov8W6LRDRiZSfovSSMS5o1omjhXLYHx5EHbpDbqkqH4yCrce/pw22PbX kLosxwk4j2fjkFjh0O2qxNTlTK0QFpSbDWQ3kzw== X-Google-Smtp-Source: AGHT+IFTgD18lT/k5y3/uFsZmumRkstI4L4Woj+Ow1MTZJ00Q7iFIujz/YsqJe0xXL7E4JJ1Hut1lEDJr9Sp5F5cVxQ= X-Received: by 2002:a05:690c:6506:b0:6dd:bc2b:2aa4 with SMTP id 00721157ae682-6dfeeff826dmr53781547b3.39.1726877101859; Fri, 20 Sep 2024 17:05:01 -0700 (PDT) MIME-Version: 1.0 References: <20240919112952.981-1-qun-wei.lin@mediatek.com> In-Reply-To: From: Chris Li Date: Fri, 20 Sep 2024 17:04:51 -0700 X-Gmail-Original-Message-ID: Message-ID: Subject: Re: [PATCH 0/2] Add BLK_FEAT_READ_SYNCHRONOUS and SWP_READ_SYNCHRONOUS_IO To: Christoph Hellwig Cc: Qun-Wei Lin , Andrew Morton , Matthias Brugger , AngeloGioacchino Del Regno , Ryan Roberts , "Huang, Ying" , David Hildenbrand , "Matthew Wilcox (Oracle)" , Al Viro , Dan Schatzberg , Kairui Song , Barry Song , Jens Axboe , linux-kernel@vger.kernel.org, linux-mm@kvack.org, linux-arm-kernel@lists.infradead.org, linux-mediatek@lists.infradead.org, linux-block@vger.kernel.org, Casper Li , Chinwen Chang , Andrew Yang , John Hsu , wsd_upstream@mediatek.com Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Rspam-User: X-Stat-Signature: axu5wmsbyhk6kfzngu9b487ph4h6nafd X-Rspamd-Queue-Id: 0B5FD20022 X-Rspamd-Server: rspam11 X-HE-Tag: 1726877103-927378 X-HE-Meta: U2FsdGVkX1+Ctj2X3xXHs3+yEKY6vYBkxpj5S7AyWaWXrai0F2873lueqmOcfevQCb/tI75vQJNgJ9rNeN7IBDsT2fNorkopG2250pia7kt40QLDRzXaJZrkBEKiin8Yes0SYAf2MrcztTKyWxLPX2evwWeQSVVInZfGAdtHEqa3i3KdTFbLr7Kva5hBCl8erWQsz9yp1WmyLgTwgYTAMTEH2tlAAe/RUexlJqpyXXWIe4KkPSH0poda9cp9SVC3AtlngXyVzKYm2+8wxVNszoNyoJIBXYxF+EzQeS64jhrk2kmSZ4XWiNxAvEtIAMV4nVbvBeUd6Y89j45VIudPhZdVBbbTRxWaOd97o9WT9di3+yGNLZCkTSeRTwuCc19qk9D+CNYMujA6xOSCc+aPxTna0HCQE6UEJxLlhosokNBCzCKo8RXkB2Rbxda/CBGOW/nsJXSUdCfnbr82+R630m7nmpPsu8B0QYBlRiRWt1NrjNsfUjyItdEul3Lo/z/Tng/aGF+DofYQ24JMHFsM2FI72aHp+HaER/5fqozkPTu8Ym7qOYBXyl99MOt7qoaMKAwSX1/4OSM7b3nUoY58nt/n6CNv97fNCL3uzHwW1GKpUAgQSiENMSXZaY2DlH1f4hDS7pMAtd+h6vFkHu+nTnzeUw2U7Oq5zMy5XhO6XLP+5yWdESRZctqka/mo5a4PWIF7kE2CgEFSFm+W8yF/3uWX3cWQuOYyaZvTswu/jEUD9v5svW9ze8j8QYQehy/5Q7ziNQDArc86+81uwhzaG5+ALzUPGwk7ygGX2gRiT4JygG7wkP19SvaHyU9M9y4XlHaoa5rrK/D3XDIPlUkc4u4xOf4MahGVLi2diFcYZX65Ljq9GRV8foGPNCQ58eoHWY1Py/DtQpaYXPaY1TXR7OLDHt81huBapBm3wwyrfOE37ltZ9BMljFFChFANSMSqhdVAQ+ubyLcQsK84Lxr MlszSVlJ 9fakJefOl9kSWUqj3n6ZDYm13LPuHIyausnnp7Wl3PxODNle5IRpjMSnhVFBTIAxOjMsq9ljOA7iP4BKFP5Owk5EBVqAQI3uUWViT90VKf67jUTj8huoR+MrwnYJ+UUt1U4z/SXCR2hDatRFIiRTuIJUd9YK1lRCcVQ82fbfazHDbzyX27BWG/OYlH+zPBTNRGk4HJUsjExtO2wrA6Nc8ODmRmXCUaJDE91PvDwK7PbLrZP19xNnl8o73rkPI5Oy8NdB91CTY9Tz3ZjglkJ2vedES9Qff3S27cr6PGoJonA+GP/MwVH+pJnJQNoeaBKpUzKR6euYObHd6rFqLaC+Rm6PIqd/cJHeo0m7rPHxgyvzjCkft3crqxxJ0T2bU9kHtsBycQLBb/Zh2VUIU42j0sOBKqb+Mv5yWwdUcCeXwwrtxaUj1KZ21XFuhmNr/MIERSJrPbUrtD0lb6RU= 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: List-Subscribe: List-Unsubscribe: Hi Qun-Wei, Agree with Christoph that BLK_FEAT_READ_SYNCHRONOUS is not set anywhere. That needs to be fixed. Having a flag for BLK_FEAT_READ_SYNCHRONOUS and another flag for BLK_FEAT_SYNCHRONOUS is just confusing. for example, read path need to test two bits: "sis->flags & (SWP_SYNCHRONOUS_IO | SWP_READ_SYNCHRONOUS_IO)" There is only one caller of the bdev_synchronous(), which is in swapfile.c. I suggest if you have BLK_FEAT_READ_SYNCHRONOUS, you should have a BLK_FEAT_WRITE_SYNCHRONOUS for writing. The previous path that test the SWP_SYNCHRONOUS_IO should convert into one of tests of SWP_READ_SYNCHRONOUS_IO or SWP_WRITE_SYNCHRONOUS_IO depend on the read or write path (never both). "sis->flags & (SWP_SYNCHRONOUS_IO | SWP_READ_SYNCHRONOUS_IO)" will change into "sis->flags & SWP_READ_SYNCHRONOUS_IO" Then you can have bdev_synchronous() just return the SWP_READ_SYNCHRONOUS_IO | SWP_WRITE_SYNCHRONOUS_IO if both are set. You don't need to have just bdev_synchronous() and bdev_read_synchronous(). That is more boilerplate code which is unnecessary. I also suggest you squish your two patches into one because there is no user of bdev_read_synchronous() in the first patch. You should introduce the function with the code that uses it. Yes, yes, I know you want to have a seperate patch for define vs another patch for using it. In this case there is no good reason for that. Best regards, Chris On Thu, Sep 19, 2024 at 4:37=E2=80=AFAM Christoph Hellwig wrote: > > Well, you're not actually setting your new flags anywhere, which - > as you might know - is an reson for an insta-NAK. >