All of lore.kernel.org
 help / color / mirror / Atom feed
* [LTP] [PATCH 0/1] overcommit_memory: Remove unstable subtest
@ 2020-11-16 13:09 Joerg Vehlow
  2020-11-16 13:09 ` [LTP] [PATCH] " Joerg Vehlow
  2020-11-17  9:28 ` [LTP] [PATCH 0/1] " Richard Palethorpe
  0 siblings, 2 replies; 8+ messages in thread
From: Joerg Vehlow @ 2020-11-16 13:09 UTC (permalink / raw)
  To: ltp


Hi,

this is something like an RFC. (I think I mixed my thoughts
between this and the patch description. Maybe read the patch
description first).
I found the overcommit_memory test, that tries to allocate
all alocatable memory for overcommit policy never, failed 
a lot and a lot more often, if the system has more memory.
When looking at the kernel source I found the reason: 
The percpu counter that counts the used memory uses a 
counter for every cpu, if the allocation or deallocations 
are very small. The more memory the system has, 
the bigger "small" is defined. See mm_compute_batch.

I started seeing this issue a lot after upgrading to 20200930
comming from 20190115. Some changes in the framework may have
led to this.

I don't think this is a kernel bug, but a result from switching
between overcommit modes. In overcommit mode never, the batch
size is a lot smaller than in the other modes
(ram_pages/cpus/256 instead of ra,_pages/cpus/4).
This leads to allocations done before switching the mode to be
accounted in the per cpu counters, and deallocated after in the
global counter, making the global counter negative. If the
overcommit mode was the same all the time, it should all have
been accounted in the same counters and the global counter
wouldn't be negative.

J?rg


^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2020-11-18  7:54 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2020-11-16 13:09 [LTP] [PATCH 0/1] overcommit_memory: Remove unstable subtest Joerg Vehlow
2020-11-16 13:09 ` [LTP] [PATCH] " Joerg Vehlow
2020-11-17  9:28 ` [LTP] [PATCH 0/1] " Richard Palethorpe
2020-11-17 10:06   ` Joerg Vehlow
2020-11-17 11:03     ` Richard Palethorpe
2020-11-17 11:48       ` Joerg Vehlow
2020-11-17 12:45         ` Richard Palethorpe
2020-11-18  7:54           ` Joerg Vehlow

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.