All of lore.kernel.org
 help / color / mirror / Atom feed
From: Tejun Heo <tj@kernel.org>
To: Tao Cui <cui.tao@linux.dev>
Cc: josef@toxicopanda.com, axboe@kernel.dk, cgroups@vger.kernel.org,
	linux-block@vger.kernel.org, linux-kernel@vger.kernel.org,
	bpf@vger.kernel.org, andrii@kernel.org, eddyz87@gmail.com,
	ast@kernel.org, daniel@iogearbox.net,
	linux-kselftest@vger.kernel.org, Tao Cui <cuitao@kylinos.cn>,
	ameryhung@gmail.com, alexei.starovoitov@gmail.com
Subject: Re: [RFC PATCH v10 0/4] blk-iocost: add BPF struct_ops cost model support
Date: Fri, 16 Oct 2026 07:49:54 -1000	[thread overview]
Message-ID: <20e2b2a51fd97292add8d8e527b14a45@kernel.org> (raw)
In-Reply-To: <a3dfbc2d-8580-478c-8189-3794d49aee11@linux.dev>

Hello, Tao.

On Thu, 15 Oct 2026 20:00:20 +0800, Tao Cui wrote:
> When you have a chance, could you take a look at this series? I'd
> appreciate your thoughts on whether the implementation still matches
> what we discussed, or whether it has drifted somewhere along the way.

The behavior matches what was discussed, but the implementation needs a
lot of cleanup, and there are bugs in the detach path and the
iocg_init()/iocg_free() pairing. Details are in the replies to the
patches.

> Sashiko flagged a possible ABBA between the BPF paths and
> ioc_cost_model_write(): attach/detach take the queue freeze before
> q->rq_qos_mutex, while the cost-model write holds rq_qos_mutex across
> its freeze. That is indeed the current ordering, but I don't think this
> can deadlock because the queue freeze is a depth counter

The attach and detach order matches ioc_qos_write(). The reverse order in
ioc_cost_model_write() predates this series and is better fixed
separately. An earlier attempt to convert it ran into blk_iocost_init()'s
percpu allocation under the freeze:

  https://lore.kernel.org/all/aV5OwAvw1sRF1IW1@fedora/

Thanks.

-- 
tejun

      reply	other threads:[~2026-10-16 17:49 UTC|newest]

Thread overview: 14+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-10-03 12:40 [RFC PATCH v10 0/4] blk-iocost: add BPF struct_ops cost model support Tao Cui
2026-10-03 12:40 ` [RFC PATCH v10 1/4] " Tao Cui
2026-10-03 13:21   ` bot+bpf-ci
2026-10-03 17:56   ` sashiko-bot
2026-10-03 20:45   ` Alexei Starovoitov
2026-10-16 17:49   ` Tejun Heo
2026-10-03 12:40 ` [RFC PATCH v10 2/4] selftests/bpf: add iocost cost model test Tao Cui
2026-10-16 17:49   ` Tejun Heo
2026-10-03 12:40 ` [RFC PATCH v10 3/4] blk-iocost: add iocost_ioc_tick tracepoint for per-period device summary Tao Cui
2026-10-16 17:49   ` Tejun Heo
2026-10-03 12:40 ` [RFC PATCH v10 4/4] docs: cgroup-v2: document the iocost BPF cost model attachment Tao Cui
2026-10-16 17:49   ` Tejun Heo
2026-10-15 12:00 ` [RFC PATCH v10 0/4] blk-iocost: add BPF struct_ops cost model support Tao Cui
2026-10-16 17:49   ` Tejun Heo [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20e2b2a51fd97292add8d8e527b14a45@kernel.org \
    --to=tj@kernel.org \
    --cc=alexei.starovoitov@gmail.com \
    --cc=ameryhung@gmail.com \
    --cc=andrii@kernel.org \
    --cc=ast@kernel.org \
    --cc=axboe@kernel.dk \
    --cc=bpf@vger.kernel.org \
    --cc=cgroups@vger.kernel.org \
    --cc=cui.tao@linux.dev \
    --cc=cuitao@kylinos.cn \
    --cc=daniel@iogearbox.net \
    --cc=eddyz87@gmail.com \
    --cc=josef@toxicopanda.com \
    --cc=linux-block@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-kselftest@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.