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 BB6ACC25B77 for ; Fri, 17 May 2024 12:12:23 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 47A5B6B0085; Fri, 17 May 2024 08:12:23 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 429A86B0088; Fri, 17 May 2024 08:12:23 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 2F1BC6B0089; Fri, 17 May 2024 08:12:23 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0013.hostedemail.com [216.40.44.13]) by kanga.kvack.org (Postfix) with ESMTP id 0F9A46B0085 for ; Fri, 17 May 2024 08:12:23 -0400 (EDT) Received: from smtpin25.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay09.hostedemail.com (Postfix) with ESMTP id 8AB3480303 for ; Fri, 17 May 2024 12:12:22 +0000 (UTC) X-FDA: 82127775324.25.B869BC1 Received: from mail-lf1-f49.google.com (mail-lf1-f49.google.com [209.85.167.49]) by imf06.hostedemail.com (Postfix) with ESMTP id 94B27180008 for ; Fri, 17 May 2024 12:12:20 +0000 (UTC) Authentication-Results: imf06.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=io+qW+qf; spf=pass (imf06.hostedemail.com: domain of kmanaouil.dev@gmail.com designates 209.85.167.49 as permitted sender) smtp.mailfrom=kmanaouil.dev@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=1715947940; 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=dYHnsuM28wlnjIHBzvg7c1+83Xtl6huWw1mW2JlV5l0=; b=y2IdnztC83oBhpnSWMQBj7xLW89fL3d1H0lcuobhp+/AdaafAjya7Z34gckLGJoTyxvGgX 6uM32eUOCt9wQj0yxu+HQjxHrngAL4wyzONKId/jAUwASkt0oMcboFb4EC7IN5mPvopE+3 px+3yfEWM+59/NhSo5LKbuqjQMZbdm0= ARC-Authentication-Results: i=1; imf06.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=io+qW+qf; spf=pass (imf06.hostedemail.com: domain of kmanaouil.dev@gmail.com designates 209.85.167.49 as permitted sender) smtp.mailfrom=kmanaouil.dev@gmail.com; dmarc=pass (policy=none) header.from=gmail.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1715947940; a=rsa-sha256; cv=none; b=iP9Kli9zP7JtPhT9aHiOTW4YiYLa1UwOOyeYfQpZr24lk6QjVOcl/K70rzsICXrqe6BvDO OY1Ubk66hZWIN9TJlg7+w0SadNh5gspc9wNOUohql52P9/eJiAbB++S7sXSk6i1OyRhBY4 GuLjGjXgd2XYNjPpmy9CTlFqxDXAWWw= Received: by mail-lf1-f49.google.com with SMTP id 2adb3069b0e04-52103349cf0so105165e87.3 for ; Fri, 17 May 2024 05:12:20 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1715947939; x=1716552739; darn=kvack.org; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:from:to:cc:subject:date:message-id:reply-to; bh=dYHnsuM28wlnjIHBzvg7c1+83Xtl6huWw1mW2JlV5l0=; b=io+qW+qf27ONIB9FUxMzPGBfZzHznXqUL+kMBVJyMGHVVjL7zHRtWNJMRx1UxSGwoL 6wVlpZZjvJXF8xZi5Ggb+BS0slMufqEjuWarq09NEfRDORUi8j3GpRBsf38UYBMMyi9R Z8P9Mg2tyWrkeM1JCB/hpTXoB+imyHuWeAU4vMuMELzyl/YwoGmaOrp0dWv8bLrDhi5P jHhkR/LkvPUwUXe+MVrjBZjCvpzoAvqXZB3zGSzv/JtUUk4pmSfAyTPRZkDzHUkQgEJT ZInxioZMcHORdNpUuPRTbd9RZm5wNsMPHfIGe3dcTzzlc/rxBkmXXxEIQXvur2NDNxBg 2dHQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1715947939; x=1716552739; 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 :message-id:reply-to; bh=dYHnsuM28wlnjIHBzvg7c1+83Xtl6huWw1mW2JlV5l0=; b=CXbn+W3bbpgNJkBIxdMNNKHfj/rXIkLzZ8gftyfvCGGmnecudEAHZo4ts2Mffpqn+V S1sXS408LceyXcKLF2Lhbm7uHj6ApWJnrmZEj1rTufjiP9o9m6GXlUPTh+r4ZNDGhM6z BGJLO0ix1nH4CCuDK/f2jGK2nX3eaidb7cmdGo7BuUQkXVMU8h98ZmU32P/Z/Z96n2R7 ycBRYn+bemXeJF3MqUMzIEAvtFYBF7H45vqU/1/JdxJMYM8Gox8jlci0gsf5PFbMZ88h wCflhegxzdagvEmC7W6IQzeD7v1v4+nDx3UqgIS0Ou0Qpk0q5q9To5ntcuh5jRk1Wywu ydFQ== X-Forwarded-Encrypted: i=1; AJvYcCVN849szYsmCGZdr39yFQuE8ATI3XLyn7WERUW9noHGmkhOwBat/I5SzPnJj9/XcC3Qc17PhKcBCkobrmipJZ32owQ= X-Gm-Message-State: AOJu0YwaIU1MFWO2g9u3uNZtuqb/uRAUDYw9tnH0cbRSt44PVihvv6Rh Llk66Vt9QNXtTN/O0JsYuUrZhjfBoT42dQLVQcXDHUscQ/qDDjU2 X-Google-Smtp-Source: AGHT+IGcP9ozy47Ias9Lpz+FXIBBKoK0BAQpDC/+lHHlVco5fwRzJyGS2/trk5z4hce1TYmEnowYag== X-Received: by 2002:a05:6512:e81:b0:51b:ada6:f1a2 with SMTP id 2adb3069b0e04-5221006e63bmr15714357e87.3.1715947938646; Fri, 17 May 2024 05:12:18 -0700 (PDT) Received: from localhost.localdomain ([2001:630:3c1:90:1614:6de0:61c7:40b0]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-3502bbbca98sm21572031f8f.112.2024.05.17.05.12.18 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 17 May 2024 05:12:18 -0700 (PDT) Date: Fri, 17 May 2024 13:12:16 +0100 From: Karim Manaouil To: Jan Kara Cc: Chuanhua Han , Chris Li , linux-mm , lsf-pc@lists.linux-foundation.org, ryan.roberts@arm.com, 21cnbao@gmail.com, david@redhat.com, Karim Manaouil Subject: Re: [Lsf-pc] [LSF/MM/BPF TOPIC] Swap Abstraction "the pony" Message-ID: References: <039190fb-81da-c9b3-3f33-70069cdb27b0@oppo.com> <20240307140344.4wlumk6zxustylh6@quack3> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20240307140344.4wlumk6zxustylh6@quack3> X-Rspam-User: X-Rspamd-Server: rspam09 X-Rspamd-Queue-Id: 94B27180008 X-Stat-Signature: y9in6xgyxa3zwgx7sztw35c936ypt8qs X-HE-Tag: 1715947940-17226 X-HE-Meta: U2FsdGVkX1+D5PgsydRXFrnBZ+WxkG2etI50ViGnYUYf0WMj/9SzWr9+GcuhOP+9P04mHZc003d6/XNhB4HTwXtgWBcPekUU6vC6qlXznydHW3Rsr/b2cqkFty0gSb6UTWViSnWLIbJMNguhEiw2O6s1rnhjtbU59BYO/xDQrSKX+cttBz8zlXav1Jv2EBoThiobbMGb6t1ePupH3W/rLHJT+DqCZBSOUg7FEzNspeCUwcT5QIzNb6iFKlw2Y7oWs3GyGpawenhmBECKp4ov9IC0vHvIubF4Kt4UpyfpeutyYk+PrYIwU/I3p7mOq8K0NxGY3vjEw5s7vV1UofNPdnZpDk91QttQnN9ZgOGWKLJIb9QIaKxmBe4L+w+IW75uMO8LvPxU83ZkCp70zdbQFqzKy1XMlvad0BR0VzMtsHkyKfyQnEtguulSfloeHWkd7Iv+z3IZGHwTfS7msQgvAWiRARl1v3i4e+NglSsI+CGcZzTvitja88ZK2et+1ju/b0Bu8MdhuhUa2Ue7m6LiW0l3mRZAOBmOenj642dYw4iXcpyaeBEnYUyPNhu5wJ+0dPjkdNjempiKqleq4lI59+QnxwGFkd9ceZPZciZ18qfzEI4Rh8mn3e6+CjU1PKWVSIMk312ih/deTMBzFtFwyxr6WKtq427vPpyisYxvm2zkeTnbQAQ2s8CQwdVEMcOjY8JFBy0EyjT9CtKGMJ00jkn4L88u8ayRoZmD9jIfJ+8XqvxAAdM0PguCbXIkYdCBYFhdwJv83TfCEI/hCARGB2/eiWSYrRtD3yZOL9rrME4H8hQgRoNL8MwxAd5UW2VQ7oGji9nkM369dt8Uw5R4+uRFJryooEfn+2T2t05KJlsVfaUUJPTMQMCVRI+vGHWK7VnFn2LJCQ6mdI/BleswtjGvGQ9w+UIy6Jvxz88SDmR3Z2+dRuIx28z4PiF8EbNSETx2riTu3mG9hFgstd+ +PSNHDPg TSqZ2ezfAkOyssXRS2cUiY2rrm3aoDDnUlLwhvqGyCg0YFpWaUUUCXDGIneHYEwfOEdb9ja5+x3sVqW5Vrxy7809i4nyhSvLiG+LvaSjs+z1NKs9A2VdvcOyBYiHFqw6rfthLcE4op3cvS8WyPFCaWgVJYIVHGMRHX/os0lxAJzRbzLcTmIateA99iWg30yctwsewqyjCV3Y5cGOkCm6wqwlWLYOUvGFBwkpw/ioixgRkGWJT5ObZ5DM3HVVCD6VlSRTSGrTPm3MFVd/J44shpYMypsTSudt5QdK0zB5vVfDenFxfC3P6PEc6HKDrg9y49pu4zjfRr/6vOGykPCkMV8VPXCB71pKWGbAQ4m4VB7thj/goINQq1NHUD1n9+Lhu/4E9rvpJahmR16OewCZNK/e5vsZmdg6sw8bcAVqR9YkQMrCqvwNUMfRHJYV+9LufuZUHL9uTtY0qUA86E9KHAhB1VJh2lK7ZQDelR0EuCPHDLfFgcUjN+uRPGOvKiSqbckfrSlzQ9VO37Nve7lTSwuS0zC8cZt+txjgD X-Bogosity: Ham, tests=bogofilter, spamicity=0.002944, 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, Mar 07, 2024 at 03:03:44PM +0100, Jan Kara wrote: > Frankly as I'm reading the discussions here, it seems to me you are trying > to reinvent a lot of things from the filesystem space :) Like block > allocation with reasonably efficient fragmentation prevention, transparent > data compression (zswap), hierarchical storage management (i.e., moving > data between different backing stores), efficient way to get from > VMA+offset to the place on disk where the content is stored. Sure you still > don't need a lot of things modern filesystems do like permissions, > directory structure (or even more complex namespacing stuff), all the stuff > achieving fs consistency after a crash, etc. But still what you need is a > notable portion of what filesystems do. > > So maybe it would be time to implement swap as a proper filesystem? Or even > better we could think about factoring out these bits out of some existing > filesystem to share code? I definitely agree with you on this point. I had the same exact thought, reading the discussion. Filesystems already implemented a lot of solutions for fragmentation avoidance that are more apropriate for slow storage media. Also, writing chunks of any size (e.g. to directly write compressed pages) means slab-based management of swap space might not be ideal and will waste space for internal fragmentation. Also compaction for slow media is obviously harder and slower to implement compared to doing it in memory. You can do it in memory as well, but that is at the expense of more I/O. It sounds to me that all the problems above can be solved with an extent-based filesystem implementation of swap. Cheers Karim PhD student Edinburgh University