Kde slow to suspend

Suspend works great in Manjaro KDE. It wakes up reliably and instantly when I press the power button on the laptop.

I also suspends reliably. The problem is it does this very slowly although predictably. It takes 10 minutes to suspend every time. At least I do not have to worry about it not working. But how do I speed up the suspend?

I saw one person fixed this with msr-tools. I tried that. No change. Ten minutes!

Any suggestions?

First thing is not to find the fix, but to find the problem. You can’t fix if you don’t know what’s wrong. So fire up every available logging mechanism (dmesg -w, journalctl -f, tail -f /var/log/Xorg.0.log, etc.) then suspend, watch those logs and see what they spit and analyze what’s holding behind.

Gotcha. Thanks.

journalctl -k produces a suspicious line:

[Firmware Bug]: Duplicate ACPI video bus devices for the same VGA controller, please try module parameter "video.allow_duplicates=1"if the current driver doesn’t work.

I see this is a common problem. Lots of questions on the internet. Not sure if it even relates to my question.

Is this a kernel switch for grub? How do I set:

video.allow_duplicates=1

I added it to grub as a kernel switch. Will see what happens.

I can see no change, neither in boot up or suspend behavior. I guess I will leave the kernel switch in place.

Related:

Looking at the journalctl -b log:
This seems to be where I click on suspend:

Apr 03 15:29:03 dougs-linux systemd[1]: Reached target Sleep.
Apr 03 15:29:03 dougs-linux systemd[1]: Starting Suspend…
Apr 03 15:29:03 dougs-linux systemd-sleep[6518]: Suspending system…
Apr 03 15:29:03 dougs-linux kernel: PM: suspend entry (deep)
Apr 03 15:29:03 dougs-linux wpa_supplicant[763]: nl80211: deinit ifname=wlan0 disabled_11b_rates=0
Apr 03 15:29:03 dougs-linux kernel: Filesystems sync: 0.045 seconds

Here is where there is a big time gap in suspend. The first entry showing after the next time in the log is the OOM killer disabled. Is this the problem? Notice the time difference. ???

Apr 03 15:41:00 dougs-linux kernel: OOM killer disabled.
Apr 03 15:41:00 dougs-linux kernel: Freezing remaining freezable tasks … (elapsed 0.001 seconds) done.
Apr 03 15:41:00 dougs-linux kernel: printk: Suspending console(s) (use no_console_suspend to debug)
Apr 03 15:41:00 dougs-linux kernel: queueing ieee80211 work while going to suspend
Apr 03 15:41:00 dougs-linux kernel: sd 5:0:0:0: [sdb] Synchronizing SCSI cache
Apr 03 15:41:00 dougs-linux kernel: sd 2:0:0:0: [sda] Synchronizing SCSI cache
Apr 03 15:41:00 dougs-linux kernel: sd 2:0:0:0: [sda] Stopping disk
Apr 03 15:41:00 dougs-linux kernel: perf: interrupt took too long (3972 > 3951), lowering kernel.perf_event_max_sample_rate to 50100
Apr 03 15:41:00 dougs-linux kernel: ACPI: Preparing to enter system sleep state S3
Apr 03 15:41:00 dougs-linux kernel: PM: Saving platform NVS memory
Apr 03 15:41:00 dougs-linux kernel: Disabling non-boot CPUs …
Apr 03 15:41:00 dougs-linux kernel: IRQ 29: no longer affine to CPU1
Apr 03 15:41:00 dougs-linux kernel: smpboot: CPU 1 is now offline

At this point I have pressed the power button to wake the computer up.

Apr 03 15:41:00 dougs-linux kernel: ACPI: Low-level resume complete
Apr 03 15:41:00 dougs-linux kernel: PM: Restoring platform NVS memory
Apr 03 15:41:00 dougs-linux kernel: Enabling non-boot CPUs …
Apr 03 15:41:00 dougs-linux kernel: x86: Booting SMP configuration:
Apr 03 15:41:00 dougs-linux kernel: smpboot: Booting Node 0 Processor 1 APIC 0x1
Apr 03 15:41:00 dougs-linux kernel: CPU1 is up
Apr 03 15:41:00 dougs-linux kernel: ACPI: Waking up from system sleep state S3