On 07/15/2014 12:28 PM, Hugh Dickins wrote:
In the end I decided that we had better look at it as two problems, the trinity faulting starvation, and the indefinite punching loop, so 1/2 and 2/2 present both solutions: belt and braces.
I tested that with my reproducer and it was OK, but as I already said, it's not trinity so I didn't observe the new problems in the first place.
Which may be the best for fixing, but the worst for ease of backporting. Vlastimil, I have prepared (and lightly tested) a 3.2.61-based version of the combination of f00cdc6df7d7 and 1/2 and 2/2 (basically, I moved vmtruncate_range from mm/truncate.c to mm/shmem.c, since nothing but shmem ever implemented the truncate_range method). It should give a
I don't know how much stable kernel updates are supposed to care about out-of-tree modules, but doesn't the change mean that an out-of-tree FS supporting truncate_range (if such thing exists) would effectively stop supporting madvise(MADV_REMOVE) after this change? But hey it's still madvise so maybe we don't need to care. And I suppose kernels where FALLOC_FL_PUNCH_HOLE is supported, can be backported normally.
good hint for backports earlier and later: I'll send it privately to you now, but keep in mind that it may need to be revised if today's patches for 3.16 get revised again (I'll send it to Ben Hutchings only when that's settled). Thanks, Hugh
-- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@xxxxxxxxx. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: <a href=mailto:"dont@xxxxxxxxx"> email@xxxxxxxxx </a>