On Tue, 22 Jun 2010 09:45:22 +0200 Peter Zijlstra <peterz@xxxxxxxxxxxxx> wrote: > On Mon, 2010-06-21 at 23:14 -0700, Andrew Morton wrote: > > +/* > > + * Compare counter against given value. > > + * Return 1 if greater, 0 if equal and -1 if less > > + */ > > +int percpu_counter_compare(struct percpu_counter *fbc, s64 rhs) > > +{ > > + s64 count; > > + > > + count = percpu_counter_read(fbc); > > + /* Check to see if rough count will be sufficient for comparison */ > > + if (abs(count - rhs) > (percpu_counter_batch*num_online_cpus())) { > > + if (count > rhs) > > + return 1; > > + else > > + return -1; > > + } > > + /* Need to use precise count */ > > + count = percpu_counter_sum(fbc); > > + if (count > rhs) > > + return 1; > > + else if (count < rhs) > > + return -1; > > + else > > + return 0; > > +} > > +EXPORT_SYMBOL(percpu_counter_compare); > > That won't quite work as advertised for the bdi stuff since we use a > custom batch size. Oh come on, of course it will. It just needs __percpu_counter_compare() as I mentioned when merging it. -- To unsubscribe from this list: send the line "unsubscribe linux-fsdevel" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html