When a z/Arch hypervisor dedicates a processor to a guest and WAITSTATE Assist is enabled (via FEATURE_WAITSTATE_ASSIST in feats390.h and/or feat900.h), an error occurs in "sie.c" at line 1081 with rc=22 (EINVAL) (as of a304ff072e063ea309840feb4ba0fac8177b0aa7) on wait_timed_condition() (mapping to pthread_cond_timedwait() on POSIX systems).
This leads to the call to always wait for the timeout to occur (regardless of any interrupt) when a SIE guest enters a wait state and the processor is dedicated to the guest - and hence severly reduced performances.
Disabling the feature in feat390.h and feat900.h elaviates the issue (but forces the hypervisor to resolve guest wait states for dedicated processors when it shouldn't be necessary).
I am therefore commiting patch that disables the broken feature until it is corrected.
When a z/Arch hypervisor dedicates a processor to a guest and WAITSTATE Assist is enabled (via FEATURE_WAITSTATE_ASSIST in feats390.h and/or feat900.h), an error occurs in "sie.c" at line 1081 with rc=22 (EINVAL) (as of a304ff072e063ea309840feb4ba0fac8177b0aa7) on wait_timed_condition() (mapping to pthread_cond_timedwait() on POSIX systems).
This leads to the call to always wait for the timeout to occur (regardless of any interrupt) when a SIE guest enters a wait state and the processor is dedicated to the guest - and hence severly reduced performances.
Disabling the feature in feat390.h and feat900.h elaviates the issue (but forces the hypervisor to resolve guest wait states for dedicated processors when it shouldn't be necessary).
I am therefore commiting patch that disables the broken feature until it is corrected.