On Tue 10-05-11 23:05:41, OGAWA Hirofumi wrote: > OGAWA Hirofumi <hirofumi@xxxxxxxxxxxxxxxxxx> writes: > > > Jan Kara <jack@xxxxxxx> writes: > > > >>> I see. So many block layer stuff sounds like broken on corner case? If > >>> so, I more feel this approach should be temporary workaround, and should > >>> use another less-blocking approach. > >> Not many but some... The alternative to less blocking approach is to do > >> copy-out before a page is submitted for IO (or various middle ground > >> alternatives of doing sometimes copyout, sometimes blocking...). That costs > >> some performance as well. We talked about it at LSF and the approach > >> Darrick is implementing was considered the least intrusive. There's really > >> no way to fix these corner cases and keep performance. > > > > You already considered, to copy only if page was writeback (like > > copy-on-write). I.e. if page is on I/O, copy, then switch the page for > > writing new data. > > missed question mark in here. > > Did you already consider, to copy only if page was writeback (like > copy-on-write)? I.e. if page is on I/O, copy, then switch the page for > writing new data. Yes, that was considered as well. We'd have to essentially migrate the page that is under writeback and should be written to. You are going to pay the cost of page allocation, copy, increased memory & cache pressure. Depending on your backing storage and workload this may or may not be better than waiting for IO... Honza -- Jan Kara <jack@xxxxxxx> SUSE Labs, CR -- To unsubscribe from this list: send the line "unsubscribe linux-scsi" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html