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 E51F3C636D7 for ; Wed, 15 Feb 2023 20:00:25 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 272896B0072; Wed, 15 Feb 2023 15:00:25 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 1F9106B0073; Wed, 15 Feb 2023 15:00:25 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id F1A176B0074; Wed, 15 Feb 2023 15:00:24 -0500 (EST) 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 DE4326B0072 for ; Wed, 15 Feb 2023 15:00:24 -0500 (EST) Received: from smtpin11.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay05.hostedemail.com (Postfix) with ESMTP id 6C0CF410A6 for ; Wed, 15 Feb 2023 20:00:24 +0000 (UTC) X-FDA: 80470593168.11.5A758C5 Received: from mail-pl1-f172.google.com (mail-pl1-f172.google.com [209.85.214.172]) by imf02.hostedemail.com (Postfix) with ESMTP id 72FB48000D for ; Wed, 15 Feb 2023 20:00:22 +0000 (UTC) Authentication-Results: imf02.hostedemail.com; dkim=pass header.d=gmail.com header.s=20210112 header.b=p55ohjy+; spf=pass (imf02.hostedemail.com: domain of shy828301@gmail.com designates 209.85.214.172 as permitted sender) smtp.mailfrom=shy828301@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=1676491222; 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=dFrWO0f7yzYN0JfWwtvFw3Ysd86ppP1HxQirWGWfkGU=; b=V33lI2j9zkNy8z8jy4rGBoohamE4FXQAM5BPGnbRiXrZnNPtHWoVjKU+ijWQTWknsvEvkt OVJ+gQ/9bjNw99HEJIbkWc/hGN5yvH/SUFmfboU9o3uK288ZDfwk/pKFMbB62wDgLxoCig SyBekcjSlruXlr1raoZmbD8Meos+wA4= ARC-Authentication-Results: i=1; imf02.hostedemail.com; dkim=pass header.d=gmail.com header.s=20210112 header.b=p55ohjy+; spf=pass (imf02.hostedemail.com: domain of shy828301@gmail.com designates 209.85.214.172 as permitted sender) smtp.mailfrom=shy828301@gmail.com; dmarc=pass (policy=none) header.from=gmail.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1676491222; a=rsa-sha256; cv=none; b=FDfAEhsCRKUU3Pr2T5SI0AKnD1z/P9ITBTDGbRgLbWArkuo3oXAgRXJitwYMiYbFvo0CML 8m+OnjEdqXWqAUKOAlsdQk/LFgfkuVHrzd2RjyddaserB5dHR83ObA6kHWwCou4pgW1vyy zYv/5v1ih3CoNFXCdofOnzn++ZG7JRo= Received: by mail-pl1-f172.google.com with SMTP id e17so12521209plg.12 for ; Wed, 15 Feb 2023 12:00:22 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=dFrWO0f7yzYN0JfWwtvFw3Ysd86ppP1HxQirWGWfkGU=; b=p55ohjy+62umt3tJQxO+jZD1wSAGGC1zVE4GCTWFu2joi/QjhhkDv0s3/fCrg5VFN5 QcxAg7oipjf+NRNLaE0ob2xPdq7t/4ipZRNYr95kx6JjeiwHOuSYEaN66tJ8OZ0I7klY S9qoBUcQdsFD/5/xuXph/R3/A5uKfqPT2bcztxpFvXK75E2jaIiwKhPpliPm7eHaZDVh XfvZ9jD6/9Y9RhnhdQM6HrnYkuVU76OGSjg7fJGuICBujK70clz6WPPmDgSaTefGwhI3 jB8R5jGN5+hfmvFgpzL+M0BDt1UxQkavMgXP5PWx0d45nwMjKRrOYPML9EHc7NlLj5Bm 0srw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=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=dFrWO0f7yzYN0JfWwtvFw3Ysd86ppP1HxQirWGWfkGU=; b=WmqlLe5t1Xq4GhSd5I6ZeRRDWEE71e1fBPifrRlgnINyfaLI6nWDtA2ffE+bCoEGyK bDzjJ4X/PUKLA/0K8HshYqbcKnmFYsa45iTkJ7AtC0Ku+LIy1dIKJp0aA2xJ1ICI63Ls eTD1oR1LMX1d3CnCmPdJLtEEpuTaWFMUiRF4HAcfMbD3VT0NlWymiAIPwj/eHvfGGngQ RGaiYt++rkleqUukQy+8oWWLbtr1jg64AGxdvxF++uiPUlJOioGoEqqvE7gUtQHWGHMb 7Y56crkZRympWyOQ/oFZa7+PmOwRyQ418DIpMWGI6EgNzbmkPslLJMQ7AdRg0tirMWmA 0HVw== X-Gm-Message-State: AO0yUKWqB8LsgI/AcE/Hw504UPzF05bK56rZ0X5LPNyLGRMzACUNOxDA SD8vuVE48uwpRuYQU4PWoCVTnsmAN4ONmQDHMMs= X-Google-Smtp-Source: AK7set9bs5Zg8Yirc4qUbLHYhiamHtAx2jf0H+f1/8yBTmxsP26MbB8uiOOGpaGbls5Iz91VFs683r7GA3VbOXJNbLQ= X-Received: by 2002:a17:90b:1e4c:b0:230:b973:a726 with SMTP id pi12-20020a17090b1e4c00b00230b973a726mr138046pjb.23.1676491221040; Wed, 15 Feb 2023 12:00:21 -0800 (PST) MIME-Version: 1.0 References: <20230214190221.1156876-1-shy828301@gmail.com> In-Reply-To: From: Yang Shi Date: Wed, 15 Feb 2023 12:00:09 -0800 Message-ID: Subject: Re: [dm-devel] [v2 PATCH 0/5] Introduce mempool pages bulk allocator and use it in dm-crypt To: Mikulas Patocka Cc: mgorman@techsingularity.net, agk@redhat.com, snitzer@kernel.org, dm-devel@redhat.com, akpm@linux-foundation.org, linux-block@vger.kernel.org, linux-mm@kvack.org, linux-kernel@vger.kernel.org Content-Type: text/plain; charset="UTF-8" X-Stat-Signature: smmistziwc17w8rwgtpg4eh1phm6p3ji X-Rspam-User: X-Rspamd-Queue-Id: 72FB48000D X-Rspamd-Server: rspam06 X-HE-Tag: 1676491222-95822 X-HE-Meta: U2FsdGVkX18lv8InHZICp52M9DxwhG7WALmPV9PCIhQr5LsU7Xi3nhxoel4ofGsmBoHOmYp9AWJdchN3yn3ltF194moSFczArS2aP9vqmta9mSujkA5EZgMug5uVt56kJBgnJw73HYsj+eKvduvn2ExYPfDuFlJJUY10LZ5VvYlH3K0rEFr+qA+xf//NgVdS4JM2GNrRd+6XSFQBsrJp+m159DjCTGCLdbkBc8BgWftmA+n/uDjwr6xDBXT/AlD9rP7XqKQ5A3wVaz1PcJrwS6p/njTUTU2k9JRFQ+CQ16qLgHzZ810fdrPYJ9JcvLM+XD57IwHJC7TZnuM6mJOvvCSWedbIdJX9vlO0U/G44nr6+FF1mgDNLQQBY0oakL04A6mr97Fm/CDBAO4Z42IqRwn2iiDBKlvSjrot2xOoA/c0OgceZBu02cULYV0cT89sIVV52TGPdSi9Js4Uar9Rp4ND5PFcnVW2o/PwGa+/xNzOQuIIFNzd5svyYPWOuRyyRlgLgObdyyriEB3J2pO0Uq2udVjBHipd16AfPNfj9vvH/opgky8YaCm+PD19sEtsmteTLhHvvNl5xrUGbswzMgBtUMmjpEVAKVxcZU/h+qjvY1iuQYlSON0nEpW9fmRsM95dPWuxYzfhJpHa0qcH3HpwYJcDqL0toF2kW4JSm/61TtNMIMV93aiduHsbmc/PTmdYdU9uNzk/wVU7TNNGHBunT8OTdctfphHeAjTHXCTgl4gOfL8hIdXszf44YM3y1y//TYIoHcijJAeEGxfbARTmTIQ9hqhCSzekJVze6K91kaBDw6K5b7Iklj6Y/nIuEUtRQiurMdaJwvjH+YTvMWLV8qVsjjijFgj2JYl/N0plODI60bBsRugOzpkh1JYg63nSoR86AP+Mb6ITF7xMciFiQ3cOcMDfO3ZwAYF7Nf6VLoGbUBtizkk3hwTH/xUMoQuPui8c+3q7VYr8cL3 RuRpRY4U oi8aP3R5HiWrmqps99cxik4mqtLv8j1gf2d5+sqlMKACvYcSzqaNYgEFmFkK5ftk2jlr/tF/tTDvFho9STHNVegnHT1A8fFZeHj1Z1j2d++PzqcJsHHAySN9KWraWrlH1z/sXYzcZcg3ffr7xim6ZVx1q54BX2zWHLl3E2P29Ogp6VB0qXkwl0MUUxMK2q+5X5BX83vrg3wiiVQxPSUlSxMuODW5jVZogdHiZ0jsyjLDc2p1PN17ilBa3C2a3a6WQIQg0pb2ncQTZfokEpfZzfa80J1Tnv2WxFLnO8TYPMcOSGhm51m5Wm6ixkmScic5hsjCxnHyT7iiYyO72lQ/IzCDGqSAqGjnCO6+qxPyobwNO8SQhcMDGTTq+ZHNImGj5qwipVguHTfLSy39lMa9dMeaFDcH3iWyXmKhmeTl4LEVTxShf7oFqHiyII1hbINVSuNdzimBDM/Y2/iuJMWJTvyDoIVeyVamZIUpN 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 Wed, Feb 15, 2023 at 4:23 AM Mikulas Patocka wrote: > > > > On Tue, 14 Feb 2023, Yang Shi wrote: > > > > > Changelog: > > RFC -> v2: > > * Added callback variant for page bulk allocator and mempool bulk allocator > > per Mel Gorman. > > * Used the callback version in dm-crypt driver. > > * Some code cleanup and refactor to reduce duplicate code. > > > > rfc: https://lore.kernel.org/linux-mm/20221005180341.1738796-1-shy828301@gmail.com/ > > Hi > > This seems like unneeded complication to me. We have alloc_pages(), it can > allocate multiple pages efficiently, so why not use it? The alloc_pages() allocates *contiguous* pages, but dm-crypt doesn't need contiguous pages at all. This may incur unnecessary compaction overhead to the dm-crypt layer when memory is fragmented. The bulk allocator is a good fit to this usecase, which allocates multiple order-0 pages. In addition, filesystem writeback doesn't guarantee power-of-2 pages every time IIUC. But alloc_pages() just can allocate power-of-2 pages. > > I suggest to modify crypt_alloc_buffer() to use alloc_pages() and if > alloc_pages() fails (either because the system is low on memory or because > memory is too fragmented), fall back to the existing code that does > mempool_alloc(). My PoC patches just did this way, but called bulk allocator. There may be other potential mepool users as I listed in this cover letter, which may get benefits from bulk allocator. So introducing a new bulk mempool API seems better for long run although we just have one user for now. And it makes other uses easier to gain the benefit by just calling the new API. > > Mikulas >