From: "Vesa Jääskeläinen" <chaac@nic.fi>
To: The development of GRUB 2 <grub-devel@gnu.org>
Subject: Re: [RFC] Multi-terminal support (Re: [PATCH] terminal split)
Date: Sat, 29 Nov 2008 23:20:54 +0200 [thread overview]
Message-ID: <4931B236.5040804@nic.fi> (raw)
In-Reply-To: <20081128203800.GA13026@thorin>
Robert Millan wrote:
> On Tue, Nov 25, 2008 at 10:23:52PM +0100, Yoshinori K. Okuji wrote:
>>> I've been thinking... what if we make this generic? I.e. with an event
>>> loop, then terminals can register their poll functions to it, and write
>>> their stuff to a shared resource the rest of GRUB can read from.
>> For inputs, this is trivial for me. But, for outputs, not simple. For example,
>> although we don't support yet in GRUB 2, if we have a dumb terminal, the menu
>> interface must be very different from others.
>
> Aside from the problem with output ones, what to you think of the event loop
> idea? It can be useful exploit the parellelism in hardware initialisations.
> Currently GRUB can do silly things like:
>
> - wait for keyboard controller in grub_keyboard_controller_read() and in
> grub_keyboard_controller_write()
> - move on
> - wait for ATA disk in grub_atapi_read()
> - move on
> - wait for _user_ to stare at the menu and pick an option
> - move on
>
> which could be avoided this way (instead of waiting, each function would
> register a hook that will be repeatedly run untill it returns non-zero).
Well... I think better road would be co-operative multitasking. While
waiting for hardware to respond you could give time to other tasks to
handle their stuff. This would also make easier to write such tasks as
you do not have to think about complex event system. System you propose
can get quite complex to understand and maintain.
prev parent reply other threads:[~2008-11-29 21:21 UTC|newest]
Thread overview: 19+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-11-02 18:11 [PATCH] terminal split Robert Millan
2008-11-04 15:52 ` Yoshinori K. Okuji
2008-11-04 17:14 ` Robert Millan
2008-11-06 17:05 ` Yoshinori K. Okuji
2008-11-07 19:13 ` Robert Millan
2008-11-04 18:31 ` Vesa Jääskeläinen
2008-11-06 17:20 ` Yoshinori K. Okuji
2008-11-07 19:07 ` Robert Millan
2008-11-09 7:22 ` Yoshinori K. Okuji
2008-11-04 18:53 ` Vesa Jääskeläinen
2008-11-04 19:12 ` Robert Millan
2008-11-04 19:49 ` Colin D Bennett
2008-11-07 19:26 ` [RFC] Multi-terminal support (Re: [PATCH] terminal split) Robert Millan
2008-11-22 17:42 ` Yoshinori K. Okuji
2008-11-22 19:54 ` Robert Millan
2008-11-25 21:23 ` Yoshinori K. Okuji
2008-11-26 11:41 ` SPAM-LOW: " Amin Azez
2008-11-28 20:38 ` Robert Millan
2008-11-29 21:20 ` Vesa Jääskeläinen [this message]
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=4931B236.5040804@nic.fi \
--to=chaac@nic.fi \
--cc=grub-devel@gnu.org \
/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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.