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 C8851C0218D for ; Tue, 28 Jan 2025 05:56:51 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 22F30280203; Tue, 28 Jan 2025 00:56:51 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 1DF5E280202; Tue, 28 Jan 2025 00:56:51 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 0CE92280203; Tue, 28 Jan 2025 00:56:51 -0500 (EST) 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 E3A5B280202 for ; Tue, 28 Jan 2025 00:56:50 -0500 (EST) Received: from smtpin25.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay10.hostedemail.com (Postfix) with ESMTP id 842C4C0A13 for ; Tue, 28 Jan 2025 05:56:50 +0000 (UTC) X-FDA: 83055801780.25.9509248 Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) by imf17.hostedemail.com (Postfix) with ESMTP id 5EEA340005 for ; Tue, 28 Jan 2025 05:56:48 +0000 (UTC) Authentication-Results: imf17.hostedemail.com; dkim=pass header.d=infradead.org header.s=bombadil.20210309 header.b=3Cl3iidw; spf=none (imf17.hostedemail.com: domain of BATV+cfbf9602f4832848a96b+7828+infradead.org+hch@bombadil.srs.infradead.org has no SPF policy when checking 198.137.202.133) smtp.mailfrom=BATV+cfbf9602f4832848a96b+7828+infradead.org+hch@bombadil.srs.infradead.org; dmarc=none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1738043808; 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=DNd70bAlVPOMS3w/LevWF2lfIDuBK/+gDQJteY8KR6k=; b=G/vJT1rOh0MCDZ4cyEnYSYKtZ2Ztxpfendp929CTrFMFOkndIFmn72clh1MZfVdQhCjKaO 3JGw6mEevgbao0dbMrPVgtxZq/7QtqK4HfX4d7vWoo2F/Q0MeZdM1ydGZq1ytJrp8BMZbj KRK8uCkO2ejhnN1I5h78FQPSZFq+z3U= ARC-Authentication-Results: i=1; imf17.hostedemail.com; dkim=pass header.d=infradead.org header.s=bombadil.20210309 header.b=3Cl3iidw; spf=none (imf17.hostedemail.com: domain of BATV+cfbf9602f4832848a96b+7828+infradead.org+hch@bombadil.srs.infradead.org has no SPF policy when checking 198.137.202.133) smtp.mailfrom=BATV+cfbf9602f4832848a96b+7828+infradead.org+hch@bombadil.srs.infradead.org; dmarc=none ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1738043809; a=rsa-sha256; cv=none; b=SE0NWQCpeOsy107f3RmU0jrvoF+5w4i6ssaJek5CeZXPSEdOgkGWUnQJpYI35JW4WoAWA+ YeiKYvl8uH4SSDAlt3Kx1euRSXUCh3ztEd06MgqK4BcSH5ckHSQ8gIGaUpYKGy5hvGPUXi 8jIg5pRZUZAEFLMn8hMrkh71TfUzC/Q= DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=infradead.org; s=bombadil.20210309; h=In-Reply-To:Content-Type:MIME-Version :References:Message-ID:Subject:Cc:To:From:Date:Sender:Reply-To: Content-Transfer-Encoding:Content-ID:Content-Description; bh=DNd70bAlVPOMS3w/LevWF2lfIDuBK/+gDQJteY8KR6k=; b=3Cl3iidwjVfupbx3RJEDRR5LFx mQkPGChDB8LfWBNQczyOc1vnlSUNLSh/8G+cykxM+o4NKItoCypdp302E3QQxNcmTHYzJrQYwC5Zm PjBBSczdfqRe2ba1f8rMysaUNon0Kclc1EtQtn47fl4nO05JsUqKnB+CKo9F9DbqXfbk2ojpS7hIr pYXS1jQEMaQuFSitAucbP3plh+ZX6bPWvMOWsDXFtQb1JovU08wIH60l+F7R6bifBbt7rVpaQ1KLe EGvMaboB48zmvLncfH5Msv9It2z2DXVxKTnxdb/lG3/2mME9wy0HBX8j3oGdOqFQusdWIIJ06lK+M FEOjpp2Q==; Received: from hch by bombadil.infradead.org with local (Exim 4.98 #2 (Red Hat Linux)) id 1tceab-00000004BYO-3lMu; Tue, 28 Jan 2025 05:56:45 +0000 Date: Mon, 27 Jan 2025 21:56:45 -0800 From: Christoph Hellwig To: Matthew Wilcox Cc: linux-mm@kvack.org, linux-block@vger.kernel.org, Muchun Song , Jane Chu , David Hildenbrand Subject: Re: Direct I/O performance problems with 1GB pages Message-ID: References: MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: X-SRS-Rewrite: SMTP reverse-path rewritten from by bombadil.infradead.org. See http://www.infradead.org/rpr.html X-Rspamd-Queue-Id: 5EEA340005 X-Stat-Signature: 4mxfe1kdxzsqwphtcsnzbik5gzkm9txu X-Rspamd-Server: rspam08 X-Rspam-User: X-HE-Tag: 1738043808-544455 X-HE-Meta: U2FsdGVkX18bzHdd65wKXxSCDcI34L4G3M/cs6bjtG20UA3em5/gnnX2apxRWcKjwBWCo32OtM6TqGms4UVfxI8IFfNGllB7Q35gjBmHxlxsa9mj8bDL/lSwM/twyyFUUkSw/nktFqsWqzI37La+s9g/apg5CgYLhWFVQmFk2DSeNaCRf+yFg2+XynfCE2/V7F2wCWWM5ICDJXmqjqkqvnrggzJGku+j2Y+jzlwXsD5DnOdBKN/puj5VVpDdbR/LhEGVThIwUJg4AF/xf0MKapMxcUcRdFGiwiACMOzb+RxGI/aG5QBMQfrg8b8Gy0mufPpVpBDUoqHzF1OBZBzA6X6nwBw4nBl+sZTgtA7YjQJedhEmCIeaymJLBMikS1iZcAxEcPm9OU+CFTauCMiaZoqlXaQfTl+pm0vkPnYo9EvBIvIS6/eLpRujKn1FvjISRJiauHsAGUN9IJxf4VqheRcSG5zD2BgVp7+iTlcBMg97C4opt+dsNg0TZq9fA3ytVIIqsekLNBCPn5Ukoaj/+nIyfYU0JMiEPlI9R1kV1htMXrdzmFtOEoCXpkS8bVx2/WIOtPXZN9NoZyUQFAQnGnF1ur+mDMsBM4GKmMQRP7CtWc9a1r3Gy7xHYEvyiiJ4362Di84ZVwgeQS3d8BO5m3e83H0vK9bZc+KtSJ77GjpQwSkzVG4z7pmuSEMFztK5Ddh8Gv8Ebr4xdD9QGKFHEFdpaVrgywVCdRO8N8d+yHVTCqy5Alt+BhfdEq5ExNOEHU3/rmsmQZTltNAds2lwRA/TqoChrqeVxx1M02wO3cyybT6ezU56F2qX9Ba0N6DPT8h8I0M6g1gZaC6phkoSCHlx0bJ/Uk0v66QFJWIisDjWI7k03avUbk5xb+GCWWJK9HSrXDXwWxL9268l8O0d54/NvglfOP9rtPt2lHUFItS0vB+KqWqTd2jenpek2886PHchTRKhnxn8rGAN9jA nzRarwNd ENAhEGvYHXfZO9YJRpXQ7snfZU58IMomfBssPgyWOU2SkClP9IVmzgJdwjPUIxU6torWF46aVNrXe4bt1heBhG1NLQUQ7ZDQiQZSXB5hLYZli5z7mGqWjgLskhVyV8a4sN0iB1bn5f55PmS8tZBpvhHwkChvJ63tnirJfdZSsB9HsFyv7A3PuoIauOofgA4eaF8ZNwP5pPw45Q9SvlVNiw57iqaueu/BmwN/dWuOx+he3L3W6OG27UMWE5SpFCLPP2eZflbY435tiUatFLfsYQ7bIMVD95fR5NUvVnSvSVwRQMW9kMl9QvpVjz36rWxC1X97Cs7zdHXJovnm0W3aoJOcpoCMAJPvLhylYFfuhaKxQZ9mrYw5s/Bh4AXnF6sjskOKHxiDjfz5mvzJHalDpe4JK2XCLtZBT4AdFYChrAbrMTlw++ndo0itqESbK1djbMuLPuxVj5u1pdr7ihAUm2R1ASwEtgaKSPMwV 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: I read through this and unfortunately have nothing useful to contribute to the actual lock sharding. Just two semi-related bits: On Sun, Jan 26, 2025 at 12:46:45AM +0000, Matthew Wilcox wrote: > Postgres are experimenting with doing direct I/O to 1GB hugetlb pages. > Andres has gathered some performance data showing significantly worse > performance with 1GB pages compared to 2MB pages. I sent a patch > recently which improves matters [1], but problems remain. > > The primary problem we've identified is contention of folio->_refcount > with a strong secondary contention on folio->_pincount. This is coming > from the call chain: > > iov_iter_extract_pages -> > gup_fast_fallback -> > try_grab_folio_fast Eww, gup_fast_fallback sent me down the wrong path, as it suggests that is is the fallback slow path, but it's not. It got renamed from internal_get_user_pages_fast in commit 23babe1934d7 ("mm/gup: consistently name GUP-fast functions"). While old name wasn't all that great the new one including fallback is just horrible. Can we please fix this up? The other thing is that the whole GUP machinery takes a reference per page fragment it touches and not just per folio fragment. I'm not sure how fair access to the atomics is, but I suspect the multiple calls to increment/decrement them per operation probably don't make the lock contention any better.