[DGD] Rewriting the main loop

Raymond Jennings shentino at gmail.com
Thu Nov 29 17:59:33 CET 2018


On Thu, Nov 29, 2018 at 3:23 AM Felix A. Croes <felix at dworkin.nl> wrote:

> Raymond Jennings <shentino at gmail.com> wrote:
>
> > Could you elaborate please?
>
> A simple continuation, where a task loops by starting itself with
> a 0 second callout, could prevent swapout indefinitely.
>

A quota on "callout usage" that works like "tick usage" could put the
kibosh on this in a...

...heartbeat.

Furthermore, your priorities are incorrect.


I respectfully disagree, but your opinion is valuable nonetheless.

For LPC code to take advantage of the acceleration offered by Hydra,
>
tasks have to be broken up into subtasks which each affect only a few
> objects.  So a command received by a user will not be handled by a
> single task, but by a multitude of small tasks, each of which starts
> the next task with a callout.  For each user command, there will be on
> average N callouts.
>

I've decided to forgo the benefits of Hydra until such time, if any, as
this feature merges with DGD, but it is an important point to bring up in
general so thank you for that.


> That is not going to work when user input has higher priority than
> callouts.  It can prevent progress even when starvation of callouts
> by user input is not total.
>

This part is new.

How is it even possible?  Unless my mud is getting flooded with an I/O
storm (possibly from a denial of service attack), won't all the callouts
get fired eventually?

I didn't mess with the immediate vs running bit in co_call.

Regards,
> Felix Croes
> ____________________________________________
> https://mail.dworkin.nl/mailman/listinfo/dgd



More information about the DGD mailing list