2016-03-03 1:44 GMT+09:00 Vlastimil Babka <vbabka@xxxxxxx>: > On 02/26/2016 01:58 AM, js1304@xxxxxxxxx wrote: >> >> From: Joonsoo Kim <iamjoonsoo.kim@xxxxxxx> >> >> Success of CMA allocation largely depends on success of migration >> and key factor of it is page reference count. Until now, page reference >> is manipulated by direct calling atomic functions so we cannot follow up >> who and where manipulate it. Then, it is hard to find actual reason >> of CMA allocation failure. CMA allocation should be guaranteed to succeed >> so finding offending place is really important. >> >> In this patch, call sites where page reference is manipulated are >> converted >> to introduced wrapper function. This is preparation step to add tracepoint >> to each page reference manipulation function. With this facility, we can >> easily find reason of CMA allocation failure. There is no functional >> change >> in this patch. >> >> In addition, this patch also converts reference read sites. It will help >> a second step that renames page._count to something else and prevents >> later >> attempt to direct access to it (Suggested by Andrew). >> >> Acked-by: Michal Nazarewicz <mina86@xxxxxxxxxx> >> Signed-off-by: Joonsoo Kim <iamjoonsoo.kim@xxxxxxx> > > > Even without Patch 2/2 this is a nice improvement. > Acked-by: Vlastimil Babka <vbabka@xxxxxxx> > > Although somebody might be confused by page_ref_count() vs page_count(). Oh > well. Yes... it was pointed by Kirill before but consistency is not the purpose of this patchset so I skipped it. There are too many sites (roughly 100) so I'm not sure this code churn is worth doing now. If someone think it is really important, I will handle it after rc2. 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>