On Sun, Jan 7, 2018 at 3:33 AM, Thomas Gleixner <t...@linutronix.de> wrote: > On Sun, 7 Jan 2018, Jike Song wrote: > > Care to explain why you think this is not needed? >
Hi Thomas, Look at one of the original code snippets: 162 if (pgd_none(*pgd)) { 163 unsigned long new_p4d_page = __get_free_page(gfp); 164 if (!new_p4d_page) 165 return NULL; 166 167 if (pgd_none(*pgd)) { 168 set_pgd(pgd, __pgd(_KERNPG_TABLE | __pa(new_p4d_page))); 169 new_p4d_page = 0; 170 } 171 if (new_p4d_page) 172 free_page(new_p4d_page); 173 } Correct me if I'm too dumb to see the rationale here, but to me there can't be any difference between two pgd_none(*pgd) of L162 and L167, so it is always false in L171. > Thanks, > > tglx -- Thanks, Jike