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 67ED3C25B75 for ; Mon, 3 Jun 2024 06:39:08 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id F3C9F6B00A6; Mon, 3 Jun 2024 02:39:07 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id EEDD26B00A8; Mon, 3 Jun 2024 02:39:07 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id D8CE56B00AA; Mon, 3 Jun 2024 02:39:07 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0013.hostedemail.com [216.40.44.13]) by kanga.kvack.org (Postfix) with ESMTP id B9C286B00A6 for ; Mon, 3 Jun 2024 02:39:07 -0400 (EDT) Received: from smtpin29.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay03.hostedemail.com (Postfix) with ESMTP id 60535A0875 for ; Mon, 3 Jun 2024 06:39:07 +0000 (UTC) X-FDA: 82188625134.29.2E4515A Received: from smtp-out2.suse.de (smtp-out2.suse.de [195.135.223.131]) by imf03.hostedemail.com (Postfix) with ESMTP id 135A620002 for ; Mon, 3 Jun 2024 06:39:04 +0000 (UTC) Authentication-Results: imf03.hostedemail.com; dkim=pass header.d=suse.de header.s=susede2_rsa header.b=qokBEjEY; dkim=pass header.d=suse.de header.s=susede2_ed25519 header.b=vKuCjHtU; dkim=pass header.d=suse.de header.s=susede2_rsa header.b=qokBEjEY; dkim=pass header.d=suse.de header.s=susede2_ed25519 header.b=vKuCjHtU; dmarc=pass (policy=none) header.from=suse.de; spf=pass (imf03.hostedemail.com: domain of hare@suse.de designates 195.135.223.131 as permitted sender) smtp.mailfrom=hare@suse.de ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1717396745; 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:in-reply-to:references:references:dkim-signature; bh=F/WIwD4qTfaup/BG/pV6m14+Ga7Rz6PNCOD3C8SNn1Q=; b=ToSkuQeDEjlvhGFxTQgXe+/bFZPwR/m/J/R/RTwIa8ocOXqRJyaNp7GyrXZVBrjrjS++GE FdVf5fPOoXwl+Bb+wJv4abAB40v4WedcmJi2m3CqBjdATCjskxpQ9V6zhiXMvaPthwU2tx /QJAPQSzRAO2TTjpQR4stPJBrLEPs/g= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1717396745; a=rsa-sha256; cv=none; b=dEEAMJFrGY6bnlKLQsyKsDBMXH0RzrTUOreSgxHl7AZ77okiZP3tjt/A+H6uJb6KsCPltr Bn6NYaoBhPCx+3cRZhv5pR+eh80KW5rubgRN/2mKgTI5k7sk2fe5VfOK93lZqaZuIv99aa ntxt8VoECCTKr/yaKGDSiJvkgFRLmA8= ARC-Authentication-Results: i=1; imf03.hostedemail.com; dkim=pass header.d=suse.de header.s=susede2_rsa header.b=qokBEjEY; dkim=pass header.d=suse.de header.s=susede2_ed25519 header.b=vKuCjHtU; dkim=pass header.d=suse.de header.s=susede2_rsa header.b=qokBEjEY; dkim=pass header.d=suse.de header.s=susede2_ed25519 header.b=vKuCjHtU; dmarc=pass (policy=none) header.from=suse.de; spf=pass (imf03.hostedemail.com: domain of hare@suse.de designates 195.135.223.131 as permitted sender) smtp.mailfrom=hare@suse.de 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 9CAED20015; Mon, 3 Jun 2024 06:39:03 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.de; s=susede2_rsa; t=1717396743; h=from:from:reply-to: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:in-reply-to:references:references; bh=F/WIwD4qTfaup/BG/pV6m14+Ga7Rz6PNCOD3C8SNn1Q=; b=qokBEjEYAu2dP8hhiCZwvB2NmNhle2NdDioW32fu6uoeHAyHZiUaIk0VV0naz7tZMu45Y1 22mhF4+92OhTw0cT1vVy4kzlXp/8yiJtgIETvpvRf7Gd/e67k+cv1LI+AH4ytalrOikmZh TlHkdtfsFv3KS03kOhn26Av40pj6AF0= DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=suse.de; s=susede2_ed25519; t=1717396743; h=from:from:reply-to: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:in-reply-to:references:references; bh=F/WIwD4qTfaup/BG/pV6m14+Ga7Rz6PNCOD3C8SNn1Q=; b=vKuCjHtUAbnxImGJDqqugwXRevbB+wGspEGC4XkzKQKq1Wg21bgN4BNYAlzMkr+RkTag06 ZBH8RRwXiSStY2CQ== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.de; s=susede2_rsa; t=1717396743; h=from:from:reply-to: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:in-reply-to:references:references; bh=F/WIwD4qTfaup/BG/pV6m14+Ga7Rz6PNCOD3C8SNn1Q=; b=qokBEjEYAu2dP8hhiCZwvB2NmNhle2NdDioW32fu6uoeHAyHZiUaIk0VV0naz7tZMu45Y1 22mhF4+92OhTw0cT1vVy4kzlXp/8yiJtgIETvpvRf7Gd/e67k+cv1LI+AH4ytalrOikmZh TlHkdtfsFv3KS03kOhn26Av40pj6AF0= DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=suse.de; s=susede2_ed25519; t=1717396743; h=from:from:reply-to: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:in-reply-to:references:references; bh=F/WIwD4qTfaup/BG/pV6m14+Ga7Rz6PNCOD3C8SNn1Q=; b=vKuCjHtUAbnxImGJDqqugwXRevbB+wGspEGC4XkzKQKq1Wg21bgN4BNYAlzMkr+RkTag06 ZBH8RRwXiSStY2CQ== 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 D339313A93; Mon, 3 Jun 2024 06:39:02 +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 jkATMQZlXWZrSwAAD6G6ig (envelope-from ); Mon, 03 Jun 2024 06:39:02 +0000 Message-ID: Date: Mon, 3 Jun 2024 08:39:02 +0200 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: [PATCH v6 07/11] iomap: fix iomap_dio_zero() for fs bs > system page size Content-Language: en-US To: "Pankaj Raghav (Samsung)" , david@fromorbit.com, chandan.babu@oracle.com, akpm@linux-foundation.org, brauner@kernel.org, willy@infradead.org, djwong@kernel.org Cc: linux-kernel@vger.kernel.org, john.g.garry@oracle.com, gost.dev@samsung.com, yang@os.amperecomputing.com, p.raghav@samsung.com, cl@os.amperecomputing.com, linux-xfs@vger.kernel.org, hch@lst.de, mcgrof@kernel.org, linux-mm@kvack.org, linux-fsdevel@vger.kernel.org References: <20240529134509.120826-1-kernel@pankajraghav.com> <20240529134509.120826-8-kernel@pankajraghav.com> From: Hannes Reinecke In-Reply-To: <20240529134509.120826-8-kernel@pankajraghav.com> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit X-Stat-Signature: xtmkuwzb9badej316nd7z19qtro7e4pr X-Rspamd-Queue-Id: 135A620002 X-Rspam-User: X-Rspamd-Server: rspam01 X-HE-Tag: 1717396744-48102 X-HE-Meta: U2FsdGVkX1+/nbwS9dSlHj+p18cAfgpecjx/HrCInzU1oT6Y68x+ln3UtxJcAG43B7324xI6sKqIOZO7eIuULCT2NG0LW1ApEthWQOXgtd8unfYSDls0ELMm/rIuXxx4CteC+J9kL+9wmc0Ead9L4CZUzXs7RMzPERIMwbExOyQ8PjKiQCi0ByP64RuYLCfqQcYeMNuRQde5K8o0rThqcXL6x0U98IdiOKOLzUIL1zqWpEQuaIFGQV/iPVKBPhDf9F+23IYHmNcvicZApDQW9Xjgk7R5P6yInokISp5Wu0Q73Ar2RWR83pUcqBCSPH3tOOcnjA00ikhy8++xRCfM1+nJ0OXPuPBtkd3leidlG/BU/kPt6HfRm6fSJ7U53EFwnrKLETC8QFCOS5k65Nz3Zk5w3NUEoGtGsqZCDdd3pKVcK95iJjnsoSbc35uK+CpsU9bfmAKLFrQfSTQ0ziisnyqmzmK53BIauouZ+JkosBYy0wZU+t04o8oMxVzJGYcBkRJiNF4YgxnLpN67PdXbC8oAYQD7GSE5unvxGoGgW1qpgHxjol+j9u2t9HeIWKWdEw9/LpwJP4WjOPYzISmJ4OqjYyfWgapmrUMb1wS7Wtxd/UF13jcODB4rP+Z7/+2nOHyQZyt+69+YmfYoFDyqCZo2rlWFGC9b9g0P1m9I0+/aN6I4cIuMHpV/xBO1dKJt6XId3iBZag92ofIIaoNxnYCMWqSvTypH65VDsD/o/g0s3vaY1Qm59mfkYF4u1MR+5gjlowOUIQtAOaDLwTFtHSkw+3JNGC0dC3Ua2P6MTNPGdG/07V48o21VZglS/TWAsc4x5M/OiwtECgp6qKuK/r92dGdmDt0EoqTaWoVZcK6NS3e5Na6dRFj+cqLycwlUwiaom/0QmcswXrGAtQJ1J6cMar9o0SKcqHC/3gJfLbBz/YpSb6NfpA5PTrzyTOofASW+5JndR7xswcqWPE2 l0sFGnNi ydZnUy+NDto5gkRidr3461SGofPUWEoTbakcXeTJQamDKjj8zb6o3LzE2H4pelPqGI5Rpjba1FfyHYkvgA1R8bjLZkoi12gdsg2CC4L/6s7ZdN1fE879vMcQ5IHxtF430jz57eW9JQ5oScmg9AXbE+qh6NVRmgeVq4KXI8BsfeC2JPQjlUTaxwbZj4jO2m6cRlZg3uHp6jq8kbub9wBSJtvUR9sXq6Rb0SZs3WUyj9Bq0MxVhaxi5/c6nAC5yhTon/EFDfEMSgUmxHvlvDG//qlHwOCf7I7rua7sMifFPmUJGtJFcyFc6pwAKMAlGG25JeLtuiQNgXne0Nt2kr2MCflmE0wnYxJkMZiuWSqfpUM9HgYfEDVrxur3EW64nABbR4WxHtR6zjqruaIcggOv+Med3JyDx/6r0r5LagQrT4KjY1tvpWZBuIAmLAOiNyqLuduBPjYTiXnHfiCBVy8fm4TE59FIqXUNqzaRLKpzzqiehmK9u3Wh9N4BS5A== 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 5/29/24 15:45, Pankaj Raghav (Samsung) wrote: > From: Pankaj Raghav > > iomap_dio_zero() will pad a fs block with zeroes if the direct IO size > < fs block size. iomap_dio_zero() has an implicit assumption that fs block > size < page_size. This is true for most filesystems at the moment. > > If the block size > page size, this will send the contents of the page > next to zero page(as len > PAGE_SIZE) to the underlying block device, > causing FS corruption. > > iomap is a generic infrastructure and it should not make any assumptions > about the fs block size and the page size of the system. > > Signed-off-by: Pankaj Raghav > --- > > After disucssing a bit in LSFMM about this, it was clear that using a > PMD sized zero folio might not be a good idea[0], especially in platforms > with 64k base page size, the huge zero folio can be as high as > 512M just for zeroing small block sizes in the direct IO path. > > The idea to use iomap_init to allocate 64k zero buffer was suggested by > Dave Chinner as it gives decent tradeoff between memory usage and efficiency. > > This is a good enough solution for now as moving beyond 64k block size > in XFS might take a while. We can work on a more generic solution in the > future to offer different sized zero folio that can go beyond 64k. > > [0] https://lore.kernel.org/linux-fsdevel/ZkdcAsENj2mBHh91@casper.infradead.org/ > Reviewed-by: Hannes Reinecke Cheers, Hannes -- Dr. Hannes Reinecke Kernel Storage Architect hare@suse.de +49 911 74053 688 SUSE Software Solutions GmbH, Frankenstr. 146, 90461 Nürnberg HRB 36809 (AG Nürnberg), GF: I. Totev, A. McDonald, W. Knoblich