On Fri, May 22, 2020 at 01:56:33PM +0200, Daniel Glöckner wrote:
> Hello Sascha,
>
> Am 20.05.20 um 11:43 schrieb Sascha Hauer:
> > diff --git a/common/console_countdown.c b/common/console_countdown.c
> > index 74dc382795..c69029dc0e 100644
> > --- a/common/console_countdown.c
> > +++ b/common/console_countdown.c
> > @@ -19,6 +19,7 @@
> > #include <errno.h>
> > #include <console_countdown.h>
> > #include <stdio.h>
> > +#include <slice.h>
> >
> > static bool console_countdown_timeout_abort;
> >
>
> with your changes we no longer need that include in here.
>
> > diff --git a/common/hush.c b/common/hush.c
> > index c24b2c7cd2..61424d98e7 100644
> > --- a/common/hush.c
> > +++ b/common/hush.c
> > @@ -460,7 +460,12 @@ static void get_user_input(struct in_str *i)
> > else
> > prompt = CONFIG_PROMPT_HUSH_PS2;
> >
> > + idle_slice_release();
> > +
> > n = readline(prompt, console_buffer, CONFIG_CBSIZE);
> > +
> > + idle_slice_acquire();
> > +
> > if (n == -1 ) {
> > i->interrupt = 1;
> > n = 0;
>
> Ok, you moved the release/acquire from readline and console_countdown to
> get_user_input and do_autoboot_countdown. That is actually more strict
> than what I had in mind and avoids having to acquire/release in binfmt_run
> and execute_command.
>
> But I'm not so happy about the removal of the acquire/release in poller.c.
> Now the fastboot poller might be run from within another poller and neither
> do we know which resources that other poller uses nor do we know which
> resources the commands need that we are told over to execute in our poller.
Ok, what you mean here is:
- idle_slice is released
- poller_call() calls some unrelated poller
- this unrelated poller triggers execution of poller_call() again
- poller_call() then triggers pollers which depend on the idle_slice
In this situation we end with pollers depending on the idle_slice to be
executed inside of pollers. Yes, we don't want that, so let's add
acquiring the idle_slice before calling into poller functions back. I
hadn't thought about this situation.
I fixed the other things you mentioned as well.
Sascha
--
Pengutronix e.K. | |
Steuerwalder Str. 21 | http://www.pengutronix.de/ |
31137 Hildesheim, Germany | Phone: +49-5121-206917-0 |
Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 |
_______________________________________________
barebox mailing list
[email protected]
http://lists.infradead.org/mailman/listinfo/barebox