On Thu, Jun 20, 2019 at 09:09:11AM -0600, Ross Zwisler wrote: > We could definitely keep separate dirty ranges for each of the current and > next transaction. I think the case where you would see a difference would be > if you had multiple transactions in a row which grew the dirty range for a > given jbd2_inode, and then had a random I/O workload which kept dirtying pages > inside that enlarged dirty range. > > I'm not sure how often this type of workload would be a problem. For the > workloads I've been testing which purely append to the inode, having a single > dirty range per jbd2_inode is sufficient.
My inclination would be to keep things simple for now, unless we have a real workload that tickles this. In the long run I'm hoping to remove the need to do writebacks from the journal thread altogether, by always updating the metadata blocks *after* the I/O completes, instead of before we submit the I/O. - Ted