Received: by 2002:a05:7412:361b:b0:f9:2edb:3e4d with SMTP id ie27csp113063rdb; Sun, 17 Dec 2023 17:28:20 -0800 (PST) X-Google-Smtp-Source: AGHT+IEp4tdF5t/Gv4zfh22Yg4KS0VFE7GK/J4D7bPa/hAO8a0IDgI1r6t76DQpgU/+nC1Y077a+ X-Received: by 2002:a05:620a:3d0:b0:77f:3c0d:33da with SMTP id r16-20020a05620a03d000b0077f3c0d33damr17715659qkm.70.1702862900389; Sun, 17 Dec 2023 17:28:20 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1702862900; cv=none; d=google.com; s=arc-20160816; b=w06Mxb7W1qoathEq3j6wUhqZpzUp1bHHXs+1hG9wJG5RgJEqG8HKR7D5pLujECuJo0 HWCh76VNTph70fm/5tGOtVUM7dyrm+AqBe+kHbiUFnHtT1LFea1sB2vjXBodkqcaisiQ gIqwGssfbr0e/qr63a+n91zuLOy4dqveANO73Q6yP1LHW6E+4reXmeWvGx9p+KgOai4F KuUc1XEmfccBh+Kkxyx9Sn3OXJQmWpV+/28rAhY9ylvgtwi6W/fGmRU/+V53+EjVprDU eBbqnKECY1t2U5fA9HU9xObh/xsAbcK4CzMdva4ZDzJVaQmagMhwDTyocyA47ECWDaGu 9ClA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=content-transfer-encoding:mime-version:list-unsubscribe :list-subscribe:list-id:precedence:references:in-reply-to:message-id :date:subject:cc:to:from:dkim-signature; bh=7XbRmEorx477xFodzpUGsRs+Ea5Cx9SIbi/zT57pfLE=; fh=uTXg1G6mpdGKL5+htXHdqKBMniUfw1k4O5urgOKzmKU=; b=XZNqTfjxB3fiPIKCKxJhSCJmFnudxQaPPPIc/l/6VwnbpS1QloYqueFtsAU00YJSX2 gBQtxr5q/ChbYERqeXsYerby/epzrmoef7iSvrfXcTcmm1cripOowhYMqysDoZ4Aifru 4Y0EhRfBcOeYKRmMWCe5OMvDl300XGT8alINDFL2+g1vOwDaTsfoh6EoVZCA9ULHkfy4 A51+wtm7ouwv1B7f16cJmjK1r/VUEfQqfh9HAQhyr99ajFMPUhrtvJP5yAZP2pYMY6+7 cQ+9pTKkODZb3t7y8w1apL0t+k/ctHvkevknCEoB0tNsqVn8J900VIh4DifX512hLB0Z 4vfg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@gmail.com header.s=20230601 header.b=evvNjqUf; spf=pass (google.com: domain of linux-kernel+bounces-2904-linux.lists.archive=gmail.com@vger.kernel.org designates 147.75.199.223 as permitted sender) smtp.mailfrom="linux-kernel+bounces-2904-linux.lists.archive=gmail.com@vger.kernel.org"; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Return-Path: Received: from ny.mirrors.kernel.org (ny.mirrors.kernel.org. [147.75.199.223]) by mx.google.com with ESMTPS id j19-20020a05620a289300b0077d9742a8cbsi23296575qkp.569.2023.12.17.17.28.20 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 17 Dec 2023 17:28:20 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel+bounces-2904-linux.lists.archive=gmail.com@vger.kernel.org designates 147.75.199.223 as permitted sender) client-ip=147.75.199.223; Authentication-Results: mx.google.com; dkim=pass header.i=@gmail.com header.s=20230601 header.b=evvNjqUf; spf=pass (google.com: domain of linux-kernel+bounces-2904-linux.lists.archive=gmail.com@vger.kernel.org designates 147.75.199.223 as permitted sender) smtp.mailfrom="linux-kernel+bounces-2904-linux.lists.archive=gmail.com@vger.kernel.org"; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Received: from smtp.subspace.kernel.org (wormhole.subspace.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ny.mirrors.kernel.org (Postfix) with ESMTPS id 291151C22054 for ; Mon, 18 Dec 2023 01:28:20 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id AFD272114; Mon, 18 Dec 2023 01:28:09 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="evvNjqUf" X-Original-To: linux-kernel@vger.kernel.org Received: from mail-pf1-f181.google.com (mail-pf1-f181.google.com [209.85.210.181]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id AFD741FB5; Mon, 18 Dec 2023 01:28:07 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Received: by mail-pf1-f181.google.com with SMTP id d2e1a72fcca58-6d5c4cb8a4cso218208b3a.3; Sun, 17 Dec 2023 17:28:07 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1702862887; x=1703467687; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=7XbRmEorx477xFodzpUGsRs+Ea5Cx9SIbi/zT57pfLE=; b=evvNjqUfCPiotFlPGFTBvKGLF38HC/yo+iafSx91x5DnYYu184h4jLdPk43kNl/T+L HZpz/Iz8nAWvAV6VraZ2omley4p3TxuYvJd/9hR6Yi/c+4KB0hj2bag9ZL904NOWNbfK 1dyXN6U4ppGoSVkqslyf9blpzI3gDchabU3fO61b0nubYIKTqFaJVJL1qb5yKUGSXswh 3w6hP/C0L22hFbbJRjeaKnioTGEjBC5Es/Emv3Vp+S2AT1XBx+JUc7r/MmZIsIxzoxAw PnBN6R5X4nw3VmOhFd3jikNOA4B3HqZ3fgU8yn4DLe2txOf8InS2LW1HIOcrjFWjsyc+ nzEg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1702862887; x=1703467687; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=7XbRmEorx477xFodzpUGsRs+Ea5Cx9SIbi/zT57pfLE=; b=Dic8Bi3SRhbZ+JRs8NRfQXH+kMfqPtl/wrQDWIl8QW/17n+DdtJQc5QnByPrTyEAyq Ga+iIsRmWvwAR8rbYHpPIBYUjTDpk2MEjUy9P9YslMkDj4QjsOOsgio0Zmf4hFdgMVUk CnpV9ioKzOKCYGntVZew9XqpM6ldFxdIW68qap/c6G6sCp0YVlcUreJ8yJEkOj5HMVBF fP2z0BflI9AEk42ii2F+DHXfXaGD2aKU2AsG4QeEy9N1gj/yXE68K6+KWYTVk6j2EXpo lePlzGtuEHxRfwMd1UMUof/EOJy3veU2zx8jh/RUQaPpoNTBvE/1Ludv6RsksMTx9hCN a60w== X-Gm-Message-State: AOJu0Yy7pcEc56SeVo94DgErWCPuwVV+bo7lOr9B5VBIN1Da7yVTXHBf b7+cPFSxO/VQjJ4QOQmP6lY= X-Received: by 2002:a05:6a00:2301:b0:6cb:a60c:14 with SMTP id h1-20020a056a00230100b006cba60c0014mr9340439pfh.18.1702862886625; Sun, 17 Dec 2023 17:28:06 -0800 (PST) Received: from ubuntu.. ([117.18.48.102]) by smtp.gmail.com with ESMTPSA id s6-20020a625e06000000b006d64c4cb661sm1414014pfb.200.2023.12.17.17.28.01 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 17 Dec 2023 17:28:06 -0800 (PST) From: Hongyu Jin To: agk@redhat.com, snitzer@kernel.org, mpatocka@redhat.com, axboe@kernel.dk, ebiggers@kernel.org Cc: zhiguo.niu@unisoc.com, ke.wang@unisoc.com, yibin.ding@unisoc.com, hongyu.jin@unisoc.com, linux-kernel@vger.kernel.org, dm-devel@lists.linux.dev, linux-block@vger.kernel.org Subject: [PATCH v5 RESEND 0/5] Fix I/O priority lost in device-mapper Date: Mon, 18 Dec 2023 09:27:41 +0800 Message-Id: <20231218012746.24442-1-hongyu.jin.cn@gmail.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: References: Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit From: Hongyu Jin A high-priority task obtains data from the dm-verity device using the RT IO priority, during the verification, the IO reading FEC and hash by kworker loses the RT priority and is blocked by the low-priority IO. dm-crypt has the same problem in the process of writing data. This is because io_context and blkcg are missing. Move bio_set_ioprio() into submit_bio(): 1. Only call bio_set_ioprio() once to set the priority of original bio, the bio that cloned and splited from original bio will auto inherit the priority of original bio in clone process. 2. Make the IO priority of the original bio to be passed to dm, and the dm target inherits the IO priority as needed. All changes are based on commit 9bacdd8996c7 ("Merge tag 'for-6.7-rc1-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/kdave/linux") on the master branch. Changes in v5: - Rewrite patch 2, add ioprio parameter in dm_io(); - Modify dm_io() in patch 3 Changes in v4: - Modify commit message by Suggestion - Modify patch for dm-crypt Changes in v3: - Split patch for device-mapper - Add patch to fix dm-crypy I/O priority question - Add block patch to review together - Fix some error in v2 patch Changes in v2: - Add ioprio field in struct dm_io_region - Initial struct dm_io_region::ioprio to IOPRIO_DEFAULT - Add two interface Hongyu Jin (5): block: Fix bio IO priority setting dm: Support I/O priority for dm_io() dm-bufio: Support I/O priority dm verity: Fix I/O priority lost when read FEC and hash dm-crypt: Fix lost ioprio when queuing write bios block/blk-core.c | 10 +++++ block/blk-mq.c | 11 ------ drivers/md/dm-bufio.c | 39 ++++++++++--------- drivers/md/dm-crypt.c | 1 + drivers/md/dm-ebs-target.c | 8 ++-- drivers/md/dm-integrity.c | 12 +++--- drivers/md/dm-io.c | 23 ++++++----- drivers/md/dm-kcopyd.c | 4 +- drivers/md/dm-log.c | 4 +- drivers/md/dm-raid1.c | 6 +-- drivers/md/dm-snap-persistent.c | 8 ++-- drivers/md/dm-verity-fec.c | 5 ++- drivers/md/dm-verity-target.c | 8 +++- drivers/md/dm-writecache.c | 8 ++-- drivers/md/persistent-data/dm-block-manager.c | 6 +-- include/linux/dm-bufio.h | 5 +-- include/linux/dm-io.h | 3 +- 17 files changed, 85 insertions(+), 76 deletions(-) -- 2.34.1