On Sun 13-09-15 16:15:09, Tejun Heo wrote: > __memcg_kmem_bypass() decides whether a kmem allocation should be > bypassed to the root memcg. Some conditions that it tests are valid > criteria regarding who should be held accountable; however, there are > a couple unnecessary tests for cold paths - __GFP_FAIL and > fatal_signal_pending(). > > The previous patch updated try_charge() to handle both __GFP_FAIL and > dying tasks correctly and the only thing these two tests are doing is > making accounting less accurate and sprinkling tests for cold path > conditions in the hot paths. There's nothing meaningful gained by > these extra tests. > > This patch removes the two unnecessary tests from > __memcg_kmem_bypass(). > > Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> Acked-by: Michal Hocko <mhocko@xxxxxxxx> > --- > include/linux/memcontrol.h | 14 -------------- > 1 file changed, 14 deletions(-) > > --- a/include/linux/memcontrol.h > +++ b/include/linux/memcontrol.h > @@ -780,24 +780,10 @@ static inline bool __memcg_kmem_bypass(g > { > if (!memcg_kmem_enabled()) > return true; > - > if (gfp & __GFP_NOACCOUNT) > return true; > - /* > - * __GFP_NOFAIL allocations will move on even if charging is not > - * possible. Therefore we don't even try, and have this allocation > - * unaccounted. We could in theory charge it forcibly, but we hope > - * those allocations are rare, and won't be worth the trouble. > - */ > - if (gfp & __GFP_NOFAIL) > - return true; > if (in_interrupt() || (!current->mm) || (current->flags & PF_KTHREAD)) > return true; > - > - /* If the test is dying, just let it go. */ > - if (unlikely(fatal_signal_pending(current))) > - return true; > - > return false; > } > -- Michal Hocko SUSE Labs -- 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>