Closed jeff-snyder closed 1 year ago
I'm guessing its something introduced by the recent work on USLEEP().
It absolutely was something introduced by the recent work on USLEEP(), and is nothing to worry about. It just tells us we should probably increase our current default NANOSLEEP_EINTR_RETRY_WARNING_TRESHOLD
from its current default value of '6', to, say, maybe, 16?, which should eliminate the warning message.
The only purpose of the warning message is to alert us to a possible problem with nanosleep
wherein it is for unknown reasons constantly being interrupted. The idea is, a few interrupts here and there are fine and probably normal and nothing to worry about. But constant interruptions could be a problem however. It's hard to say.
If we never issued any warning message at all, then we'd never know whether it was getting interrupted or not and how frequently it was. Thus we keep track of how often it's interrupted on each call until the call eventually completes, and then issue the warning if the number of interrupts was "more than we expected and therefore a sign of a potential problem".
If you want to try fixing it yourself, change the NANOSLEEP_EINTR_RETRY_WARNING_TRESHOLD
value in source file hscutl.h
to, say, 16, and then rebuild your Hercules.*`()`**
*`()** _I'm only suggesting 16 because your Hercules log shows the message being issued with a reported
EINTR retrys count=` value of 12 in one spot and 14 in another. Thus I'm hoping that for you, 16 might be good value to silence the warning or reduce its frequency. If the warning is still issued "too frequently" for your liking, you can then increase it a bit more until the message is either no longer issued or only occasionally issued._
I'm closing this issue and marking it as "WON'T FIX" only because technically there is nothing broken. There is technically no "bug" per se to be fixed.
We may need to adjust our existing NANOSLEEP_EINTR_RETRY_WARNING_TRESHOLD
value, but that's not so much a "bug" fix as it is a new still-under-development "tweak".
Jeff: (@jeff-snyder)
Have you had a chance to try setting the NANOSLEEP_EINTR_RETRY_WARNING_TRESHOLD
to 16 yet? Did that help reduce the number of HHC00092W warning messages down to an acceptable level for you? If so, I would like to make that a permanent change to Hercules. But I don't want to do that if it doesn't help. Does it (did it) help any? Thanks.
Sorry, I thought this was closed, I didn't realize you were waiting on something from me.
I applied the change (updated the threshold from 6 to 16) and the messages are gone.
I applied the change (updated the threshold from 6 to 16) and the messages are gone.
Good enough! Thanks! I'll make the change to Hercules.
Hi,
When I run the latest development commit of Hercules (Hercules version 4.7.0.11015-SDL-DEV-g040abe0f) on my Pi model 2, I get the following message when using CTCE devices:
HHC00092W Warning in function USLEEP() at ctcadpt.c(3635): rc=0, EINTR retrys count=12
The CTCEs seem to work fine. The system "seems" slow, but I don't normally interact directly with the Pi 2 (it's my VTAM/NJE hub, print server and DASD sharing host), so I can't say definitively that its not just the fact that this is running on a Pi 2 vs. my other Pi model 4s.
The included configuration is in support of a VM/ESA 2.4.0 guest, however the guest OS was never IPLed during this run.
My OS is (from
/etc/os-release
):This was not happening in my previous build of Hercules, which was 4.6/master from 2023/03/04. I'm guessing its something introduced by the recent work on USLEEP().