On (08/02/18 14:13), Andrew Morton wrote: [..] > That changelog is rather hard to follow. Please review my edits: > > : If zram supports writeback feature, it's no longer a BD_CAP_SYNCHRONOUS_IO ^BDI_CAP_SYNCHRONOUS_IO [..] > A reader looking at this would wonder "why the heck are we doing that". > Adding a code comment would help them. The interesting thing here is that include/linux/backing-dev.h BDI_CAP_SYNCHRONOUS_IO comment says "Device is so fast that asynchronous IO would be inefficient." Which is not the reason why BDI_CAP_SYNCHRONOUS_IO is used by ZRAM. Probably, the comment needs to be updated as well. Both SWP_SYNCHRONOUS_IO and BDI_CAP_SYNCHRONOUS_IO tend to pivot "efficiency" [looking at the comments], but in ZRAM's case the whole reason to use SYNC IO is a race condition and user-after-free that follows. -ss