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 1B3EDC71136 for ; Thu, 12 Jun 2025 17:28:48 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 970576B0088; Thu, 12 Jun 2025 13:28:48 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 948C36B008A; Thu, 12 Jun 2025 13:28:48 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 8851A6B0093; Thu, 12 Jun 2025 13:28:48 -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 69BDD6B0088 for ; Thu, 12 Jun 2025 13:28:48 -0400 (EDT) Received: from smtpin03.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay05.hostedemail.com (Postfix) with ESMTP id DBECC5FE62 for ; Thu, 12 Jun 2025 17:28:47 +0000 (UTC) X-FDA: 83547433494.03.55807B3 Received: from mail-qk1-f179.google.com (mail-qk1-f179.google.com [209.85.222.179]) by imf27.hostedemail.com (Postfix) with ESMTP id 0093240011 for ; Thu, 12 Jun 2025 17:28:45 +0000 (UTC) Authentication-Results: imf27.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b="W0t/1Jze"; spf=pass (imf27.hostedemail.com: domain of nphamcs@gmail.com designates 209.85.222.179 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=1749749326; 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=cVzggo6fwLrjSrHwgdYTjOmIIJBC25mHFWhaLr0wgiM=; b=l06K5rT3VNG6jTmLLA7BmzI2VVEb3GniGh4BLOO+FypnDZX0ecKwSN/Bc+SkmhD6oy5lRe GlGfDEyDK/hIVYQ6tRFSjr9UwQK1FA3p0rWHK43yMbYV8paYX6H52P6mQTwvlJLwoO8Yjr oHIx/GDtf/csxIep2YCwRkN8wu7RMGk= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1749749326; a=rsa-sha256; cv=none; b=6auWdJvXgk1OPtJNzGAoGQyOfNIBP+7rqtrNihS2q6fzHQvPPp25XLqKlUkWPc/mOS815X BOYhagY4/htDV7yd0boROYEKMTHiyoPSeufNiu3pg1I4pxXo0U2Zqyj82iHE8wq66dOf9z MQ6O+QlAUe5fnsET9wBTv2mZ9QmHqNQ= ARC-Authentication-Results: i=1; imf27.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b="W0t/1Jze"; spf=pass (imf27.hostedemail.com: domain of nphamcs@gmail.com designates 209.85.222.179 as permitted sender) smtp.mailfrom=nphamcs@gmail.com; dmarc=pass (policy=none) header.from=gmail.com Received: by mail-qk1-f179.google.com with SMTP id af79cd13be357-7c5a88b34a6so121939785a.3 for ; Thu, 12 Jun 2025 10:28:45 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1749749325; x=1750354125; darn=kvack.org; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:from:to:cc:subject:date :message-id:reply-to; bh=cVzggo6fwLrjSrHwgdYTjOmIIJBC25mHFWhaLr0wgiM=; b=W0t/1Jzei+V84bamIZA1FRRyoJk4mJbGW5pGT2W3HQVY8YWRZLdR1EvNyh0SZTJNlu 9eYL/eIckK3ZhaftadJdlIXTuPzKh77CXmSBcrEkPdXY4oU14yeSCimQC8Bxx5Cz1wFp jdraQL9QMxM4pzRffcBkDg8TGRJq08Fb5atDsKxkqToIfoXVWuw6vezQAggkmrZQx6KA KdwqpoGOcTJBKo3IRfGSuy0owZN3cPVtWx8bg8Ym59gYEC1HiaCpypy+MIRxA8sBqdrn Ga9OVIxKGs+GqZ+/fgwkrcoWUeAUgrBkA6RI1mPd6z5hfFiMvXr2PZkM5LXdkho9j1Dc +ESA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1749749325; x=1750354125; h=content-transfer-encoding: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=cVzggo6fwLrjSrHwgdYTjOmIIJBC25mHFWhaLr0wgiM=; b=m7X4Q0wQkdGsQbpmibVqwQnmrZKrt/9Kj7u7/+Q4dluq+6+K+ygtGYIPknT3XLrzL+ buceIjwU+PtKVNVYtRnvWhc4vhZ37IwMp5zdZZ2Cj7Gj/tQ7+j4WRkskvd9ukTJJOm4O dPhpmym3GKw5dFzkbX68nBfEeAkzCu32i9nUYYpkd/qVlSOqHVCntV5yUtF54vvEkf0d 0CUPBy9b2cRVaCSps79/o8kxgEj/SEt1HiBlBQcJjWqSVFfpu0IYoGR26kno4V7dqK+w sOg/MoocIOSMpxNAMZLKTZ1UjB1v0LcGxOVpwe/ZAUxQLq4Z3xjtMASU7bzZQ78gHUJq y6DQ== X-Forwarded-Encrypted: i=1; AJvYcCUU9I6zQrtN8/XQizvY42ZZiH46LtDdhO1hFU+y1JQGqSWzeqjIoGAvuUQZ4Ft01isZ0oMFdbBhbw==@kvack.org X-Gm-Message-State: AOJu0Yy8KSN/hssvREko1Y/XfE1T/miBN4L1xc8fqYu/codQidRfQG0O tTCw7opBFWsLoEWCuvtgGj1yNG1Mv4Re7WfXxPoMvqEn5raS9l4fIdGJPoM5NViFrtZbAin0Q/E b629yehAbRX4MPvH+uTtq093ei6Yyd2I= X-Gm-Gg: ASbGnctdUSx73H2IaepwEInOEUn8atgxqRkRfVqUuGB62wwCmp1wRrlHXvFIfqrgU8y aglt7hyTGGgfqJOEWPSc7INxPTm76w4DbuKOzFvziPUmJTDRgB7rWuDaAFamR+obByoQhrr2qHS Y8BKtXjOqHI09hZQvcFVTM7jHwz850M9qJ6GwaCXbm7kjgsqHG7WXz4t2r7AI= X-Google-Smtp-Source: AGHT+IEXdxdD53pTjTM8GX7O6wNncG5C9alVq4mW+efekyq5EYpQPguf/NrZNanJT1ZnJiDheX47I0CCs9OiXFq+bqQ= X-Received: by 2002:ad4:4eee:0:b0:6fb:1db:e9e7 with SMTP id 6a1803df08f44-6fb3460dcb6mr74029396d6.10.1749749324580; Thu, 12 Jun 2025 10:28:44 -0700 (PDT) MIME-Version: 1.0 References: <20250612103743.3385842-1-youngjun.park@lge.com> <20250612103743.3385842-3-youngjun.park@lge.com> In-Reply-To: From: Nhat Pham Date: Thu, 12 Jun 2025 10:28:33 -0700 X-Gm-Features: AX0GCFuF9SfcQkfWFU5D6MhImUNQ-lwvv6Y8pN7241v7yDw3O3b564ehqU6vmjs Message-ID: Subject: Re: [RFC PATCH 2/2] mm: swap: apply per cgroup swap priority mechansim on swap layer To: Kairui Song Cc: youngjun.park@lge.com, linux-mm@kvack.org, akpm@linux-foundation.org, hannes@cmpxchg.org, mhocko@kernel.org, roman.gushchin@linux.dev, shakeel.butt@linux.dev, cgroups@vger.kernel.org, linux-kernel@vger.kernel.org, shikemeng@huaweicloud.com, bhe@redhat.com, baohua@kernel.org, chrisl@kernel.org, muchun.song@linux.dev, iamjoonsoo.kim@lge.com, taejoon.song@lge.com, gunho.lee@lge.com Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Rspam-User: X-Rspamd-Server: rspam10 X-Rspamd-Queue-Id: 0093240011 X-Stat-Signature: hi5zys718htxcer6moa9yapr653c1jds X-HE-Tag: 1749749325-226065 X-HE-Meta: U2FsdGVkX19Y/Vwb81cqV2HINV+B1YwT6tYFGsKH9c3FG1+zXdJSuZTNaCHa1lWPv0hLUIdrvIrpneW9LPELnd/5S6COMW3bVt+fIj3BSO+aYr3vLrcJiVXKEE40QIbDBglzyDC5AsdWnkmABtPjH7QH1TkbEBsBPTkS53WPTDndUp7RQ7a8M4JOz5sehMQMyG1SXQXMxt38rUTwMws/VaKQviH97zevT0YuLG/uiWutve5vKw1B8+1tv9hH8/pjF5cSae1w2COSef2CI6OHkuXTmhZwsAbHadEB1JKatHNQdTQiYDR155s7fe06RXrXZ47+hKjV5mXFMw97xp91TV4vH1yWMu+sbnUj73hY0a2Gd6rQJoEiYx02gZilJ1FaBPq2gXTf4wBZzVNhQ/Ym6NAhvhLAjG9fBvs/UpYP0tWCA2sSPPIGtDj5+MJ13MyZfiSwZylfGKcOOR4Cp8bOd7VIHrhbWaIQAXd5OjakuqcwZG8I7vKnfuHXsJ6zG8MeHVlbfcExJ+uQ5vHvrbebWbnNQXBwVK2mqQTAmapHoVNoXDCDGQtUtGnkrzeLOyuDtL3+te5jp0e3hihQYEeDpKZAUqASqPyj+p+CF/MYCfm+VNwEcf6X7U0p85e6V52nxPDH/VmUhDNmaU06+UJM8TrDmGb0ku9b79SuTnGde7eyeAyYpxonSKistyqHG6AkkgJ7eTM4NIBhz9fFb0WWtO9bjDPa0cu3yXmsxJ5VHjrH29i6usYrEQ0kXtCCNsdMnc0xd41SmkW38KjGGr/m8dIRYTduCeuTuFwKC7ZAnJw2eEsFFPEr7cmZ0N3r9ncEBQmBTWBiwFT2pGV0Gg0guE5z53cWgnKlWt8qr4xZJiZYbId6AYzyxLPmbAcAH4uGmMo4+8o3gAK38XQw9IZqIc/3iPH6dmUODpypQN3BOknTNyYm2EzjAIeeUiyUYtS9/ILz0uZV/q8WWAEggCi insngbJx wIWdXlYuZL3HmbC85c0eMHYClbIDJczwXaNOKePm8t3JvJe3r+GALULb5AcALspsqSYE6Rj/PydHVyugtmjAFIPOfOKjvwlz2HGZQx6hiTSBsHVTCi1O1bXrzgLDlkPpAM9iVyfUgcUHMxUnVYPBRGoA7B2n2idIoyeHtC7HvaQZvt8HNbaJa0yjAD6VCeRkKAMgxl5UwylRVfpMB1BFmyH6dQaSkNmNU7GEF4A23S3842y3ZH/f3MtINEYJQrjoU16Z3vyDwBTNosL09k647kSkgwkZP4gDjc1A8oECC8hw6DAz6oSOhpyV4W3MpqfMVhAwXcVIXrd9uoZcF/aGdqgQM7gknzoeVKAavX0KVExi5e4trl5LaSnT+YQ== 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 Thu, Jun 12, 2025 at 4:14=E2=80=AFAM Kairui Song wrot= e: > > On Thu, Jun 12, 2025 at 6:43=E2=80=AFPM wrote: > > > > From: "youngjun.park" > > > > Hi, Youngjun, > > Thanks for sharing this series. > > > This patch implements swap device selection and swap on/off propagation > > when a cgroup-specific swap priority is set. > > > > There is one workaround to this implementation as follows. > > Current per-cpu swap cluster enforces swap device selection based solel= y > > on CPU locality, overriding the swap cgroup's configured priorities. > > I've been thinking about this, we can switch to a per-cgroup-per-cpu > next cluster selector, the problem with current code is that swap What about per-cpu-per-order-per-swap-device :-? Number of swap devices is gonna be smaller than number of cgroups, right? At swap slot allocation time, we check the folio's swap device priority list, then pump that all the way to the swap allocator. swap allocator, given a priority list, for each priority level, try to allocate from that level first. It will get a cluster (either locally cached or a new one) from swap devices in that priority level, before moving on to the next priority level.