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 6019FC54FB9 for ; Tue, 21 Nov 2023 07:54:42 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id E8BF96B0460; Tue, 21 Nov 2023 02:54:41 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id E3BD06B0462; Tue, 21 Nov 2023 02:54:41 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id D03EA6B0463; Tue, 21 Nov 2023 02:54:41 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0012.hostedemail.com [216.40.44.12]) by kanga.kvack.org (Postfix) with ESMTP id BD3CF6B0460 for ; Tue, 21 Nov 2023 02:54:41 -0500 (EST) Received: from smtpin15.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay09.hostedemail.com (Postfix) with ESMTP id 8047480A26 for ; Tue, 21 Nov 2023 07:54:41 +0000 (UTC) X-FDA: 81481199562.15.1701098 Received: from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217]) by imf21.hostedemail.com (Postfix) with ESMTP id 936871C0003 for ; Tue, 21 Nov 2023 07:54:39 +0000 (UTC) Authentication-Results: imf21.hostedemail.com; dkim=pass header.d=kernel.org header.s=k20201202 header.b=elK63l9d; spf=pass (imf21.hostedemail.com: domain of chrisl@kernel.org designates 139.178.84.217 as permitted sender) smtp.mailfrom=chrisl@kernel.org; dmarc=pass (policy=none) header.from=kernel.org ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1700553279; a=rsa-sha256; cv=none; b=zA+NeEEfO0QkkIWTuL4vm0y+seVN79jyzIUd4kyRrNhkoWfNRIZlCE0aPwDcV/K8rcgXcI KSbDS+6OH57Ezz4ASjuvqos9Th2Wo4A7BSjd7wxPAYGP5FJSMZ3I36jUGMit5qj15C+7Ms xcdfIj27aBm0IcqVGuT5x/BgW4VWvaE= ARC-Authentication-Results: i=1; imf21.hostedemail.com; dkim=pass header.d=kernel.org header.s=k20201202 header.b=elK63l9d; spf=pass (imf21.hostedemail.com: domain of chrisl@kernel.org designates 139.178.84.217 as permitted sender) smtp.mailfrom=chrisl@kernel.org; dmarc=pass (policy=none) header.from=kernel.org ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1700553279; 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=NyyrkZIL8UCzZl5kH2BTehXH7cUMxC7X5/MLJ+6Gr4w=; b=0CPhDP4hXcJ7ws4xeWCwqF7FtsPpx3oaUmSUpqmVSu1mxvVGe71WCjDjwPoiry2ES8aiND FhgP3YydTYsKcy8mGuljTxyzxS5s0UbFCNyjtd4BfoVjSRaAoNeDpE8AMHPTMYaJ99a0fr OyXWN3IB2XhB0NIUhpi8NzrH4jc43Uc= Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58]) by dfw.source.kernel.org (Postfix) with ESMTP id 7428E616EE for ; Tue, 21 Nov 2023 07:54:38 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id D174CC433CC for ; Tue, 21 Nov 2023 07:54:37 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1700553277; bh=0qqhbNpCfWQutTSkCiqeCJlRWmkVKXLvp8F0pOXn88U=; h=References:In-Reply-To:From:Date:Subject:To:Cc:From; b=elK63l9dFeOiW9NTleQIkzMSdLLpZXQhLUWaLipboebrlxya0h1PGeh363ua+QfNe 1h8SGgcQdV9CBXwHRnOFlw78vZN3Rpgeqh6FDtJ3+N7l/K81Qvn0FrblLIE1KEBtsx L05uAB6xWmaz9zGptoPTZjnbi5v8aYQAxsv6xvwP3Jr3t62OvLU30Mi8AAZ1ZBnm9F JNt+O2m/2Rt360Gwcty718OvyEVoLE/EORW9/yLOdFFwGBLQO6WxGYskMfxJVQ7fL0 JF8aZFw9qnyn9H+aU5kcJDAgfqRGhpU9SDFGivYOyC8x2Ma3Dr0KPjgactpoZw7pyw g3jZTFAZN4lfQ== Received: by mail-pj1-f45.google.com with SMTP id 98e67ed59e1d1-2802b744e52so4369955a91.0 for ; Mon, 20 Nov 2023 23:54:37 -0800 (PST) X-Gm-Message-State: AOJu0YwceC8oFhRLoEeJxUlqIs1LH+JLRV/vvOB93CJU0AFioOQDTFLN RIA0PyOYu8yYW7Dgkkj3M1aore3HX9s0A/fPvn2ZyQ== X-Google-Smtp-Source: AGHT+IFYgNGkJN5vokPp4S7MS8v23ejrWQWNZ5LUqpxpit1xZPham34sBYqktuXqMQO0tLW7kPLMGQalpivWLxqUMB0= X-Received: by 2002:a17:90b:3eca:b0:283:2805:7c7f with SMTP id rm10-20020a17090b3eca00b0028328057c7fmr2980093pjb.0.1700553277274; Mon, 20 Nov 2023 23:54:37 -0800 (PST) MIME-Version: 1.0 References: <20231119194740.94101-1-ryncsn@gmail.com> <20231119194740.94101-9-ryncsn@gmail.com> In-Reply-To: <20231119194740.94101-9-ryncsn@gmail.com> From: Chris Li Date: Mon, 20 Nov 2023 23:54:26 -0800 X-Gmail-Original-Message-ID: Message-ID: Subject: Re: [PATCH 08/24] mm/swap: check readahead policy per entry To: Kairui Song Cc: linux-mm@kvack.org, Andrew Morton , "Huang, Ying" , David Hildenbrand , Hugh Dickins , Johannes Weiner , Matthew Wilcox , Michal Hocko , linux-kernel@vger.kernel.org Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Rspamd-Server: rspam08 X-Rspamd-Queue-Id: 936871C0003 X-Stat-Signature: 4ewn6n8cur7o5u61fyoa7hdbk6uo3333 X-Rspam-User: X-HE-Tag: 1700553279-742398 X-HE-Meta: U2FsdGVkX1/tJx7ETdlc3eUhFsEeFvHLTjsdwXJrkHXok32UFpFk0bIqBktF8d9gB5moPRJN7VpToxWZJWtkzYY904B4gd6Av9qowiHRJ/f9bMjvL74+lDlTmnx8DN+68fcK6UcFtqtF/UKufNPinDwcqRLfQOLS6qkF8+Ttcpp2BcJQMVMseQDDJWHTLnNJ/kEh1rBZp9PioY+b8Q9lpr4qvFaVzYYZKrLMsVFoYouito1lmxmQqfUbwcu1xdZT5PBPA35TP40rWGoeZSMI0HivQYajzIyfOsn78kc1fNYppfq+am7mMWfDj/tnQLznCIjFiJBMOI+ny0LmYVGAeZNCe+SobhgsIvFHwwblqWLjTve89KZ2W3TxdQJCmlgDqibduvp+wz0K0++Ie4YKVnGNp6wHxgtKKhchyNXAN9TNbEg2A+UCmR9Ehe9lCbzccKDbhQgNy3YyFfQ+Bw8wtM08d6BSEvn0fCEFm3MEhmwZOLnc4Tk+Ee80B5P4+s2QRa7SdYJs3fzErqj+h4W9mtiysMVlQyM0AHUxT6N/57eMKJY/lZzRPD6aD0IZkDEeiuYfGNe1ZRJEUHAkiqvbNhohSURKPDXGjjkxKMbP7rXfcsCQ6esji5DTFg5yW9sBKZcktuCsT2FLW263HpU+qvRNXhy4VThBZ1Fb/pCg+NzBoeYTNaH61aCYOpKlJ99pcxBDwE673VYxTjhASmS6U6cuQAuGd6XSkfS663oTaWcrh/AIgaHJwtUSVUI5QunkcXyB40gcuMCrLbVqzNColJ4ctzhZPJsGd6sQFJHjRxlYYCiaHqTldZeNDOdPbdIfIiHVDC9IyZIUHz7Gebl3rc8lvzbk4ZGz0+Y+SIYm7wVf+F0ffHRNQ+j+ZWQk0zQCDGzEfVj4Xlkc+yjxz2PbA9OsB6cR8IormISKaeZBTWgBBKXlkbb/JP4nPqmscG+GkNOUYAno68t7gvxKRMz HsiH1sJx QWHK3wYLqYsXN9jZ9+tHp81wmhK4ggpXKfC3+sK1CCLdUoCKPXvXbXy7Co/GBDDh2q2FL9k9gdmRp//o2Q170HczjISnnmQbtRxBJFakLy/SSpevsXk4lUTpCojau8Yl/hT9WigaF2/1rFUaXu36Fbee8lIomJRik2dg3MXRpI2VEqwVSYDCgZ8+Hylxdc/Ro10mptKlTL9jSTbhyZU+0qjGs7OJNowBFVWRtEMWiFLxb9iaN3DafF3wrLqzweOr2Rgdec+pkzfpMJ2Zhd29Vguf3iPL9TqpJAYBGwpROaSitpA8= 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: On Sun, Nov 19, 2023 at 11:48=E2=80=AFAM Kairui Song wro= te: > > From: Kairui Song > > Currently VMA readahead is globally disabled when any rotate disk is > used as swap backend. So multiple swap devices are enabled, if a slower > hard disk is set as a low priority fallback, and a high performance SSD > is used and high priority swap device, vma readahead is disabled globally= . > The SSD swap device performance will drop by a lot. > > Check readahead policy per entry to avoid such problem. > > Signed-off-by: Kairui Song > --- > mm/swap_state.c | 12 +++++++----- > 1 file changed, 7 insertions(+), 5 deletions(-) > > diff --git a/mm/swap_state.c b/mm/swap_state.c > index ff6756f2e8e4..fb78f7f18ed7 100644 > --- a/mm/swap_state.c > +++ b/mm/swap_state.c > @@ -321,9 +321,9 @@ static inline bool swap_use_no_readahead(struct swap_= info_struct *si, swp_entry_ > return data_race(si->flags & SWP_SYNCHRONOUS_IO) && __swap_count(= entry) =3D=3D 1; > } > > -static inline bool swap_use_vma_readahead(void) > +static inline bool swap_use_vma_readahead(struct swap_info_struct *si) > { > - return READ_ONCE(enable_vma_readahead) && !atomic_read(&nr_rotate= _swap); > + return data_race(si->flags & SWP_SOLIDSTATE) && READ_ONCE(enable_= vma_readahead); A very minor point: I notice you change the order enable_vma_readahead to the last. Normally if enable_vma_reachahead =3D=3D 0, there is no need to check the s= i->flags. The si->flags check is more expensive than simple memory load. You might want to check enable_vma_readahead first then you can short cut the more expensive part. Chris