Hi Johannes, hi Patric,

On 22.01.22 12:25, Johannes Demel wrote:

The `forecast` method expects estimates. The scheduler will call `general_work` anyways at some point, if the system is unable to fulfill your forecast requirement.

No, that is not correct; at least in the 3.8-style scheduler you can deadlock the whole flowgraph by letting the forecast method tell the scheduling algorithm that it needs more input to produce the minimum possible number of output (==1 or output_multiple) than the input could ever offer.

The mechanism is that the scheduler asks forecast what it needs to produce the largest amount of output that the output buffer can deal with, then it halves the amount until it hits the minimum number. If none of these requests yield a fulfillable input requirement, the block is permanently input-blocked.

Best regards,
Marcus

Reply via email to