Messages in this thread | | | Subject | Re: [PATCH v2] sched, mm: Optimize current_gfp_context() | From | "Xu, Yanfei" <> | Date | Sat, 19 Sep 2020 22:55:28 +0800 |
| |
On 9/18/20 11:18 PM, Waiman Long wrote: > On 9/18/20 2:44 AM, Xu, Yanfei wrote: >> Hi Waiman, >> >> On 8/12/20 6:29 AM, Andrew Morton wrote: >>> On Thu, 18 Jun 2020 17:29:36 -0400 Waiman Long <longman@redhat.com> >>> wrote: >>> >>>> The current_gfp_context() converts a number of PF_MEMALLOC_* >>>> per-process >>>> flags into the corresponding GFP_* flags for memory allocation. In >>>> that function, current->flags is accessed 3 times. That may lead to >>>> duplicated access of the same memory location. >>>> >> I have a puzzle about this comment, what's the meaning about "That may >> lead to duplicated access of the same memory location". After using >> variable 'pflags', will it not duplicated access the same memory >> location? >> Looking forward to your reply :) > > That condition usually won't happen on a non-debug kernel. However, if > certain debugging capability is turned on, access to current will be > compiled into a bunch of checks and memory accesses. So if current is > used multiple times, the same set of codes will be duplicated the same > number of times slowing down the operation and increasing code size. By > accessing current once, we avoid this overhead in a debug kernel. > > Cheers, > Longman > Hah, got it. Thanks for your detailed explain!
cheers, Yanfei
| |