From patchwork Fri Jun 28 21:23:50 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Luis Chamberlain X-Patchwork-Id: 13716669 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 66AE6C30658 for ; Fri, 28 Jun 2024 21:24:06 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id C70906B00AE; Fri, 28 Jun 2024 17:24:05 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id C20376B00AF; Fri, 28 Jun 2024 17:24:05 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id AE7A96B00B1; Fri, 28 Jun 2024 17:24:05 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0010.hostedemail.com [216.40.44.10]) by kanga.kvack.org (Postfix) with ESMTP id 9159C6B00AE for ; Fri, 28 Jun 2024 17:24:05 -0400 (EDT) Received: from smtpin29.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay09.hostedemail.com (Postfix) with ESMTP id 34E038069C for ; Fri, 28 Jun 2024 21:24:05 +0000 (UTC) X-FDA: 82281575250.29.43B72E3 Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) by imf22.hostedemail.com (Postfix) with ESMTP id 4AAB2C0013 for ; Fri, 28 Jun 2024 21:24:01 +0000 (UTC) Authentication-Results: imf22.hostedemail.com; dkim=pass header.d=infradead.org header.s=bombadil.20210309 header.b=4l2ZMKjL; spf=none (imf22.hostedemail.com: domain of mcgrof@infradead.org has no SPF policy when checking 198.137.202.133) smtp.mailfrom=mcgrof@infradead.org; dmarc=fail reason="No valid SPF, DKIM not aligned (relaxed)" header.from=kernel.org (policy=none) ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1719609823; h=from:from:sender: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=5yZ6JVpJckl3jVdfEKlR4529wtL7JYIzrL/5IKzZ48U=; b=Oygwx60Pfg9rJqi+GvBDXqs5kyZNVOKJ0oJTlOi3IdDWp0gbleJvlKOJ4AfeVxkirrbW4o wIlYU1Jjs3LGIhcUC6LOR4EcOmz3ZUsOUYWZzX8sAuyH6Pfy1wgzQx10Ay6wnW79gTj9iT DXHHJHox4bKhHZ2UNiRVn3ahPAYwoJ4= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1719609823; a=rsa-sha256; cv=none; b=IpItph1vSeT5f/pzgRQ3P/jlnOpDCCkRiQH2ZiFz9WHf4+hUZWn+2Uf5UydpdGFRHil2Ss Cra0JIR/6oRAtiixjgl2nTdxBJgymvdJc0oBjVT1qGossmKzR8DYlxEngcKJ7qDeJrjC2J op6K49Z/UGFgn0mArUgKJjr6Uv+6Yiw= ARC-Authentication-Results: i=1; imf22.hostedemail.com; dkim=pass header.d=infradead.org header.s=bombadil.20210309 header.b=4l2ZMKjL; spf=none (imf22.hostedemail.com: domain of mcgrof@infradead.org has no SPF policy when checking 198.137.202.133) smtp.mailfrom=mcgrof@infradead.org; dmarc=fail reason="No valid SPF, DKIM not aligned (relaxed)" header.from=kernel.org (policy=none) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=infradead.org; s=bombadil.20210309; h=Sender:Content-Transfer-Encoding: MIME-Version:Message-ID:Date:Subject:Cc:To:From:Reply-To:Content-Type: Content-ID:Content-Description:In-Reply-To:References; bh=5yZ6JVpJckl3jVdfEKlR4529wtL7JYIzrL/5IKzZ48U=; b=4l2ZMKjLXebadulX4O/7qPOvix mSmeOgHU/uGjuS0TIzlgzilhjyDRrSfQT1k4ttD2c+x6DbnuvYB8+HKnBUb7FhRUQSTDxQty6rrP7 Ki/vnhxJuvHFnB02Y4Xxv0uYmYz5XgmUkkV4/N5DABcJ/sI1HdzFVDQu7mYfkl67PxRSddCdiSZds 3DIfBU/lpmxIThdfwA5y1UFdWrXUw4NTnfHcTGxdYA0N109r3n3Z10h/OisL8abc4//uLGH/3OuJR W9Er4D9fTPp5r9dkA2DusnFeMRt5s6W+9I39J7L152lO17F4u7QXjuXyn0Rb2WalnwEh0bm+uyjJD PVWNDY7g==; Received: from mcgrof by bombadil.infradead.org with local (Exim 4.97.1 #2 (Red Hat Linux)) id 1sNJ4T-0000000F0kA-3gWb; Fri, 28 Jun 2024 21:23:53 +0000 From: Luis Chamberlain To: p.raghav@samsung.com, hare@suse.de, kbusch@kernel.org, david@fromorbit.com, neilb@suse.de Cc: mcgrof@kernel.org, gost.dev@samsung.com, linux-block@vger.kernel.org, linux-mm@kvack.org, patches@lists.linux.dev Subject: [RFC] bdev: use bdev_io_min() for statx DIO min IO Date: Fri, 28 Jun 2024 14:23:50 -0700 Message-ID: <20240628212350.3577766-1-mcgrof@kernel.org> X-Mailer: git-send-email 2.44.0 MIME-Version: 1.0 X-Stat-Signature: 6w4ruxu6fry787xouzxumodrwosjum1w X-Rspamd-Queue-Id: 4AAB2C0013 X-Rspam-User: X-Rspamd-Server: rspam08 X-HE-Tag: 1719609841-119497 X-HE-Meta: U2FsdGVkX1/Z4sZEDIgsznmXdbRRnUXtZvqgX9Zq8IC5cYWEKTU5XpVl9lJdwfTWSPp2gANaAxNGfLNFyPwHUw3rjoOcFpRk9a98lqyxl/45AEiNfIX6aXQlVieATFmGr+U9/+ecMsU5vY0hJX57tLt2mQ49XALIyD/7Xs4U5t2UMQ+7n45eDdtHR80+nZfBBn/F1kL+BSxw30OWtVSsYp2ItSyLK3GcMnkRqLmSnp7bHKYT38dnnQW9Qfzc1N05TYDPPZA6j1qV/DFqM1E8/ffzyHpti+9B3LZ53fMrU1WX/iJ9FcRo96ZjKugbIpjn92zDgN3oqLUEGNxv6169TcbincUP92iAJMSgB+z2dNI8f8BUVHlCauQzn/Lmm9Ej8IHpOTKnr0a8jmsOSctAcxRfFryjUoFMqH13wEsgD6olABX4JT8e3/PGVcjtiSRUz44SwcOJ67J1lnTPWQtnAA21+TRC1Vf9hkdoOH/g2C/J5gqC8/LNa+mYEM42sd/NcTeTFoQv9GzmFAa+554ol5u1hZHPFdxbdDLa3EIEztcF1Lcplq/bYwNHgYh3q7u8BaFEZ/SU1Xn27y0E+H1AwmZtENbrQXa9qOJILB1We09wxgJcZ3QhtbYSybAL0YOxsEJ52kljdwPYn8qie87T92WCLaTkiNBlbbYlIO7xNPi8T3Kx/T88d/g2hWAuwSmHbm4gK2wg9b1S1EBKathoztDx6F9jBs/HDdxXnh0hKOJC8mDRVKGYd3rW6trIv+c62TvwaoSmJAX+IA2GJnn+C+VMvbPorOKow6/YAFpIvD4wNQ29YzLkmXJLFh894RbxsxEUuJqaxsXEDTzixm/ZimxE2yemOrusuOCM38abJGpHo6j/oS+HNzjaKB4k5yWtjpRCa+xJg17uvOAxZ+aE4i1UK3ux2Eti+q/iz1m4nRqPJtXHrtK3Qt4Qwy+GdQH7c1hKoi1n27Uzfenwt5J po6VYjrC TklBpH3CNhQMtprqOe4Gyga/nA7LhPbmfvjGRrMgoj9d4A8PCjMmaO6JOOribSp4If/lt+n2hWWbrz+l/NTodcWbN20MKMk609dKne6nFB8m16sJY98XaxgpWx1h6OUuWP8a0swOvluzHWCpf68+6P1S0+ixJCJNKhB0/X1ixnoPeymMyYRQtVTMQRjlt+CcMjuuptjbOx5P4b+rYGqkxhHXrOdaoM2lNGdLdPrItcmPD9e+NHwambrXPI55GVx2J3DvWyuXXm5z3cULpxdHHT4SqIH6f/DzNsq59G3loJ44brawd4AbEPTcixrN8xw1n8S7ipfHhcQWVnZ1pwW7f0J0ZvP9O2BA3emC1O1PBvyFogiDxzJ0qVWm9dLNbxroe4Hh6MdyhfWd7b9qF1o6QyxFBkPWdNGlVhN1NrUQ2lwnl6oGvF+pENAJ1CGKW5Hrbm698MnxF3KcqjmzaRRUQjw1OoR/j4Ga2N9dy X-Bogosity: Ham, tests=bogofilter, spamicity=0.000001, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: List-Subscribe: List-Unsubscribe: We currently rely on the block device logical block size for the offset alignment. While this *works* it doesn't work with performance in mind. That's exactly what the minimum_io_size attribute is for. This would for example enhance performance for DIO on 4k IU drives which have for example an LBA format of 512 bytes for both HDDs and NVMe. Another use case is to ensure that DIO will be used with 16k IOs on existing market 16k IU drives with an LBA format of 4k or 512 bytes. Signed-off-by: Luis Chamberlain --- block/bdev.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/block/bdev.c b/block/bdev.c index 1b4af2cc3b1e..5d0874aa8661 100644 --- a/block/bdev.c +++ b/block/bdev.c @@ -1282,7 +1282,7 @@ void bdev_statx(struct inode *backing_inode, struct kstat *stat, if (request_mask & STATX_DIOALIGN) { stat->dio_mem_align = bdev_dma_alignment(bdev) + 1; - stat->dio_offset_align = bdev_logical_block_size(bdev); + stat->dio_offset_align = (unsigned int) bdev_io_min(bdev); stat->result_mask |= STATX_DIOALIGN; }