All of lore.kernel.org
 help / color / mirror / Atom feed
From: David Laight <David.Laight@ACULAB.COM>
To: 'Tejun Heo' <tj@kernel.org>, Dan Carpenter <dan.carpenter@linaro.org>
Cc: Naresh Kamboju <naresh.kamboju@linaro.org>,
	"linux-s390@vger.kernel.org" <linux-s390@vger.kernel.org>,
	clang-built-linux <llvm@lists.linux.dev>,
	linux-block <linux-block@vger.kernel.org>,
	open list <linux-kernel@vger.kernel.org>,
	"lkft-triage@lists.linaro.org" <lkft-triage@lists.linaro.org>,
	Linux Regressions <regressions@lists.linux.dev>,
	Anders Roxell <anders.roxell@linaro.org>,
	"Arnd Bergmann" <arnd@arndb.de>,
	Nathan Chancellor <nathan@kernel.org>,
	Jens Axboe <axboe@kernel.dk>
Subject: RE: s390: block/blk-iocost.c:1101:11: error: call to '__compiletime_assert_557' declared with 'error' attribute: clamp() low limit 1 greater than high limit active
Date: Wed, 4 Dec 2024 18:26:16 +0000	[thread overview]
Message-ID: <be025b385bb94e0c92cd02ab57dc984b@AcuMS.aculab.com> (raw)
In-Reply-To: <Z1CUIT8zAqWOnot-@slm.duckdns.org>

From: Tejun Heo
> Sent: 04 December 2024 17:41
> 
> Hello,
> 
> On Wed, Dec 04, 2024 at 07:50:14PM +0300, Dan Carpenter wrote:
> > Tejun probably reads everything to linux-block, but let's CC him explicitly.
> 
> Oh, I'm not. Thanks for cc'ing.
> 
> > block/blk-iocost.c
> >   2222                          TRACE_IOCG_PATH(iocg_idle, iocg, now,
> >   2223                                          atomic64_read(&iocg->active_period),
> >   2224                                          atomic64_read(&ioc->cur_period), vtime);
> >   2225                          __propagate_weights(iocg, 0, 0, false, now);
> >                                                           ^
> > Why is "active" zero?  __propagate_weights() does a clamp() to 1 as minimum and
> > we've added new build time asserts so this breaks the build.
> >
> >   2226                          list_del_init(&iocg->active_list);
> >
...
> 
> This is a good catch. It's impressive that this can be caught at compile
> time. The upper limit can become zero but the lower limit should win as
> that's there to protect against divide by zero, so I think the right thinig
> to do is replacing clamp() with max(min()). Is someone interested in writing
> up the patch and sending it Jens' way?

Perhaps if written as:
	inuse = min(inuse, active) ?: 1;
it might stop someone changing it back.

	David

	

-
Registered Address Lakeside, Bramley Road, Mount Farm, Milton Keynes, MK1 1PT, UK
Registration No: 1397386 (Wales)


  reply	other threads:[~2024-12-04 18:27 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-12-04 10:31 s390: block/blk-iocost.c:1101:11: error: call to '__compiletime_assert_557' declared with 'error' attribute: clamp() low limit 1 greater than high limit active Naresh Kamboju
2024-12-04 14:39 ` Dan Carpenter
2024-12-04 16:11   ` David Laight
2024-12-04 16:50     ` Dan Carpenter
2024-12-04 17:40       ` Tejun Heo
2024-12-04 18:26         ` David Laight [this message]
2024-12-04 18:32           ` 'Tejun Heo'

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=be025b385bb94e0c92cd02ab57dc984b@AcuMS.aculab.com \
    --to=david.laight@aculab.com \
    --cc=anders.roxell@linaro.org \
    --cc=arnd@arndb.de \
    --cc=axboe@kernel.dk \
    --cc=dan.carpenter@linaro.org \
    --cc=linux-block@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-s390@vger.kernel.org \
    --cc=lkft-triage@lists.linaro.org \
    --cc=llvm@lists.linux.dev \
    --cc=naresh.kamboju@linaro.org \
    --cc=nathan@kernel.org \
    --cc=regressions@lists.linux.dev \
    --cc=tj@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.