On Tue, Jan 7, 2020 at 8:09 AM Aleksandra Fedorova <alpha@bookwar.info> wrote:
UX before: system works, I run heavy application, system starts to hang, i understand that there is an issue, i can kill the app or reboot, which gives me clean and working system.

UX after: system works, no visible problems. Suddenly random app disappears, no errors or crashes reported to me. It might be that my active app is killed, then I know that smth happened, but what if background process is killed? Maybe my messenger app? 

Or actually:

UX before: system works, I run a heavy application, system starts to hang, I can't even move my mouse, the application doesn't respond to Alt+F4, I wait patiently for a few minutes then give up and hard-reboot

UX after: system works, I run a heavy application, system starts to hang, I can't even move my mouse, the application doesn't respond to Alt+F4, I wait patiently for a few minutes then the application disappears and I have a functional system again

In your example you forget that swap needs to filled almost to full for early-oom to start reacting. That takes time during which the system responsibility is abysmal. The UX difference happens only after you've already suffered through a serious responsivity degradation, and the only difference is the end state, *if* you've managed to wait long enough for early-oom to kick in (which happens earlier than kernel oom and with better results about which process gets killed, according to Chris).