Re: [PATCH v2 4/8] mm/isolation: close the two race problems related to pageblock isolation
From: Joonsoo Kim <hidden>
Date: 2014-08-13 08:10:08
Also in:
lkml
On Tue, Aug 12, 2014 at 11:45:32AM +0200, Vlastimil Babka wrote:
On 08/12/2014 07:17 AM, Minchan Kim wrote:quoted
On Wed, Aug 06, 2014 at 04:18:33PM +0900, Joonsoo Kim wrote:quoted
One solution to this problem is checking pageblock migratetype with holding zone lock in __free_one_page() and I posted it before, but, it didn't get welcome since it needs the hook in zone lock critical section on freepath.I didn't review your v1 but IMHO, this patchset is rather complex.It is, but the complexity is in the isolation code, and not fast paths, so that's justifiable IMHO.quoted
Normally, we don't like adding more overhead in fast path but we did several time on hotplug/cma, esp so I don't know a few more thing is really hesitant.This actually undoes most of the overhead, so I'm all for it. Better than keep doing stuff the same way just because it was done previously.quoted
In addition, you proved by this patchset how this isolation code looks ugly and fragile for race problem so I vote adding more overhead in fast path if it can make code really simple.Well, I recommend you to check out the v1 then :) That wasn't really simple, that was even more hooks rechecking migratetypes at various places of the fast paths, when merging buddies etc. This is much better. The complexity is mostly in the isolation code, and the overhead happens only during isolation.
Hmm... Okay. I agree that this way is so complicated. In fact, the real save is just one is_migrate_isolate_page() check in free_pcppages_bulk() and this approach makes isolation process really complicated. I guess that I could improve v1 patchset. How about waiting my improved v1 and comparing v1' with v2? If v1 is implemented cleanly, it may be better than this. I want to try and compare. :) Thanks. -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@kvack.org. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>