Re: [PATCH] DAX: enable iostat for read/write

From: Kani, Toshimitsu
Date: Mon Oct 17 2016 - 15:29:09 EST


On Mon, 2016-10-17 at 11:55 -0700, Dan Williams wrote:
> On Mon, Oct 17, 2016 at 10:40 AM, Kani, Toshimitsu <toshi.kani@xxxxxx
> m> wrote:
> >
> > On Sat, 2016-10-15 at 18:54 +1100, Dave Chinner wrote:
> > >
> > > On Fri, Oct 14, 2016 at 11:25:13AM -0600, Toshi Kani wrote:
> > Â:
> > >
> > > >
> > > > +static void dax_iostat_start(struct gendisk *disk, struct
> > > > iov_iter
> > > > *iter,
> > > > +ÂÂÂÂÂunsigned long *start)
> > > > +{
> > > > +int rw = iov_iter_rw(iter);
> > > > +int sec = iov_iter_count(iter) >> 9;
> > > > +int cpu = part_stat_lock();
> > > > +
> > > > +*start = jiffies;
> > > > +part_round_stats(cpu, &disk->part0);
> > > > +part_stat_inc(cpu, &disk->part0, ios[rw]);
> > > > +part_stat_add(cpu, &disk->part0, sectors[rw], sec);
> > > > +part_inc_in_flight(&disk->part0, rw);
> > > > +part_stat_unlock();
> > > > +}
> > >
> > > Why reimplement generic_start_io_acct() and
> > > generic_end_io_acct()?
> >
> > It was modeled after __nd_iostat_start() / nd_iostart_end().ÂÂI
> > agree that we can use generic_start_io_acct() and
> > generic_end_io_acct() here.
> >
> > Should we also change the nd interface to use the generic version
> > as well?
>
> Yes, sounds good to me.

Will do. Thanks!
-Toshi