On 7/25/19 4:39 PM, Andrew Morton wrote: > On Thu, 25 Jul 2019 15:02:59 -0700 Randy Dunlap <rdunlap@xxxxxxxxxxxxx> wrote: > >> On 7/24/19 9:40 PM, akpm@xxxxxxxxxxxxxxxxxxxx wrote: >>> The mm-of-the-moment snapshot 2019-07-24-21-39 has been uploaded to >>> >>> http://www.ozlabs.org/~akpm/mmotm/ >>> >>> mmotm-readme.txt says >>> >>> README for mm-of-the-moment: >>> >>> http://www.ozlabs.org/~akpm/mmotm/ >>> >>> This is a snapshot of my -mm patch queue. Uploaded at random hopefully >>> more than once a week. >>> >>> You will need quilt to apply these patches to the latest Linus release (5.x >>> or 5.x-rcY). The series file is in broken-out.tar.gz and is duplicated in >>> http://ozlabs.org/~akpm/mmotm/series >>> >> >> on i386: >> >> ld: mm/memcontrol.o: in function `mem_cgroup_handle_over_high': >> memcontrol.c:(.text+0x6235): undefined reference to `__udivdi3' > > Thanks. This? Yes, that works. Thanks. Acked-by: Randy Dunlap <rdunlap@xxxxxxxxxxxxx> > --- a/mm/memcontrol.c~mm-throttle-allocators-when-failing-reclaim-over-memoryhigh-fix-fix > +++ a/mm/memcontrol.c > @@ -2414,8 +2414,9 @@ void mem_cgroup_handle_over_high(void) > */ > clamped_high = max(high, 1UL); > > - overage = ((u64)(usage - high) << MEMCG_DELAY_PRECISION_SHIFT) > - / clamped_high; > + overage = (u64)(usage - high) << MEMCG_DELAY_PRECISION_SHIFT; > + do_div(overage, clamped_high); > + > penalty_jiffies = ((u64)overage * overage * HZ) > >> (MEMCG_DELAY_PRECISION_SHIFT + MEMCG_DELAY_SCALING_SHIFT); > > _ > -- ~Randy