On Tue, Aug 12, 2014 at 11:45:32AM +0200, Vlastimil Babka wrote: > On 08/12/2014 07:17 AM, Minchan Kim wrote: > >On Wed, Aug 06, 2014 at 04:18:33PM +0900, Joonsoo Kim wrote: > >> > >>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. > > >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. > > >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@xxxxxxxxx. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: <a href=mailto:"dont@xxxxxxxxx"> email@xxxxxxxxx </a>