Should Fedora switch to full kernel preemption (CONFIG_PREEMPT=y)?

42 views
Skip to first unread message

Demi Marie Obenour

unread,
May 20, 2023, 4:43:35 PM5/20/23
to Development discussions related to Fedora, Qubes Developer Mailing List, Marek Marczykowski-Górecki
I noticed that by default, Qubes OS has voluntary kernel preemption
as opposed to full preemption. I found that enabling full preemption
(preempt=full on kernel command line) makes the system significantly
more responsive under heavy I/O load. In particular, if I build a
kernel in a Qubes OS VM, it significantly degrades responsiveness
without preempt=full. With preempt=full, the system remains
responsive. The storage stack used is LVM thin provisioning on LUKS,
and I have observed significant CPU usage in dom0 kernel threads with
names that indicate they are related to dm-thin and dm-crypt.

The kernel config used by the Qubes kernel package I use (6.1.28) is
based on Fedora 37’s config, and Marek Marczykowski-Górecki (CCd)
indicated that the same arguments apply to Fedora. Therefore, I am
asking if Fedora should use full kernel preemption by default.
--
Sincerely,
Demi Marie Obenour (she/her/hers)
OpenPGP_0xB288B55FFF9C22C1.asc
OpenPGP_signature

Demi Marie Obenour

unread,
May 24, 2023, 7:47:30 PM5/24/23
to Zdenek Kabelac, Development discussions related to Fedora, Qubes Developer Mailing List
On 5/24/23 08:44, Zdenek Kabelac wrote:
> Dne 20. 05. 23 v 22:43 Demi Marie Obenour napsal(a):
> Hi Demi
>
>
> Could you please provide   'dmsetup table'   - so we could see how doe your
> device stack looks like ?

The output of 'dmsetup table' contains all qube names so I would prefer to not
post it publicly. The device stack is NVMe -> crypt -> linear -> thin pool -> thin.

> Aren't you disabling work-queues on the table line for crypt targets ?

The only optional parameter passed to dm_crypt is allow_discards,
so presumably no.
OpenPGP_0xB288B55FFF9C22C1.asc
OpenPGP_signature
Reply all
Reply to author
Forward
0 new messages