2020년 7월 21일 (화) 오후 9:43, Matthew Wilcox <willy@xxxxxxxxxxxxx>님이 작성: > > On Tue, Jul 21, 2020 at 02:38:56PM +0200, Vlastimil Babka wrote: > > On 7/21/20 2:05 PM, Matthew Wilcox wrote: > > > On Tue, Jul 21, 2020 at 12:28:49PM +0900, js1304@xxxxxxxxx wrote: > > >> @@ -4619,8 +4631,10 @@ __alloc_pages_slowpath(gfp_t gfp_mask, unsigned int order, > > >> wake_all_kswapds(order, gfp_mask, ac); > > >> > > >> reserve_flags = __gfp_pfmemalloc_flags(gfp_mask); > > >> - if (reserve_flags) > > >> + if (reserve_flags) { > > >> alloc_flags = reserve_flags; > > >> + alloc_flags = current_alloc_flags(gfp_mask, alloc_flags); > > >> + } > > > > > > Is this right? Shouldn't you be passing reserve_flags to > > > current_alloc_flags() here? Also, there's no need to add { } here. > > > > Note the "alloc_flags = reserve_flags;" line is not being deleted here. But if > > it was, your points would be true, and yeah it would be a bit more tidy. > > Oh ... I should wake up a little more. > > Yeah, I'd recommend just doing this: > > - alloc_flags = reserve_flags; > + alloc_flags = current_alloc_flags(gfp_mask, reserve_flags); Okay. I will change it. Just note that the reason that I added it separately is that I think that separation is more readable since we can easily notice that alloc_flags is changed to reserve_flags without inspecting currect_alloc_flags() function. Thanks.