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 3ED7BC5AD49 for ; Mon, 2 Jun 2025 14:16:27 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id CE8E96B02A4; Mon, 2 Jun 2025 10:16:26 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id CC0096B02A5; Mon, 2 Jun 2025 10:16:26 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id BD6666B02A6; Mon, 2 Jun 2025 10:16:26 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0014.hostedemail.com [216.40.44.14]) by kanga.kvack.org (Postfix) with ESMTP id 9FDBA6B02A4 for ; Mon, 2 Jun 2025 10:16:26 -0400 (EDT) Received: from smtpin06.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay01.hostedemail.com (Postfix) with ESMTP id 4D41F1D482A for ; Mon, 2 Jun 2025 14:16:26 +0000 (UTC) X-FDA: 83510660772.06.74156E0 Received: from smtp-out2.suse.de (smtp-out2.suse.de [195.135.223.131]) by imf16.hostedemail.com (Postfix) with ESMTP id 53B2C180005 for ; Mon, 2 Jun 2025 14:16:24 +0000 (UTC) Authentication-Results: imf16.hostedemail.com; dkim=pass header.d=suse.de header.s=susede2_rsa header.b="Oa/iWQ7N"; dkim=pass header.d=suse.de header.s=susede2_ed25519 header.b=8+YCk0Ys; dkim=pass header.d=suse.de header.s=susede2_rsa header.b="Oa/iWQ7N"; dkim=pass header.d=suse.de header.s=susede2_ed25519 header.b=8+YCk0Ys; spf=pass (imf16.hostedemail.com: domain of osalvador@suse.de designates 195.135.223.131 as permitted sender) smtp.mailfrom=osalvador@suse.de; dmarc=pass (policy=none) header.from=suse.de ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1748873784; 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-transfer-encoding:content-transfer-encoding: in-reply-to:references:dkim-signature; bh=LoFPgLgf2vNjDyn+wUEXD6fP0MAyNKRJ8yIGa5CR5GE=; b=cTCohQucbyZyUHOLzYcAImWFAFUfduFzmpiI7U/DybeCsFFQvtly0EfExPxiFdrfTu3nws p8ILoUFJp2O4opUxg1ClZiA3m2UUh6GlOn2hPxkSiNb6H8DqX59kF3TJu0lz5FbYvokm1M a/C5XjIdXRgUcbJagD3l+xlG3uuhgXM= ARC-Authentication-Results: i=1; imf16.hostedemail.com; dkim=pass header.d=suse.de header.s=susede2_rsa header.b="Oa/iWQ7N"; dkim=pass header.d=suse.de header.s=susede2_ed25519 header.b=8+YCk0Ys; dkim=pass header.d=suse.de header.s=susede2_rsa header.b="Oa/iWQ7N"; dkim=pass header.d=suse.de header.s=susede2_ed25519 header.b=8+YCk0Ys; spf=pass (imf16.hostedemail.com: domain of osalvador@suse.de designates 195.135.223.131 as permitted sender) smtp.mailfrom=osalvador@suse.de; dmarc=pass (policy=none) header.from=suse.de ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1748873784; a=rsa-sha256; cv=none; b=dU9oAvtRJyFoqHAwnsDsYoNdaY+ovnsjFhZCOxMoBjnsNHPth/fNGlLCcRJt0A5IpGup+v 5dsChmNxHFwkvrDg7vo5lmnLvRoGMgfYWlnxWA5mtJc5GXQPz055LaSFOOpfP+mmbVycoP jG2q38aHAX8t831XZFbg8WC3zfVHhHo= Received: from imap1.dmz-prg2.suse.org (unknown [10.150.64.97]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by smtp-out2.suse.de (Postfix) with ESMTPS id AFD5B1F796; Mon, 2 Jun 2025 14:16:22 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.de; s=susede2_rsa; t=1748873782; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc: mime-version:mime-version: content-transfer-encoding:content-transfer-encoding; bh=LoFPgLgf2vNjDyn+wUEXD6fP0MAyNKRJ8yIGa5CR5GE=; b=Oa/iWQ7NN5pX2YIB6DDTvvS1G9t6AWS4miwwH3bKwl+cxWIdQo40ySphO9QhS8m8Si7V4p E1VJ/r1PUQqtt2jtVwuTBtayDPOaEQOPtiCUk7GD9po6Tmxo61f57U4MIea2OiTdRABzuZ Ex5oO7RyxS92IsjYv8bEHVacejOI24s= DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=suse.de; s=susede2_ed25519; t=1748873782; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc: mime-version:mime-version: content-transfer-encoding:content-transfer-encoding; bh=LoFPgLgf2vNjDyn+wUEXD6fP0MAyNKRJ8yIGa5CR5GE=; b=8+YCk0YsFBPvK2Dtxz9+gZP0yMVx/o8Lw4LvQCyzqP7wyKckqc0IDAjfBE+FBorwOZAR3m OTOu0NNb4NOX6MBQ== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.de; s=susede2_rsa; t=1748873782; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc: mime-version:mime-version: content-transfer-encoding:content-transfer-encoding; bh=LoFPgLgf2vNjDyn+wUEXD6fP0MAyNKRJ8yIGa5CR5GE=; b=Oa/iWQ7NN5pX2YIB6DDTvvS1G9t6AWS4miwwH3bKwl+cxWIdQo40ySphO9QhS8m8Si7V4p E1VJ/r1PUQqtt2jtVwuTBtayDPOaEQOPtiCUk7GD9po6Tmxo61f57U4MIea2OiTdRABzuZ Ex5oO7RyxS92IsjYv8bEHVacejOI24s= DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=suse.de; s=susede2_ed25519; t=1748873782; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc: mime-version:mime-version: content-transfer-encoding:content-transfer-encoding; bh=LoFPgLgf2vNjDyn+wUEXD6fP0MAyNKRJ8yIGa5CR5GE=; b=8+YCk0YsFBPvK2Dtxz9+gZP0yMVx/o8Lw4LvQCyzqP7wyKckqc0IDAjfBE+FBorwOZAR3m OTOu0NNb4NOX6MBQ== Received: from imap1.dmz-prg2.suse.org (localhost [127.0.0.1]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by imap1.dmz-prg2.suse.org (Postfix) with ESMTPS id 2A2AB13AE1; Mon, 2 Jun 2025 14:16:22 +0000 (UTC) Received: from dovecot-director2.suse.de ([2a07:de40:b281:106:10:150:64:167]) by imap1.dmz-prg2.suse.org with ESMTPSA id KHFcBzayPWhqVAAAD6G6ig (envelope-from ); Mon, 02 Jun 2025 14:16:22 +0000 From: Oscar Salvador To: Andrew Morton Cc: Muchun Song , David Hildenbrand , James Houghton , Peter Xu , Gavin Guo , linux-mm@kvack.org, linux-kernel@vger.kernel.org, Oscar Salvador Subject: [RFC PATCH 0/3] Clean up locking in hugetlb faulting code Date: Mon, 2 Jun 2025 16:16:07 +0200 Message-ID: <20250602141610.173698-1-osalvador@suse.de> X-Mailer: git-send-email 2.49.0 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Rspamd-Queue-Id: 53B2C180005 X-Stat-Signature: w46d3841puyqbybemdz1a8uwfgem49wm X-Rspam-User: X-Rspamd-Server: rspam07 X-HE-Tag: 1748873784-957265 X-HE-Meta: U2FsdGVkX189A9lTKGMUaapkyw60z1Ni9hUg9SUzMxa8Buc851XCGuZXWH3z16SJUXdxlLc1VQ3TXBTgkKTVBH/iUlnNfkUWaU2na/dCnlRCSNaUoLSirpW5CikIiJ545GKFy/JkCIFDgJP+N2lZWVZ4ufXckh4tDJtYY2i0dOxBqly/K1gpZv0xbXOoFV73DA/bVdJbBo9RqJyBWCX50UI1UAaYRTmf0GcMf3Nw6LT53/gSYpFr/TyfzCUQA12OzzDvNTk4rohrVGYyhznWS3Mhv7xvzLAjGrQDZ1u4SfYeRJdt9CvW7hTHk/q7IPuHGsSByn5hazMX7MImB+ZMmcdzlBKLvbmIBBne9YqOyVvInquUhdgDXYUL8r+2aqrkMRxzTZJZuax6wBmkkWtQIcJp/d2uQdGfPXHi9nKyCLrqsFQ/LyyiXt2wmfClQcRIEjpRpz7gaA3XVLzJvs4zGarjBRBBkRiFYB112Rl6tdhomLZ3lK1oWF+TVRm5SBkdnU3F25FiuEC+AK2CeX101xbJxTFpLdbBg74jnjB3Pqd0LtT3yJql8L6CZhH/uFKBo+gDkALyIt8pOQEmYaHYfJHjqpg2uE1Ju2WYLoZ6ntfdDCyfWIYY1rAjd2Qz/Vk4TfaPTPWd9VibLlicP/wup2Rq6/1XcNSjUp85iyzSuTnD9+f0vjIO1bwq/Eu8TUPVtoYq0cqu7nuQ0KVG0a72l3oypbpbOZxSnk+kiPtKXqCoKl7AyAhog6dtvBXvxszUxyqApTqdn+JA+rLBPHu4hq3LI+x3u6THM9Fc6pTplsg/6oXakua7Z/MVWmYWi+cfNe4TJE7KqlK7dm+CCJkujKpdhMKy9N4p74n4LMv2AteDon/R+vn+cgOi+yJbWMPqfe9G8njqpyP+Jq8ZAUfNN8WTEFGxY0KT8pR91oDL5Ixy0nVqZ+F8MisnvFVX4Nox1l+Y1Z9IxL4= 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 all, This RFC is the culmination of the discussion that happened in [1]. TLDR: No one really knew what the locks were protecting us against, and whether we needed them at all. Some reasearch showed that most of them were introduced in a time were truncation was not serialized with the mutex, as it is today, so we were relying on the lock for the page to not go away from the pagecache. More details can be find in patch#1. This is for the locks, but I also started to look at the references we take in hugetlb_fault and hugetlb_wp as it seems to me we are taking more than actually needed, but that is once we manage to sort this out. I ran hugetlb LTP tests and nothing screamed, and I also plan to run selftests later on. @Galvin. Could you please run your syzkaller with this patchset applied and see whether you can trigger something? Special thanks to David and Peter Xu that were helping out with this mess. [1] https://lore.kernel.org/linux-mm/aDeBUXCRLRZobHq0@localhost.localdomain/T/#md02880ebc2c679678b7f326c5e9e93992428e124 Oscar Salvador (3): mm, hugetlb: Clean up locking in hugetlb_fault and hugetlb_wp mm, hugetlb: Update comments in hugetlb_fault mm, hugetlb: Drop unlikelys from hugetlb_fault include/linux/hugetlb.h | 12 +++++ mm/hugetlb.c | 117 +++++++++++++++++----------------------- 2 files changed, 62 insertions(+), 67 deletions(-) -- 2.49.0