Re: [PATCH 19/19] poller: Allow to run pollers inside of pollers

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hello Sascha,

Am 03/16/20 um 09:04 schrieb Sascha Hauer:
> On Thu, Mar 12, 2020 at 11:36:15PM +0100, Daniel Glöckner wrote:
>> On Thu, Mar 12, 2020 at 09:35:55AM +0100, Sascha Hauer wrote:
>>> This adds a slice to each poller which is acquired before the poller is
>>> executed. This allows us to run pollers inside of other pollers.
>>
>> ok, so in the UDP fastboot case there is now a poller that receives
>> packets and a poller that executes commands and needs packets to
>> be received to send more than one message. How do I make sure that
>> the fastboot poller will never be called inside the net poller since
>> that would cause a deadlock?
[...]
> I wonder if we need some idle slice, a slice that is locked once we are
> outside of some idle loop (shell is waiting for input). In the end the
> fastboot code may only call long running commands when the idle slice is
> not locked.

RATP has a similar requirement and tries to fulfill it by calling
barebox_ratp_command_run from within readline. I would also like to be
able to run fastboot commands during console_countdown (fb_run_command
already calls console_countdown_abort).

So how about calling slice_add and the initial slice_acquire for the idle
slice within a pure_initcall and then temporarily dropping the acquired
count inside readline and console_countdown? It should also be temporarily
increased inside poller_call (after checking the poller's slice),
execute_command, and binfmt_run in case someone wants to use the readline
or timeout commands in code called from there.

Btw., what are your plans for merging this patch set?

Best regards,

  Daniel


-- 
Dipl.-Math. Daniel Glöckner, emlix GmbH, http://www.emlix.com
Fon +49 551 30664-0, Fax +49 551 30664-11,
Gothaer Platz 3, 37083 Göttingen, Germany
Sitz der Gesellschaft: Göttingen, Amtsgericht Göttingen HR B 3160
Geschäftsführung: Heike Jordan, Dr. Uwe Kracke
Ust-IdNr.: DE 205 198 055

emlix - your embedded linux partner

_______________________________________________
barebox mailing list
barebox@xxxxxxxxxxxxxxxxxxx
http://lists.infradead.org/mailman/listinfo/barebox




[Index of Archives]     [Linux Embedded]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [XFree86]

  Powered by Linux