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 A5645C5AE59 for ; Wed, 4 Jun 2025 01:02:07 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id D354E6B053B; Tue, 3 Jun 2025 21:02:06 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id C71EC6B053C; Tue, 3 Jun 2025 21:02:06 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id B60E36B053D; Tue, 3 Jun 2025 21:02:06 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0016.hostedemail.com [216.40.44.16]) by kanga.kvack.org (Postfix) with ESMTP id 8D5786B053B for ; Tue, 3 Jun 2025 21:02:06 -0400 (EDT) Received: from smtpin23.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay04.hostedemail.com (Postfix) with ESMTP id 41F8C1A1B83 for ; Wed, 4 Jun 2025 01:02:06 +0000 (UTC) X-FDA: 83515916652.23.FF058B8 Received: from mail-pf1-f178.google.com (mail-pf1-f178.google.com [209.85.210.178]) by imf22.hostedemail.com (Postfix) with ESMTP id 60281C0007 for ; Wed, 4 Jun 2025 01:02:04 +0000 (UTC) Authentication-Results: imf22.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=ekivVFJS; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (imf22.hostedemail.com: domain of ayaanmirzabaig85@gmail.com designates 209.85.210.178 as permitted sender) smtp.mailfrom=ayaanmirzabaig85@gmail.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1748998924; a=rsa-sha256; cv=none; b=FfzjU8lJc9TvWmV2FACQQVSVNFdOtimkhGZN7M7IgUIdLWdtHB3pu5L/AAP0IloRKyLRcP k/JmZkNBYByHe54kQco1/taId2CKL8yCwv5v79FkOgHJp1a5XgA+oV/bI9DkSmGMrcWkhs qERbd4GxKNZRcNppCAodrjJ8udzLjvk= ARC-Authentication-Results: i=1; imf22.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=ekivVFJS; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (imf22.hostedemail.com: domain of ayaanmirzabaig85@gmail.com designates 209.85.210.178 as permitted sender) smtp.mailfrom=ayaanmirzabaig85@gmail.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1748998924; 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: references:dkim-signature; bh=MwVvr3GUBDOemb45NE/RkCZtbvAZ46pvA6kIf68BiJE=; b=WeTo1ffSPY0QNLX0WuYOsiK85GMMijr+fwssCH9KYSfPWpbOio02u0FE/vWNgoIGKNog1n JofeyC4xAUa18WUTtpek4bBkJF9exw8YvimBOc4YqKpalwZ38R5GlPF4Zt8bxj76SDNRdQ 7sW42uBYQ6Tu+WJHuR7+leLIwG3yprc= Received: by mail-pf1-f178.google.com with SMTP id d2e1a72fcca58-742c9907967so6200866b3a.1 for ; Tue, 03 Jun 2025 18:02:04 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1748998923; x=1749603723; darn=kvack.org; h=content-transfer-encoding:subject:from:cc:to:content-language :user-agent:mime-version:date:message-id:from:to:cc:subject:date :message-id:reply-to; bh=MwVvr3GUBDOemb45NE/RkCZtbvAZ46pvA6kIf68BiJE=; b=ekivVFJSbRublq5oVKgrVap+a9DbEgOLlci+C9q7mJf9ZIipvEoC63u75oD/EzCFCD bpuFCJNbOwu64kXl2ezETLIDOTbu5NL0gqtJG36uLdjRo8W0/YzFVevXjqTwEfP/4IkP zIdT3sIy6b8Ptn3/NsyvK0KKxYeahyeHb2AjfxjKFD0AEefDgY4PB2aW5QPZQGWPsTwH bIAJtBCMjPumgkEH0TSmeocAd2p6m6Em1GXYMOxwN9naN/8pgwUjMLgHKr7pY5bSIa+N 8sFYXfyyExNle8ZeOnu6KD57Zu7YdZgf9IMkZPd30F3wtH0V0FV7mwWCvCxOsbOwxjl+ kluw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1748998923; x=1749603723; h=content-transfer-encoding:subject:from:cc:to:content-language :user-agent:mime-version:date:message-id:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=MwVvr3GUBDOemb45NE/RkCZtbvAZ46pvA6kIf68BiJE=; b=bA05X6wKhuq3lv4v4W52RfDDU58RED+OCP/Fy38WDd2iGAcr9G/1zY+2p+R8ATyu7s 0San6fAl3I1slHe5box0FjEMNpuIC77X/K9hDgofE0Lggw1AmBmjovSUz0QLGC4Cymns FfF4VKqhkyZBI4glCXGZswsL3K9Uv/eZw1kZwB0hKINw5oRhS/12NPWjqfSjDmsMPT/F wM+aTUlwNuZPY1NFbF3Dr8wiuod2sTvrHI9sMDHcNsPFyJFKMF1t+6rN0umHEZMh8378 UCuB3gF35PnbmBQmLwyXfWQe02HWZfYW+oNN4693stlaHsuqsSAi67ERc0qFwYJUL97A 9WSg== X-Gm-Message-State: AOJu0YyqedpkLPCO5ErsGw8VuT5gD5lj0Ys/2b4ofjnzQQfsxx/lcBo9 IQHwI4zc9f0nCdQe3lSQVrWxg9zEpc45kLMFyg7OyidPSPPktv7zSnhm X-Gm-Gg: ASbGncuXYnuYOl/jZrqceRpLcBGFtPFATIx7UA9Mawx4yHHCQsG99lEHWXgeHSZHF64 691kYKGVU1Ymde/c31hvr2rby1Hen44JU8JxfRfO7otdioUxvj5YRSi21mZCgy18o5Wd2mwCm3W lYCK07GjjS9sXzH/2aDvwucNMIQu86qJqnOjs+W6w3QUgLc1Xtp276Upf+KiNHzbI/6Y5ORCRbm sb0Xske2ceK70QLlgBQYgAoUEDltx4tU7B+21cuZHT/ocJgQg91WDGBcndj9GxmvddQjyiJSZtx UPw8Bsbe3LPlWmgyr0ZzusXVuMMHZyj5gY2PElkGGmxP1I7YJ+/tDQwMI1N4jgUXKwGpeVZ2Rm2 0aXz2lrDzl1XE8gM98n1iaUK47Qt2By/IAjI= X-Google-Smtp-Source: AGHT+IGFPBM7BFmt1r2hySRCKe/ldzCte/pz6eNcHwR8jU6R8w3OaEtM74HkurrDn27b1i2QEpnnsw== X-Received: by 2002:a05:6a00:21d6:b0:742:a9ed:a3d6 with SMTP id d2e1a72fcca58-7480b428ceemr1396719b3a.17.1748998923190; Tue, 03 Jun 2025 18:02:03 -0700 (PDT) Received: from ?IPV6:2401:4900:1c3c:16a4:525b:c2ff:fef5:1391? ([2401:4900:1c3c:16a4:525b:c2ff:fef5:1391]) by smtp.gmail.com with ESMTPSA id d2e1a72fcca58-747afe963cdsm10003169b3a.23.2025.06.03.18.02.01 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Tue, 03 Jun 2025 18:02:02 -0700 (PDT) Message-ID: Date: Wed, 4 Jun 2025 06:31:59 +0530 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Content-Language: en-US To: akpm@linux-foundation.org Cc: linux-mm@kvack.org, david@redhat.com From: Ayaan Mirza Baig Subject: [RFC] mm: Add MADV_NONZERO to skip redundant zeroing in MADV_DONTNEED Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-Rspamd-Server: rspam08 X-Rspamd-Queue-Id: 60281C0007 X-Stat-Signature: f5r8n9fazypbnnxnd6od7ezmppmdikcd X-Rspam-User: X-HE-Tag: 1748998924-813705 X-HE-Meta: U2FsdGVkX1+vyMlLDZAH/OxklAs8ni/iXkTMahX0f7XxjCsTpzXw6XaqfGNNH1o55gay0qxQoDDKffcw+hPfR8Z9r8XpMvv2JRSUWQu+6IPSZ+iofbVmfCKBSUaNbvTSeXnB+8YeQrHJBCuDpOLnpobYrtpmsdZL2WBHDSQpYQ3Rlzm/O63PZPzKzlXO81cHoJEqE4s6R74nq2rCKUCpZoUYzbnKsvHoi8W0Zo4EQtpH+Dv4DhP1bEln90Phngtqn9UV7H3kDEVaIM0Vqbt43DK8HRft8AfVhiPRj/z0kFp4DGwIv3WJn6xikya2i0ntSk0F2bqSF0P3csmyu+2XAc+Z/jaQWbLH3ZHlhRsjgRgCrBl2cDSYHnJ7T/QJBhxvtIT2dkge7EQy9Ppy6FtiEhx+7apNYWpbRji+DjuE0qfnS1L8ql54tUNqLWGOLHKGcj+g6vTLX44ugnQZMcxOcxy/C1Kk05KZM69ObZTBJac/Kej1zde/nzeBpctXPm/jidFtCVCDtOsF8QcQ/F4th1OU5kdWAajNLLOcyXKDd+UzOs4pas8fya/xx9o9gjKioH5lwP9TP6r18ZHTKMF87DviJsAnqv6y04fD3i+VndRfJbFZYDEn8cyHQBbp3ZZPDjGJ5Y90LM4wi/IHgCRaFTnhonAM8nScg3icxzKqmbshr5TBB/GoWW/ux85SzerU/AU7WW72tANuJa4/DWDZI5rHSujtiuRomSl2GfzZP8XMq74rjSbmGvLCI1S0DjFNStELOqbCBGMSlNvNUHeIn+GH/okeGRlYj1HRavSYFwzULz3hZzm1cp6j3yl4rVOBvprrzz/GmM2ju+OWS3fo/8qgL088wlMTFKr9vKSWR9NSvMO+e1AuWN1f72tpgqDS8gRXiF/qzU/ekFJMO1Tgb/79C5dHEfj7STe0qie91+3YvVZb6k0Pzp98AfRdPem9VwiTMLqLUXikFH9X+Ew 6c+3BSz/ V2jM5xnu/QBVV3oSL3QoU87eamJk3VN04VbINzFJI2J4D4871AtcsU/dW1bK5IHBaEbuWC3IjoMbJGJq+WKaejOh7kBD+Z3T9FUU0NhsjsTKhGc2zmSklkI6aKr+1n/EbJFp5XpOqON7UCiQCC22Sp9NaxX0rAh9aeLUs0gOvbeqOndv4sfc1r9H/4PidUYIke3K+N5/dL2J0BRNKv+DZn1ItyAicYSc7gw71N5tJ2SYz1fPc49NVDN1IDPxVTs80ShFSaE0jF98qE4yAtcjeYQ5GXRLf5E7C1/QULEh2EHpfOhth1JUrEIz8yMdT9RE5bsTSGfd0uZHWeQx0/fo3DyFyNGb0NaMbFaWOOnxIjGr4TWjyZTsvul84+/ztInv7GstCKerW3Zniie7bwvMDhdg4mHZn1AuYxZcJv0Vga6v4vmjgkvzejGONp7EuYxcusJEHTkzbDZAsrPxgg2/2fe+RLB7xHQCpNwOilD8vpApkr+w= 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: Hi Andrew, I've been looking at MADV_DONTNEED and noticed we always zero pages, even when it might not be necessary for cases like: - Media buffers (video/audio processing) - Temporary compute workloads - Pre-zeroed memory pools This causes measurable overhead - in some synthetic tests I'm seeing ~40% extra latency from the zeroing. I'm thinking of adding a MADV_NONZERO flag that would let us skip the zeroing when: 1. It's explicitly requested (MADV_DONTNEED|MADV_NONZERO) 2. We're confident it's safe (VM_IO, VM_HUGETLB, etc) 3. The user has explicitly marked the region as non-sensitive Before I go deeper on patches, I wanted to check: - Does this sound reasonable? - Any obvious security holes I'm missing? - Would you prefer a new flag or a separate advice type? Early prototype numbers look promising, but I want to make sure I'm not missing something fundamental. If the concept seems viable, I'll work up proper benchmarks and formal patches. Thanks for your time! - Ayaan Mirza Baig