Hi Jan, > > > > What if x_intercept > bdi_thresh? Since 8*bdi->avg_write_bandwidth is > > > > easily 500 MB, that happens quite often I imagine? > > > > > > That's fine because I no longer target "bdi_thresh" as some limiting > > > factor as the global "thresh". Due to it being unstable in small > > > memory JBOD systems, which is the big and unique problem in JBOD. > > I see. Given the control mechanism below, I think we can try this idea > > and see whether it makes problems in practice or not. But the fact that > > bdi_thresh is no longer treated as limit should be noted in a changelog - > > probably of the last patch (although that is already too long for my taste > > so I'll look into how we could make it shorter so that average developer > > has enough patience to read it ;). > > Good point. I'll make it a comment in the last patch. Just added this comment: + /* + * bdi_thresh is not treated as some limiting factor as + * dirty_thresh, due to reasons + * - in JBOD setup, bdi_thresh can fluctuate a lot + * - in a system with HDD and USB key, the USB key may somehow + * go into state (bdi_dirty >> bdi_thresh) either because + * bdi_dirty starts high, or because bdi_thresh drops low. + * In this case we don't want to hard throttle the USB key + * dirtiers for 100 seconds until bdi_dirty drops under + * bdi_thresh. Instead the auxiliary bdi control line in + * bdi_position_ratio() will let the dirtier task progress + * at some rate <= (write_bw / 2) for bringing down bdi_dirty. + */ bdi_thresh = bdi_dirty_limit(bdi, dirty_thresh); Thanks, Fengguang -- 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