Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
SUSE:SLE-15-SP7:GA
xen.23271
6013e4bd-memory-bail-from-page-scrub-when-CPU-o...
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File 6013e4bd-memory-bail-from-page-scrub-when-CPU-offline.patch of Package xen.23271
# Commit 3c9fd69416f8ffc611705fb24dfb383203ddc84f # Date 2021-01-29 11:34:37 +0100 # Author Jan Beulich <jbeulich@suse.com> # Committer Jan Beulich <jbeulich@suse.com> memory: bail from page scrubbing when CPU is no longer online Scrubbing can significantly delay the offlining (parking) of a CPU (e.g. because of booting into in smt=0 mode), to a degree that the "CPU <n> still not dead..." messages logged on x86 in 1s intervals can be seen multiple times. There are no softirqs involved in this process, so extend the existing preemption check in the scrubbing logic to also exit when the CPU is no longer observed online. Signed-off-by: Jan Beulich <jbeulich@suse.com> Acked-by: Andrew Cooper <andrew.cooper3@citrix.com> --- a/xen/common/page_alloc.c +++ b/xen/common/page_alloc.c @@ -1332,9 +1332,11 @@ bool scrub_free_pages(void) * Scrub a few (8) pages before becoming eligible for * preemption. But also count non-scrubbing loop iterations * so that we don't get stuck here with an almost clean - * heap. + * heap. Consider the CPU no longer being seen as online as + * a request to preempt immediately, to not unduly delay + * its offlining. */ - if ( cnt > 800 && softirq_pending(cpu) ) + if ( !cpu_online(cpu) || (cnt > 800 && softirq_pending(cpu)) ) { preempt = true; break;
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor