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 7EBC6C47258 for ; Thu, 25 Jan 2024 13:03:27 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id A63738D0019; Thu, 25 Jan 2024 08:03:26 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id A13D38D000C; Thu, 25 Jan 2024 08:03:26 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 8B4AA8D0019; Thu, 25 Jan 2024 08:03:26 -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 77D4C8D000C for ; Thu, 25 Jan 2024 08:03:26 -0500 (EST) Received: from smtpin08.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay06.hostedemail.com (Postfix) with ESMTP id F0B0DA23E3 for ; Thu, 25 Jan 2024 13:03:25 +0000 (UTC) X-FDA: 81717849570.08.C72A602 Received: from mail-yw1-f176.google.com (mail-yw1-f176.google.com [209.85.128.176]) by imf11.hostedemail.com (Postfix) with ESMTP id 1DB1140011 for ; Thu, 25 Jan 2024 13:03:23 +0000 (UTC) Authentication-Results: imf11.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=fnwTxEbT; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (imf11.hostedemail.com: domain of ioworker0@gmail.com designates 209.85.128.176 as permitted sender) smtp.mailfrom=ioworker0@gmail.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1706187804; a=rsa-sha256; cv=none; b=y/+L/+3X0Go8jtjots2avWZSpcdFHA7vkPSFMJyOnkpDgdu/ohtK4uj8gRlki/AzOe65SJ K9IsCBlj1yt2e8cBylmhS2UlSwdDeUsSsW4yaVnZWfZ7Lb8Wj5LMx0EIvpPdKFNhzMIuhH WpoGtJiAYa/sDYJAvTVFi3TlaMY/I1o= ARC-Authentication-Results: i=1; imf11.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=fnwTxEbT; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (imf11.hostedemail.com: domain of ioworker0@gmail.com designates 209.85.128.176 as permitted sender) smtp.mailfrom=ioworker0@gmail.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1706187804; 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=rk/AdcjA8LM5kSptwYAB5cvEIzrG6fwDwK3NoIgWvrY=; b=8Q6c6wOTYe2q2t5MkJ+WDcNFTfv5qntwyprlixSTZbrB3k1fxDXRJc2+sebxCxvyyRB2rL 5JM46nb8dKinY+kW9NH2I8l9xqgBqm0q+W0dplbkmwQv+wPek2tXK2WH1m3/6SQymafjyz uszLmaH/ZF/OvhORswvsR74g0hhq4lw= Received: by mail-yw1-f176.google.com with SMTP id 00721157ae682-602ab446cd8so10864857b3.1 for ; Thu, 25 Jan 2024 05:03:23 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1706187803; x=1706792603; 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=rk/AdcjA8LM5kSptwYAB5cvEIzrG6fwDwK3NoIgWvrY=; b=fnwTxEbTD79aBzUcsS/r4207UOE82E1Y02R2kbDODt0BQ7/3niDKRHp+XwKqmygEXN FW0fWZMgDv6r9tyvtD0L18uAsiEhvl6XyLrmgSaFsqgXz9BdaEn4eBsBWHRoKgzHz8Bg tEBzqiy8DiMJcaLrtce7F/QLSVKgULDT7iFN/0LO2Re31PErnRaa/NoQ7PJLwn3wb4M2 vxpkMQfV/FUvuFLEkDzIvHGuhVaUooUQVZjQfmDXbvt5RyTUl2TIZdA3pKVLR5fYzk0H EIc3R9DuAIBRK+J4PX+oHrdjIfJtKeZjkRLAPgykqJGojZ7O1skpJ0P6OPs0JIageHri Zz3w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1706187803; x=1706792603; 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=rk/AdcjA8LM5kSptwYAB5cvEIzrG6fwDwK3NoIgWvrY=; b=Ix/Bwgi/HT+DsZP2FEGDTw9Qi+lvUYo+o6TON01hugsHcvy63+cx1915psSxQ1yEud 4WOnI4HoWQnlUPihLIlqP9IEjgvHdLgvkoR3Yz6Jgj2jlKCqjzPZj3zbrxspkcxSlDmC cuHSCnq8g7pXxA6GsXkGukbYhALc9C4EGfVhyaFW+Kvjig+m1bmOqgZISnUshP7hcmVI DiLYqUWdK1uRHI4IG1npZY2icwk/66Zw2ApVuqE08/HOShnXwboI0+h+mO1jiO8hsi7Z xk8ELifP0AIfy4s/xtSVoMfenEz4lr5aPx12X9bQ6GB67AyysRAvE5iga5j9CZTNvrOS B6rA== X-Gm-Message-State: AOJu0YwzDkttpDM6tTPXEszPViz9nEld20VaGdAWvyEFQhRlhM5fVNuI FXtdvTWeg4UnVKFa+tahP6yaJzyuAD7If5UbrDDKDLL4KrSkqF9MTZPJqSpxykP39fYZQt+hQgv j7biHXo1xmOrGPf4GQj+5C384nSs2gScYJL/cMpDokM4= X-Google-Smtp-Source: AGHT+IEVrc3BZ3CpTuYXryrI0tChAMEUXaCGI2T9zqW+QwDCV+fs+2Fe6iouCQteajEDIGL0vR83zW6gm494ee2OqqQ= X-Received: by 2002:a05:6902:567:b0:dc2:2b05:4ab1 with SMTP id a7-20020a056902056700b00dc22b054ab1mr684198ybt.18.1706187803049; Thu, 25 Jan 2024 05:03:23 -0800 (PST) MIME-Version: 1.0 References: In-Reply-To: From: Lance Yang Date: Thu, 25 Jan 2024 21:03:12 +0800 Message-ID: Subject: Re: [Issue] mprotect+madvise may be better than mmap for permission changes and page zeroing To: David Hildenbrand Cc: linux-kernel@vger.kernel.org, Michal Hocko , linux-mm@kvack.org Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Rspam-User: X-Rspamd-Server: rspam06 X-Rspamd-Queue-Id: 1DB1140011 X-Stat-Signature: eehb54ck6b98ocxeksgpan9jmpj49hri X-HE-Tag: 1706187803-161708 X-HE-Meta: U2FsdGVkX1/DEjfM4f5vc9eMtwtXqjumPOKu5OjIWFPC9DjSlEpSwNNdhE1wgz9KvPQEgo6/Ws0TuzLuZt6PHSKRanZMzoJi3ZttilcVqZ+k1d5MVj14N+rqWjLpefuxRgDDhVImlXJyyvG4LDXeGJ6zjsb6XijpZVI7oNFMSOLjo2lcAWZdBtuTFSz9XeMWOTAlQUzkatW9p+viUcuCFJUC5df2HbCKUR33Af+YH5I7KnyzZsaJgQ+m/Si6Ao3uu8NaOZkqgQH4oYVYNP3h4LbYbpgaiyGIDGBj8JnpJyM56f6+6nM3d7Fx5VmUHVg5XHOvbQjr0B0bvDGbCsJJogsvx/d91QRq5bWVilspohnMn91B1zkej3uPHBVPMSP7q26tQVqB20p1+5LtP5oRchjBSh9s/TQylvUvOwKviWouJ5LZ5LOZhmk3JkSEfmxn6T3GueWI7oLxxJdf5/rVlusIKJShdjhrVvRDcUo2X6oijazMXnKLXHVhP2yblHOWTIWZUrFYRHV3aZGWOTb1a0jvQpAZhkC6tyi2gX5VxvuAqc9btJ+Ogk7IrMHFqK6bUGCyT/Gg/WgrNed/rnzNAry/CI8NMDpb5/7YIR90pkGailqc/Lk27X1Yea0rPLdnY/Xhz58mEHUjmOW7Eiexte/GR3IJJG5yiwR9c3FTa6gh6w/MiRMr84QrRc8zD/tbOilkLZ5VE+HNorZglvcPa9NTTnqnKRs/Ox8PGwVo3D41acOFrX/Bf5n3/2dN4dkad+jTlYAgJw55TH82uUczKgb4nSS9L56E/UKiTTc4mwhUG41ypNNQi0VmBbDMoJB0YioauyzJdSYPF0u+6kV1upiU2Vsjk468gbeZuKQHxuJsbjJyxbdB6avi5mbaWqUCfnsqY8nBu15qYSnc064c8uRMFt+IylEZnIE+wEbE413Vl3ytXDuVMvlEURWObljHFkQCzfKeILN6BQvpLLz GLhqkmXx B7wG+xwtwe8/aNhDoZEfH0UZRbmuUdK0DIFJANfosKoE9KG5scJokjXYHNIpqJlI9P3Vfzm/0HvtWoQi2LX86z7HtjTmjg2W63x/jnAuN2+taRLEerOF40crmr9u9XA4R3rsZxc6GRO8rCfKKWBtQK/uYnETTDh4iRbI7auPphJFrPWYzl4PvNmsdQuHlhguyycZxcfLBgJmGAZ4Rker2j6uZfn8YGk5hN09GbCLyyzuEnBWfw6MxBGHwt1qSfehhK0WAeSA5voR8CjK/ftOaOoZRMwph7sJCn1vbnH3knGbpQtwkYq4ZZtgIVOrF9FXZGOplheAvPXOZbB6TLj5IJLzxjhOZqGQbl3tHedpeV1cmcNZn/DARyt4b98SFkplnIvd7NOMAct5BGqLmKirkSNwNUpOGj9fkIYruJ9wPvXRzXIA= X-Bogosity: Ham, tests=bogofilter, spamicity=0.003084, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: List-Subscribe: List-Unsubscribe: Thanks! On Thu, Jan 25, 2024 at 8:44=E2=80=AFPM David Hildenbrand wrote: > > On 25.01.24 13:28, Lance Yang wrote: > > Hello Everyone, > > > > I've noticed that using mprotect(PROT_NONE) with > > madvise(MADV_DONTNEED) is much faster than > > mmap(PROT_NONE, MAP_FIXED) alone for changing > > permissions and zeroing pages. > > > > I have maintained a chunk-allocator internally at the > > company. It allocates a chunk using > > mmap(PROT_READ|PROT_WRITE, MAP_ANON|MAP_PRIVATE, -1, 0), > > releases a chunk using mmap(PROT_NONE, MAP_ANON|MAP_FIXED|MAP_PRIVATE, = -1, 0), > > and reuses a chunk using mprotect(PROT_READ|PROT_WRITE). > > Recently, I replaced mmap(PROT_NONE, MAP_FIXED) with > > mprotect(PROT_NONE) + madvise(MADV_DONTNEED) to > > reduce the latency of releasing chunks. > > > > Test code: > > https://github.com/ioworker0/mmapvsmprotect/blob/main/test2.c > > > > Here are the test results on my machine: > > CPU: AMD EPYC 7R13 Processor > > Kernel: 6.2.0 > > Elapsed Time for mprotect+madvise: 3670 nanoseconds > > Elapsed Time for mmap: 5520 nanoseconds > > mprotect+madvise won't free page tables, mmap will. That's the biggest > difference. > > -- > Cheers, > > David / dhildenb >