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 42984CD4F4C for ; Sun, 8 Sep 2024 22:26:03 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id C364C6B00E7; Sun, 8 Sep 2024 18:26:02 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id BE58C6B00E8; Sun, 8 Sep 2024 18:26:02 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id A85E56B00E9; Sun, 8 Sep 2024 18:26:02 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0015.hostedemail.com [216.40.44.15]) by kanga.kvack.org (Postfix) with ESMTP id 8AC7D6B00E7 for ; Sun, 8 Sep 2024 18:26:02 -0400 (EDT) Received: from smtpin16.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay09.hostedemail.com (Postfix) with ESMTP id 1C66C8020D for ; Sun, 8 Sep 2024 22:26:02 +0000 (UTC) X-FDA: 82543004964.16.3EA0D09 Received: from mail-pj1-f46.google.com (mail-pj1-f46.google.com [209.85.216.46]) by imf20.hostedemail.com (Postfix) with ESMTP id F08471C0006 for ; Sun, 8 Sep 2024 22:25:59 +0000 (UTC) Authentication-Results: imf20.hostedemail.com; dkim=pass header.d=kernel-dk.20230601.gappssmtp.com header.s=20230601 header.b=1GiOZvea; spf=pass (imf20.hostedemail.com: domain of axboe@kernel.dk designates 209.85.216.46 as permitted sender) smtp.mailfrom=axboe@kernel.dk; dmarc=none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1725834259; 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=nhheKD2MaWmX7ObGYzIUVDmcL/vXif7CCP5OFRo31ag=; b=O5IHIvhX5/jhDiLdhdCHb6OVn4FyNdgobu36KJPAjyebksFQTFT+BvCtQ563pb9e+V35Op UkiXz4N4p+iL/+LDOosDLnQ4WbFEWkCok7IIzZ1DKG8FGGeXT+jUz49aZ7AmswSFBl5ZxL et4zk48Rnxit7C2c472Sxnbx7B06G8Q= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1725834259; a=rsa-sha256; cv=none; b=SId1x2hTiJeaZKXJTjSIr78pc5Acs1laOBUw9Yu5SRM/5OdJPcpiQuKfVHDxJ25xm91WVr 1WXuFqWqlTA+4nz/XqNmjPpuwxj0T1DXEgLN15VAcxdeL278sevp2TeU1b4X7o0k+wMwg0 T47lSjmNx51YaqmecyQTpCbeD95qu50= ARC-Authentication-Results: i=1; imf20.hostedemail.com; dkim=pass header.d=kernel-dk.20230601.gappssmtp.com header.s=20230601 header.b=1GiOZvea; spf=pass (imf20.hostedemail.com: domain of axboe@kernel.dk designates 209.85.216.46 as permitted sender) smtp.mailfrom=axboe@kernel.dk; dmarc=none Received: by mail-pj1-f46.google.com with SMTP id 98e67ed59e1d1-2d88690837eso2865753a91.2 for ; Sun, 08 Sep 2024 15:25:59 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=kernel-dk.20230601.gappssmtp.com; s=20230601; t=1725834358; x=1726439158; darn=kvack.org; h=content-transfer-encoding:in-reply-to:from:content-language :references:cc:to:subject:user-agent:mime-version:date:message-id :from:to:cc:subject:date:message-id:reply-to; bh=nhheKD2MaWmX7ObGYzIUVDmcL/vXif7CCP5OFRo31ag=; b=1GiOZveaHRPshYKVCD4/YemgsEDSTGi/99aJQPA9pdFfelRMfuxUK1yBBQKqH0kz/H 9ZdjCbIIGObSPsV7lnK8SRTW5d3wuoBBEHak6w9aen/S2tUTKPP6aRa0hWKlBCctBe78 yOYujitcymxrZz5avrKCOxcKimwc7dpSrLspFwKDPCiWflTOFC8GVW2SwgLZ8OyjHfO4 yvTinzFzg+E6I8omE8hIBi7ynlW4RI19QnaZ4TAvzU+r7ZF+d00j6l4LSQPcx1GByj4r 4rkjtNmsqcPEr2fZvK2FVi+yiX4k47sZbxjXR0OWZJN8OG23R1dZzBDH6KAU+Z+CAjDy xhrw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1725834358; x=1726439158; h=content-transfer-encoding:in-reply-to:from:content-language :references:cc:to:subject:user-agent:mime-version:date:message-id :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=nhheKD2MaWmX7ObGYzIUVDmcL/vXif7CCP5OFRo31ag=; b=mXqZKGgpMzkfik8h5g8806BIxrv6wpuC2ggfF0mWgJatdoe48g0kCne4V/WFRZDOio 5N5OKtz00Vi4b0kxsrbP5G60R1cXZ8wtQfZ9AbMQYiv8eDkyShXxyOc65CCpgnhSEJLn 2b+FTMgNOnEEq8EfU7oF70o2ROLYnMwsa7YGZnQpDy61pFyUh+9QDACRT/VL7GNN6I9g le27aDlSX6ADbGaXW5yBq4J13a6MfbUyyvQirriwKP+IMot4TkFJbGFPKnkNKFiod+UI qih2zh+byHDeeKh4Xv7jYKtWf8o3wndsSeM7CgvOTreIbMbX/ZpiMQ+v3+2EpK+eMYOr JxvQ== X-Forwarded-Encrypted: i=1; AJvYcCWd8TY0bChkztCrlW1CSWsbEXwcLxWbT7KQE7xE3e7KgCulnk4OnYfz/4GBTRx977Lf+vBZmeTY3Q==@kvack.org X-Gm-Message-State: AOJu0Yyk9T7S44yVZRJISXXEpMBNPqTkDUeW/4+6rXSoIxnp8pgJ/1sM 72/yfGSVetzZ3siwmYRUgczT0Tqwvj0Flr+ofbfXyxXrDYU6VIjSTNz9J/8Vlli/0Xig1bh+DUG W X-Google-Smtp-Source: AGHT+IGovwS3k3odF8N7sOl23DHwA+IOE/iVu4aQQ89/6DHIT/GBnaepkRD3z4HHegIOEg53WSFELA== X-Received: by 2002:a17:90a:ea05:b0:2d3:ca3f:7f2a with SMTP id 98e67ed59e1d1-2dad5023345mr8442074a91.22.1725834358439; Sun, 08 Sep 2024 15:25:58 -0700 (PDT) Received: from [192.168.1.150] ([198.8.77.157]) by smtp.gmail.com with ESMTPSA id 98e67ed59e1d1-2db033fea14sm3156249a91.0.2024.09.08.15.25.57 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Sun, 08 Sep 2024 15:25:57 -0700 (PDT) Message-ID: <3edd6a16-3e95-4cae-ae16-e1702eafe724@kernel.dk> Date: Sun, 8 Sep 2024 16:25:56 -0600 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: [PATCH v4 0/8] implement async block discards and other ops via io_uring To: Pavel Begunkov , io-uring@vger.kernel.org Cc: Conrad Meyer , linux-block@vger.kernel.org, linux-mm@kvack.org, Christoph Hellwig References: Content-Language: en-US From: Jens Axboe In-Reply-To: Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-Rspam-User: X-Rspamd-Server: rspam04 X-Rspamd-Queue-Id: F08471C0006 X-Stat-Signature: omadhqrd8jgttba6jhw8wk65o814d54y X-HE-Tag: 1725834359-989749 X-HE-Meta: U2FsdGVkX18ccbA9XN20FusJTXwvxFiEg9AJMlVYy27J7bS3UWvBsJ+OrUz/ajc4kMHz8L7bF7c48fyt6FEIRI2smM9uejh+F9YUMBTqccZCMjKZXGCUFKpNNSScbWwP3zn1FBWpxFBZjksYUmhHfAxG2POjdIgcb1hKyYM0bndXRO81EiN2ubDRs5M4xTOco//c0uTp5JpsLKdjDAR460mW0tlT781/f3eOQcncSm46Vew9q6R4hzJQFfRfD+zKnL7Xd7+EAIIHtW8VYlVrfKrLs2/ZiCGLei4tX/Wn5gpENkOLEwumpapDZA5yO7vtO8cErQqVF7MDS8l5Jqb4k89+mpinzN2YrWfmFwAQ/wzODFGslCVHG3tKL93o/POdp5SwPabZCOYRzSiEtSyBO3tYdgZb26svXtzmkccPfSFKRTkmFiDsSydA5WAT65jkRxTzIgZs5315sQfJyQdgJH9JJOh3HyQJfxTzz2mfNwbUrOSGxkNmtKyY79807vova6m+S1k4exkS/mARG1oBUStqmd+5lNcpMqBibR/ONVIODDSz4G9/qAClReU3U9dpcoX7pCALLUv8Gc7xJUNj1xMA2Eu4Tx+EzGBN+YVAYLfiRKcsGH2McuDYNUNGUGNJ2Wsf81pARE0vPGasF1GAOtZQsEDJnVWIOPG7P1AlBTFr/YT0U7zKtwL7Xhd0ERHaBEKNZ/qRPUQxeQjsaDp68h1QxcTEqKnroFNU42u+8qzJ88dkJi0g1e6ZipNcTdy4bgySsvlRpxUFBpZSOwNShTnWeuDqmDGxP8LktB17yV+E5Lw1171M+xpP2mdchtTutnj1TeLv/N7h+SF3b2Ah7ioiF4qZvf18cnBHDlaNq8IIbuVyDoEXvFoLpLqpBinqAM3l0ajZoL93tYb9JeG6Og/J9lJA4dalHPP9SjLf9+18qNZ+ZlC7v3JiVIY7WIe+8nfM8TRIYqfrcBJTiAs X62ije+O mnCDNEoWhxgOE8u7eKcv8cBSVGkJ1pE7PmRPUxfTpI97Uiz5/CMayzSK0a8Ue7Jajrw0FVcOax7zRBcZLrb7SZwFlycb/IwoK7u7oGl21B8EzhXxpaDH5rzrfTVSmVANSdeIubTNDKOTq+ReAHh8HTQKO6YBNdBSDnZATIM7Tn21YClqnLULGNnBsiY32ZDFcS010QbTu2UXsp0/Q7pKkPPhqOFOoUrV3VmUHVxv2wx5qJtYFGx5qjCA8vc8b7pN2V/HxW16CGS3Tmv3aD7xa4Dzz9LeoeVnBq6awLhkZDa2Dmq5gmOf2K5aSy7cMUSQky1a6gPTVMA4aW2euZH8pWo17LIVNj/4gRk+eI9cr3eVoO15EzBAQouLtN8SupBZ1WC8vlQlNkZkYU7ZnS7Cl8qMoyKDdUhV8ZlD0E8gMzYYej8dKBTuNRlDZynNEFhBxw/finrPsWLpO19dpTG13TnTS3u0afajN2EvmHMkYPxX3Oqc= X-Bogosity: Ham, tests=bogofilter, spamicity=0.029917, 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 9/6/24 4:57 PM, Pavel Begunkov wrote: > There is an interest in having asynchronous block operations like > discard and write zeroes. The series implements that as io_uring commands, > which is an io_uring request type allowing to implement custom file > specific operations. > > First 4 are preparation patches. Patch 5 introduces the main chunk of > cmd infrastructure and discard commands. Patches 6-8 implement > write zeroes variants. > > Branch with tests and docs: > https://github.com/isilence/liburing.git discard-cmd > > The man page specifically (need to shuffle it to some cmd section): > https://github.com/isilence/liburing/commit/a6fa2bc2400bf7fcb80496e322b5db4c8b3191f0 This looks good to me now. Only minor nit is that I generally don't like: while ((bio = blk_alloc_discard_bio(bdev, §or, &nr_sects, gfp))) { where assignment and test are in one line as they are harder do read, prefer doing: do { bio = blk_alloc_discard_bio(bdev, §or, &nr_sects, gfp); if (!bio) break; [...] } while (1); instead. But nothing that should need a respin or anything. I'll run some testing on this tomorrow! Thanks, -- Jens Axboe