How to configure CPU pinning without use of `isolcpus` kernel cmdline parameter in Red Hat OpenStack Platform

Solution In Progress - Updated -

Issue

For virtualization hosts it is common to want to confine host operating system processes to a subset of available CPU/RAM resources, leaving the rest available for exclusive use by virtual guests. Historically the most common way to do this has been using the isolcpus kernel argument. However, the semantics of this argument recently changed. Now, it is primarily intended for use with real-time guests. A side effect of this on recent kernels is that any CPUs listed in isolcpus are also excluded from load balancing by the kernel scheduler, including any QEMU threads associated with virtual guests that are running on them. For non-real-time guests it is typically preferable that the QEMU threads are in fact load balanced across CPUs which is at odds with this approach to CPU isolation.

Environment

Red Hat Enterprise Linux OpenStack Platform 7
Red Hat OpenStack Platform 8
Red Hat OpenStack Platform 9
Red Hat OpenStack Platform 10

Subscriber exclusive content

A Red Hat subscription provides unlimited access to our knowledgebase of over 48,000 articles and solutions.

Current Customers and Partners

Log in for full access

Log In