Subject: Re: mmotm 2019-07-24-21-39 uploaded (mm/memcontrol)

From: Andrew Morton <[email-masked]>
Date: Thu, 25 Jul 2019 16:39:59 -0700

On Thu, 25 Jul 2019 15:02:59 -0700 Randy Dunlap <[email-masked]> wrote:

> On 7/24/19 9:40 PM, [email-masked] 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?

--- 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);
 
_