Messages in this thread | | | Subject | Re: [PATCH 06/16] blkio: Introduce per cfq group weights and vdisktime calculations | From | "Alan D. Brunelle" <> | Date | Tue, 17 Nov 2009 13:07:45 -0500 |
| |
On Fri, 2009-11-13 at 12:40 -0500, Vivek Goyal wrote:
> + > +static inline u64 max_vdisktime(u64 min_vdisktime, u64 vdisktime) > +{ > + s64 delta = (s64)(vdisktime - min_vdisktime); > + if (delta > 0) > + min_vdisktime = vdisktime; > + > + return min_vdisktime; > +} > + > +static inline u64 min_vdisktime(u64 min_vdisktime, u64 vdisktime) > +{ > + s64 delta = (s64)(vdisktime - min_vdisktime); > + if (delta < 0) > + min_vdisktime = vdisktime; > + > + return min_vdisktime; > +} > + > +static void update_min_vdisktime(struct cfq_rb_root *st) > +{ > + u64 vdisktime = st->min_vdisktime; > + struct cfq_group *cfqg; > + > + if (st->active) { > + cfqg = rb_entry(st->active, struct cfq_group, rb_node); > + vdisktime = cfqg->vdisktime; > + } > + > + if (st->left) { > + cfqg = rb_entry(st->left, struct cfq_group, rb_node); > + vdisktime = min_vdisktime(vdisktime, cfqg->vdisktime); > + } > + > + st->min_vdisktime = max_vdisktime(st->min_vdisktime, vdisktime); > +}
Any reason why you don't use min_t(u64, vdisktime, cfqg->vdisktime) and max_t(u64, st->min_vdisktime, vdisktime)) here?
| |