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 7623AC02192 for ; Wed, 5 Feb 2025 19:22:49 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id E40AF280014; Wed, 5 Feb 2025 14:22:48 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id DF07C280013; Wed, 5 Feb 2025 14:22:48 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id CDF5C280014; Wed, 5 Feb 2025 14:22:48 -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 A8CD4280013 for ; Wed, 5 Feb 2025 14:22:48 -0500 (EST) Received: from smtpin28.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay03.hostedemail.com (Postfix) with ESMTP id 303FFA07D3 for ; Wed, 5 Feb 2025 19:22:48 +0000 (UTC) X-FDA: 83086863216.28.73CFF37 Received: from nyc.source.kernel.org (nyc.source.kernel.org [147.75.193.91]) by imf27.hostedemail.com (Postfix) with ESMTP id 8FD494001D for ; Wed, 5 Feb 2025 19:22:46 +0000 (UTC) Authentication-Results: imf27.hostedemail.com; dkim=pass header.d=kernel.org header.s=k20201202 header.b=D5BUfGP2; spf=pass (imf27.hostedemail.com: domain of mcgrof@kernel.org designates 147.75.193.91 as permitted sender) smtp.mailfrom=mcgrof@kernel.org; dmarc=pass (policy=quarantine) header.from=kernel.org ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1738783366; 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: references:dkim-signature; bh=uGciWS2bzP+yH1V5mZ5kMJQtmrfTOWFPhpD+iHkCNRs=; b=L6r5WmNqNnqEceD/Y0+HPu1xspKc41cnRopHWEozBgDpt6MSTX0KNxE38MPAplsTtMrcB4 tAhJVJCc+TShusfELMkYm7oIuwBUgj/K62Yo6U4toNVJcxAKlRRdhYnG+UYUrILx23ATUS FL/u14dG/3TgVGD+Ynf8Iq+LyHQHoz8= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1738783366; a=rsa-sha256; cv=none; b=D/K7HlLfQ5KpmZxop9ugopFAvCGuLRaygaW7nKdpzPgtDlmyxnMFMr5Xm+JtbeaX7sFqFh EGwM4kXk41/5dDDCFQVbB6BCBIlzlWNIevAin+oCyfDDFSg9mPe+PQxdj3jqSsDpX21X2Z L+gzfn20WH+jYwYwL+J3xBVq89/1LW0= ARC-Authentication-Results: i=1; imf27.hostedemail.com; dkim=pass header.d=kernel.org header.s=k20201202 header.b=D5BUfGP2; spf=pass (imf27.hostedemail.com: domain of mcgrof@kernel.org designates 147.75.193.91 as permitted sender) smtp.mailfrom=mcgrof@kernel.org; dmarc=pass (policy=quarantine) header.from=kernel.org Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58]) by nyc.source.kernel.org (Postfix) with ESMTP id EC77CA439EA; Wed, 5 Feb 2025 19:20:59 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 69EA2C4CED1; Wed, 5 Feb 2025 19:22:45 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1738783365; bh=AZJ+5H+7pZAjHth2evw+ihco8ZiF2H+Vxf73iWhg7uo=; h=Date:From:To:Cc:Subject:From; b=D5BUfGP2jWwgtJdakmdP0Dsxlr4Sw96qM/fmBdWuDth25IU5oDlLwb5iEiZuY29nB fCFpTE+qBoPYPWS0fVZxueQe6Zbs0Bw6I6xrTu9jhyw9CSq7aqtRldEruwpzWeKnlM ONBXY4ObV7sG8YCHXLLBMHiFQE6x1IPRNBufgYKfmatVYcUmTVW44dAhmHBpFO40bX Ig45BK/BLTOtGFQ2WwvEn8PaG4It3JJekTuNKgx8h1wPhIBcG4pwKsDBHCz8B68QXH INr0Tdrme/m/Gs7w0elVIIh49ydfLUZCOrTwk+hZ4hWjteUVIcAVz1kndUG4pw+1Qh cXnOxFQxIQVEg== Date: Wed, 5 Feb 2025 11:22:43 -0800 From: Luis Chamberlain To: linux-fsdevel@vger.kernel.org, linux-mm Cc: lsf-pc@lists.linux-foundation.org, Theodore Ts'o , Dave Chinner , Ritesh Harjani , John Garry , Jens Axboe , Matthew Wilcox , mcgrof@kernel.org Subject: [LSF/MM/BPF TOPIC] buffered IO atomic writes Message-ID: MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline X-Stat-Signature: tuogc3yf6mictm1cnb4ph55ahhoe538u X-Rspam-User: X-Rspamd-Queue-Id: 8FD494001D X-Rspamd-Server: rspam03 X-HE-Tag: 1738783366-518287 X-HE-Meta: U2FsdGVkX1/f6tDCsy6GSXEQ0VKMoic6YjdhXqNYdSvLQzNK3XE4P5MJ9fmTEb2h9tK03GvSrjL6RDgtFHKE5rc6WAuIMR/JCg+N53owpYcB56P9J6+ow6rVlqqQrcPUmbnCzRvKVQigyE8sGbjlncjbcM6yyYJfJJeQuA5/X0H+07cFbxegP32D6oHOj1gIlMgXav9VzWzDFBMGi/9y/0M+UPjLb5fj3BGRNFbcjw98A7gx+olLQ+ITw/XQGS7Nj6RUI6N8IA1j1+PPg9ekD0iaXO49MyJ5O4qTS8d1qYGpIyyXX79ADrn6OmO4Vig+Xx23sn7Ah04INLddFuSwEjnXSDVoIZRqdwgWzrr27ewYij8CXbJqfm5NajS/RFtzzmJQkyDwOsGDWu5Nax8fsn+cqtF6QalPjLzn41y/PgmtdN2q4gMK346XGwDLsKsCvw3A5UmRBG9NupKc5sAODngE/oYSz5cKK6vXAIgXPVNPD5edr/FBiKJA9reHc41ISUJAjGoALkHTqoTdJ4q6lx/+Rn3xUU06DLnKDhnDnCjbYNvKvuGY8AJUqAuru9SYV8SW3GjzNx8JjAx7CYyW1wzIog2ySr8pA7hoyAFYtL4JLufMjfoGvnomtquVe5J0nyYRyOPPZ4fWniAkrq7r5i3XwjRkLYkfxWp3b/JVu5KBQ50PxRcV0eJVuXnh8ZIKl4zWiX+NVOH9/HBSzyKE6e7i+vV5A4vQp3T1ZKYz6qb3ybtN/srcnJiKzTEU8CmDcmYCHjWZ+j81ttEkPklhb61BhvouFPBib7u71nw5INWwGrN90YHcWKZ2NmOJsU6bS/GUEq3L8fUOXVz7Lpq5Ufam2fGwzYzqPVg6UExf/7hL73sjQzFMJ7QthKTh7TIqSWFORxXPcpX4xX3rF1x0VbXlPxvbfqAZIgz986ik+kHmE92oHn0MGLEHqhEn4+K8ICcmucx32+2hKJJpeKn 3k2js14f 0HDMY85Op6HYWH4NsQH10v2TPT3nRDjEaxWeMgYho+Jg9396wh2+9+sfOZe4Fz3votZAgi9tu3adJmnzKI2ty0a1DgwdLLbSBnVuJ75KcVhujdc+w/oLH9d8nqHIoaUdRRcTw8AceFbrSUUH2Pcmq/AjZGVN2lmdngHgfYPKfZXrX/XALyEbrAXN+/0+WepWzUkPBBnJSYlQkHTCVkNb17zeUpckUUqLhvzUH9btldKbuOjTOqn575GfYq8f7ukxLbE4WHKH4BKEk4YYB5xCLGv8fkaLMf2jqlMB5fWswyIwZ/XGKsRuZwqEX30sOZbyEUo6mjPjXpSdjtd60ZXDKTtab7d4OFtGB6fnv 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: On v6.13 XFS got atomics write support through LBS. We have validated the value of large atomics on databases and provided initial automation for it through kdevops [0]. This requires direct IO today and there are impressive confirmed results with it such as the ones Theodore Ts'o had hinted at last year's LSFMM such as 3x-5x TPS variability gains. However the results we have observed for buffered IO in PostgreSQL are even more impressive: 14x-18x in TPS variability gains. At least year's LSFMM we discused atomic buffered IO support, and if my memory serves me correctly the conclusions where: a) The PostgreSQL need for buffered IO due to lack of Direct IO is observed as a PostgreSQL mis-feature. So it is not a reason to add buffered IO atomic support b) Near-writehrough buffered IO support would be good c) Parallelizing writeback would be good In so far as a) is concerned WiredTiger db is an example database which although it supports both direct IO and buffered IO it strongly perfers buffered IO. And so its an example of database which its users do explicitly prefer buffered IO. In so far as b) we now have RWF_DONTCACHE merged on v6.14-rc1. Will that suffice? If not what are we missing? And with regards to c) Kundan has suggested he's been working on parallelizing writeback and its a sugested topic for LSFMM [1]. We have not re-tested PostgreSQL atomics benefits with RWF_DONTCACHE and parallelizing writeback, however I suspect that may improve results even further. So it seems to be a good time to ask, what else do we need for buffered IO atomics? [0] https://github.com/linux-kdevops/kdevops/blob/main/docs/sysbench/sysbench.md [1] https://lore.kernel.org/all/20250129102627.161448-1-kundan.kumar@samsung.com/ Luis