On Sat, Oct 19, 2019 at 12:10 AM Dave Hansen <dave.hansen@xxxxxxxxx> wrote: > > On 10/18/19 1:11 AM, Suleiman Souhlal wrote: > > Another issue we ran into, that I think might also apply to this patch > > series, is that because kernel memory can't be allocated on persistent > > memory, it's possible for all of DRAM to get filled by user memory and > > have kernel allocations fail even though there is still a lot of free > > persistent memory. This is easy to trigger, just start an application > > that is bigger than DRAM. > > Why doesn't this happen on everyone's laptops where DRAM is contended > between userspace and kernel allocations? Does the OOM killer trigger > fast enough to save us? Well in this case, there is plenty of free persistent memory on the machine, but not any free DRAM to allocate kernel memory. In the situation I'm describing, we end up OOMing when we, in my opinion, shouldn't. > > To mitigate that, we introduced a new watermark for DRAM zones above > > which user memory can't be allocated, to leave some space for kernel > > allocations. > > I'd be curious why the existing users of ZONE_MOVABLE don't have to do > this? Are there just no users of ZONE_MOVABLE? That's an excellent question for which I don't currently have an answer. I haven't had the chance to test your patch series, and it's possible that it doesn't suffer from the issue. -- Suleiman