From: Sascha Hauer <s.hauer@pengutronix.de>
To: "Daniel Glöckner" <dg@emlix.com>
Cc: Barebox List <barebox@lists.infradead.org>,
Edmund Henniges <eh@emlix.com>
Subject: Re: [PATCH 07/19] Introduce idle slice
Date: Mon, 25 May 2020 10:09:28 +0200 [thread overview]
Message-ID: <20200525080928.GP11869@pengutronix.de> (raw)
In-Reply-To: <901a205b-1e1e-bd23-0e35-88d9b9d88351@emlix.com>
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
barebox@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/barebox
next prev parent reply other threads:[~2020-05-25 8:09 UTC|newest]
Thread overview: 22+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-05-20 9:43 [PATCH 00/19] Slices and fastboot over UDP Sascha Hauer
2020-05-20 9:43 ` [PATCH 01/19] poller: Give pollers a name Sascha Hauer
2020-05-20 9:43 ` [PATCH 02/19] poller: Add a poller command Sascha Hauer
2020-05-20 9:43 ` [PATCH 03/19] fastboot: split generic code from USB gadget Sascha Hauer
2020-05-20 9:43 ` [PATCH 04/19] fastboot: don't close fd 0 when downloading to ram Sascha Hauer
2020-05-20 9:43 ` [PATCH 05/19] fastboot: Use unique tempfile name Sascha Hauer
2020-05-20 9:43 ` [PATCH 06/19] Introduce slices Sascha Hauer
2020-05-20 9:43 ` [PATCH 07/19] Introduce idle slice Sascha Hauer
2020-05-22 11:56 ` Daniel Glöckner
2020-05-25 8:09 ` Sascha Hauer [this message]
2020-05-20 9:43 ` [PATCH 08/19] net: Add a slice to struct eth_device Sascha Hauer
2020-05-20 9:43 ` [PATCH 09/19] net: mdiobus: Add slice Sascha Hauer
2020-05-20 9:43 ` [PATCH 10/19] usb: Add a slice to usb host controllers Sascha Hauer
2020-05-20 9:43 ` [PATCH 11/19] usbnet: Add slice Sascha Hauer
2020-05-20 9:43 ` [PATCH 12/19] net: Call net_poll() in a poller Sascha Hauer
2020-05-20 9:43 ` [PATCH 13/19] net: reply to ping requests Sascha Hauer
2020-05-20 9:43 ` [PATCH 14/19] usbnet: Be more friendly in the receive path Sascha Hauer
2020-05-20 9:43 ` [PATCH 15/19] poller: Allow to run pollers inside of pollers Sascha Hauer
2020-05-20 9:44 ` [PATCH 16/19] defconfigs: update renamed fastboot options Sascha Hauer
2020-05-20 9:44 ` [PATCH 17/19] fastboot: rename usbgadget.fastboot_* variables to fastboot.* Sascha Hauer
2020-05-20 9:44 ` [PATCH 18/19] fastboot net: implement fastboot over UDP Sascha Hauer
2020-05-20 9:44 ` [PATCH 19/19] fastboot net: remove may_send Sascha Hauer
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20200525080928.GP11869@pengutronix.de \
--to=s.hauer@pengutronix.de \
--cc=barebox@lists.infradead.org \
--cc=dg@emlix.com \
--cc=eh@emlix.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox