<div id="__MailbirdStyleContent" style="font-size: 10pt;font-family: Arial;color: #000000;text-align: left" dir="ltr">
                                        > <span style="font-family: Arial, Helvetica, sans-serif;font-size: 13px"> looking at the valueUnpreemptively</span><br style="font-family: Arial, Helvetica, sans-serif;font-size: 13px"><span style="font-family: Arial, Helvetica, sans-serif;font-size: 13px">> method the Processor yield was meant to let the same priority preempted</span><br style="font-family: Arial, Helvetica, sans-serif;font-size: 13px"><span style="font-family: Arial, Helvetica, sans-serif;font-size: 13px">> processes a chance to run</span><div><span style="font-family: Arial, Helvetica, sans-serif;font-size: 13px"><br></span></div><div><span style="font-family: Arial, Helvetica, sans-serif"><span style="font-size: 13px">Not quite. If you are at 40 and get boosted up to 80, there can be preempted processes at any other priority in between. I would expect that "Processor yield" accounts for that. Other processes running at 40 do not matter because we have cooperative schedulding at each priority.</span></span></div><div><span style="font-family: Arial, Helvetica, sans-serif"><span style="font-size: 13px"><br></span></span></div><div><span style="font-family: Arial, Helvetica, sans-serif"><span style="font-size: 13px">Best,</span></span></div><div><span style="font-family: Arial, Helvetica, sans-serif"><span style="font-size: 13px">Marcel</span></span></div><div class="mb_sig"></div>
                                        <blockquote class="history_container" type="cite" style="border-left-style: solid;border-width: 1px;margin-top: 20px;margin-left: 0px;padding-left: 10px;min-width: 500px">
                        <p style="color: #AAAAAA; margin-top: 10px;">Am 02.02.2021 15:18:15 schrieb jaromir <m@jaromir.net>:</p><div style="font-family:Arial,Helvetica,sans-serif">> Not sure whether this is "by design" or actually a bug... most of the time,<br>you would not need "Processor yield" to also look for interrupts. There are<br>typically enough other suspension points. Hmmmm...<br><br>Aaah, I guess I know what you mean - looking at the valueUnpreemptively<br>method the Processor yield was meant to let the same priority preempted<br>processes a chance to run but here we have a higher priority process<br>scheduled and yield doesn't look there. And when you change `activeProcess<br>priority: oldPriority` just like this there's a higher priority process<br>scheduled while a lower priority process running! Funny, I thought that<br>can't happen :D<br><br>valueUnpreemptively<br> | activeProcess oldPriority result |<br>  activeProcess := Processor activeProcess.<br>     oldPriority := activeProcess priority.<br>        activeProcess priority: Processor highestPriority.<br>    result := self ensure: [activeProcess priority: oldPriority].<br> "Yield after restoring priority to give the preempted processes a chance to<br>run"<br>   Processor yield.   "<-- replace by:<br>   [activeProcess resume] fork.<br>  activeProcess suspend."<br>  ^result<br><br>I wanted to suggest replacing the yield as above but it may be a more<br>general issue...<br><br>J<br><br><br><br>--<br>Sent from: http://forum.world.st/Squeak-Dev-f45488.html<br><br></div></blockquote></div>