[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <2c23b85e-4ec7-4554-bac8-a76e3b75d776@oracle.com>
Date: Wed, 19 Feb 2025 14:19:01 +0000
From: John Garry <john.g.garry@...cle.com>
To: Bart Van Assche <bvanassche@....org>,
Andreas Hindborg <a.hindborg@...nel.org>
Cc: Jens Axboe <axboe@...nel.dk>, Oliver Mangold <oliver.mangold@...me>,
linux-block@...r.kernel.org, linux-kernel@...r.kernel.org
Subject: Re: [PATCH] block: set bi_vcnt when cloning bio
On 18/02/2025 22:21, Bart Van Assche wrote:
> On 2/18/25 9:12 AM, John Garry wrote:
>> On 18/02/2025 11:40, Andreas Hindborg wrote:
>>> But I am genuinely curious if there is a reason for not setting
>>> `bi_vcnt` during a clone.
>>
>> I think that it came from commit 59d276fe0 (with the addition of
>> bio_clone_fast()), where we assume that the cloned bio is not having
>> the bio_vec touched and so does not need to know bi_vcnt (or
>> bi_max_vecs). And it is inefficient to needlessly set bi_vcnt then.
>
> Hmm ... I prefer paying the very small performance hit caused by copying
> bi_vcnt rather than having to deal with the inconsistency caused by not
> copying that data structure member.
From my experience, setting anything which is not strictly necessary in
the fastpath code is generally not wanted.
Thanks,
John
Powered by blists - more mailing lists