From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 9749B2D9EF4 for ; Wed, 10 Dec 2025 23:49:30 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1765410570; cv=none; b=BXKu8WSZ8ycWtTfy5tYjS3p1tTMIQspx7RVZbdCceM8bJRdQ0i2YxBcOe1TqCZo9jDzAs0hdAoF6xPdl4+Nlv4k0wT5yBJOYzZde/U1ofJIBRQCf68sdWJ68wat90WJg/zYpeLdLOGIIEcC7nXAGUPWupbVxfHCp0Pvmfkft1eQ= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1765410570; c=relaxed/simple; bh=AfvG08lKAcB/FZ0qH8nmCCViLp3j7C/vWxaxVJdwpg8=; h=Date:From:To:Cc:Subject:Message-ID:References:MIME-Version: Content-Type:Content-Disposition:In-Reply-To; b=fOQ+/6tw8I5Y5nO78Mw4W+k/ItMNYYiWP6d1cxU1hEO9S0gZSXfs6ce9eG/DvH0aRGUI+MrCw7Gxd3MmBDIf0Sx7dPkDcQMnJ2GNerr5wQC3pWDQxxHnI3GcDabWUrEN2OU5/cVNHc4bYkZSnnUhTJIdhe0Dhg6VeCxhEnsQ4Gw= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=hP74CRgp; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="hP74CRgp" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 6A7BBC4CEF1; Wed, 10 Dec 2025 23:49:29 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1765410569; bh=AfvG08lKAcB/FZ0qH8nmCCViLp3j7C/vWxaxVJdwpg8=; h=Date:From:To:Cc:Subject:References:In-Reply-To:From; b=hP74CRgpqTYKUTI/UvaFAN5P7nabt5Bpj6ekfkAJiiYO0jresWnr7XxphnVqWoz5B MKcx6XSee1IbZvXbiDSrJONa94N2pKrzPKEobRPh5ID0RXaGB0u6EbVNF4F2drGYoy t4M9Qr+RqTnBfzDsBgvOpATnFZiewMqvKe4/pGo2W23T+608nPnMMdv5vnHxO+hpm5 igVaA89RVSOvq6fGDzCeFHTUncc90/qWT4APLT2eSPIJi4JRC7BWu0RfUKPzbvwnm/ lYXGMQxVjGTtKRK/laZwruUjeqZL8gUA0G1Fxu8EA3q7MKb+HbzA33506O7J7I4A43 6GYXOp1suyAPA== Date: Wed, 10 Dec 2025 15:49:28 -0800 From: "Darrick J. Wong" To: Dave Chinner Cc: aalbersh@kernel.org, linux-xfs@vger.kernel.org Subject: Re: [PATCH 1/2] mkfs: enable new features by default Message-ID: <20251210234928.GE7725@frogsfrogsfrogs> References: <176529676119.3974899.4941979844964370861.stgit@frogsfrogsfrogs> <176529676146.3974899.6119777261763784206.stgit@frogsfrogsfrogs> Precedence: bulk X-Mailing-List: linux-xfs@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: On Wed, Dec 10, 2025 at 09:25:24AM +1100, Dave Chinner wrote: > On Tue, Dec 09, 2025 at 08:16:08AM -0800, Darrick J. Wong wrote: > > From: Darrick J. Wong > > > > Since the LTS is coming up, enable parent pointers and exchange-range by > > default for all users. Also fix up an out of date comment. > > > > I created a really stupid benchmarking script that does: > > > > #!/bin/bash > > > > # pptr overhead benchmark > > > > umount /opt /mnt > > rmmod xfs > > for i in 1 0; do > > umount /opt > > mkfs.xfs -f /dev/sdb -n parent=$i | grep -i parent= > > mount /dev/sdb /opt > > mkdir -p /opt/foo > > for ((i=0;i<5;i++)); do > > time fsstress -n 100000 -p 4 -z -f creat=1 -d /opt/foo -s 1 > > done > > done > > Hmmm. fsstress is an interesting choice here... I have an old 40-core Xeon E5-2660V3 with a pair of 1.5T Intel nvme ssds and 128G of RAM running 6.18.0. For this sample, I tried to keep the memory usage well below the amount of DRAM so that I could measure the pure overhead of writing parent pointers out to disk and not anything else. I also omit ls'ing and chmod'ing the directory tree because neither of those operations touch parent pointers. I also left the logbsize at the defaults (32k) because that's what most users get. Here I'm using the following benchmark program, compiled from various suggestions from dchinner over the years: #!/bin/bash -x iter=8 feature="-n parent" filesz=0 subdirs=10000 files_per_iter=100000 writesize=16384 mkdirme() { set +x local i for ((i=0;i