Re: [PATCH 04/14] blk-mq-sched: improve dispatching from sw queue

Ming Lei
2017-08-03T03:14:02Z

On Thu, Aug 03, 2017 at 01:35:29AM +0000, Bart Van Assche wrote:
> On Wed, 2017-08-02 at 11:31 +0800, Ming Lei wrote:
> > On Tue, Aug 01, 2017 at 03:11:42PM +0000, Bart Van Assche wrote:
> > > On Tue, 2017-08-01 at 18:50 +0800, Ming Lei wrote:
> > > > On Tue, Aug 01, 2017 at 06:17:18PM +0800, Ming Lei wrote:
> > > > > How can we get the accurate 'number of requests in progress' efficiently?
> > >
> > > Hello Ming,
> > >
> > > How about counting the number of bits that have been set in the tag set?
> > > I am aware that these bits can be set and/or cleared concurrently with the
> > > dispatch code but that count is probably a good starting point.
> >
> > It has to be atomic_t, which is too too heavy for us, please see the report:
> >
> > http://marc.info/?t=149868448400003&r=1&w=2
> >
> > Both Jens and I want to kill hd_struct.in_flight, but looks still no
> > good way.
>
> Hello Ming,
>
> Sorry but I disagree that a new atomic variable should be added to keep track
> of the number of busy requests. Counting the number of bits that are set in
> the tag set should be good enough in this context.

That won't work because the tag set is host wide and shared by all LUNs.

--
Ming