Account Options

  1. Sign in
Google Groups Home
« Groups Home
OLS and console rearchitecture
There are currently too many topics in this group that display first. To make this topic appear first, remove this option from another topic.
There was an error processing your request. Please try again.
flag
  12 messages - Collapse all  -  Translate all to Translated (View all originals)
The group you are posting to is a Usenet group. Messages posted to this group will make your email address visible to anyone on the Internet.
Your reply message has not been sent.
Your post was successful
 
From:
To:
Cc:
Followup To:
Add Cc | Add Followup-to | Edit Subject
Subject:
Validation:
For verification purposes please type the characters you see in the picture below or the numbers you hear by clicking the accessibility icon. Listen and type the numbers you hear
 
Jon Smirl  
View profile  
 More options Aug 2 2004, 10:30 am
Newsgroups: linux.kernel
From: Jon Smirl <jonsm...@yahoo.com>
Date: Mon, 02 Aug 2004 16:30:10 +0200
Local: Mon, Aug 2 2004 10:30 am
Subject: OLS and console rearchitecture
After talking to many people at OLS this seems to be the consensus for
rearchitecting fbdev/DRM. It has been proposed that this design be a
five year goal and there is still disagreement about the exact path to
get there.

This is a first pass for lkml people. I will incorporate comments and
repost for the final pass. I'm sure everyone will let me know if I've
misinterpreted some of the design points.

First a basic definition. There are two consoles, the kernel one
(printk, kdbg, OOPs, etc) and user one (normal console logins). In
Linux these are currently implemented with the same code. There may be
advantages to splitting the implementation in a future design.

1) PCI ROMs - these would be exposed via sysfs. A quirk is needed to
track the boot video device and expose the contents of C000:0 for that
special case. See the lkml thread: Exposing ROM's though sysfs, there
are already proposed patches.

2) VGA control - there needs to be a device for coordinating this. It
would ensure that only a single VGA device gets enabled at a time. It
would also adjust PCI bus routing as needed. It needs commands for
disabling all VGA devices and then enabling a selected one. This device
may need to coordinate with VGA console. You have to use this device
even if you aren't using VGA console since it ensures that only a
single VGA device gets enabled.
Alan Cox: what about hardware that supports multiple vga routers? do we
care?
JS: no design work has been done for this device, what would be it's
major/minor? would this be better done in sysfs?

3) Secondary card reset - Handled by an initial hotplug event. We need
a volunteer to write clean vm86 and emu86 apps for running the ROM
initialization. Resetting needs #1 and #2 to work since resetting a
card will enable it's VGA mode. I have an implementation of this but it
needs a lot of clean up.

4) DRM code reorganization. There were several requests to reorganize
DRM to more closely follow the Linux kernel guidelines. This
reorganization should occur before new features are added.

5) Multihead cards will expose one device file per head. Many IOCTLs
exposed by these devices will be common. Some, like mode setting, will
be per head.

6) Mode setting before early user space - this was decided to be a
platform specific problem. With minor adjustment the kernel can be made
to boot without printing anything except errors before early user space
starts. Platform specific code will need to handle these error messages
if any. This includes INT10, Openfirmware, mainframe serial consoles,
VGA mode. Suppressing informatory printing before early user space
starts allows a clean boot straight into graphics mode.

7) Mode setting from normal user space - devices will have a standard
IOCTL accepting a mode string like fbdev currently uses. This IOCTL
will lock the device and optionally trigger a hotplug mode event. Mode
setting for some fixed devices is simple enough to avoid the hotplug
event. In the hotplug event the mode line will be decoded, DDC queried,
etc. Some classes of devices (for example Intel 810,830,915) have to
have their mode set using vm86 and the video BIOS. Others might use a
small C app to query DDC and then use a device specific IOCTL to set
the mode registers. Early boot and normal user space will use the same
hotplug apps so they need to be as small as possible (good luck IA64
and emu86).

8) Merged fbmode - per head mode lists will include merged fb modes if
the other heads aren't in use. Setting a merged fb mode will lock out
the other head devices. It was decided that this was a better design
than having a control device.

9) printk - setting the mode will also record the fb location, size,
stride. Combining this info with the current fbconsole code will allow
printk/oops to print in all modes.

10) a new system console UI is proposed. SysReq blanks the current
screen and replaces it with the system console. System console will
also support runing kdbg. Hit SysReq again and whatever you were doing
is restored. This operation does not change the video mode.

11) OOPs will cause an immediate screen clear and painting of the
system console including the OOPs data. It is not needed to change the
video mode. Further drawing to the screen will be blocked until SysReq
returns to normal operation if possible.
Alan Cox: No consensus on the screen clear bit - there are actually
reasons to argue against it.
JS: Maybe save the contents at OOPs time and hotkey back to it? This
assumes the system is stable enough to do the copy and access the
keyboard. Another idea: start painting the OOPs from the top without
clearing, hope useful userspace data is at the bottom?
Nicolas Mailhot: Don't forget about power management, unblank the
screen and don't let it blank again since you may not get it back.
Graphics mode lets more OOPs info fit.

12) interrupt time printk - certain hardware implements
non-interruptible operations. Most modern hardware does not do this.
For older hardware these non-interruptible operations will need to be
wrapped by the device driver. The complete data needed to finish the
operation will be provided in the IOCTL. Doing this enables an
interrupt time printk to call into the driver, make sure the hardware
is free by completing the pending operation, and then write to the
framebuffer. No older hardware currently implements this protection;
without this protection there is potential for locking the machine.

13) all of the features being discussed are implemented by a single
device driver plus a supporting set of library drivers. Multitasking of
multiple controlling device drivers for a single piece of hardware is
not allowed.

14) A new framebuffer memory manager is needed for mesa GL support. Ian
is working on it. The memory manager will be part of the support
library driver code.

15) Over time user space console will be moved to a model where VT's
are implemented in user space. This allows user space console access to
fully accelerated drawing libraries. This might allow removal of all of
the tty/vc layer code avoiding the need to fix it for SMP.

16) accelerated, kernel based console drivers are not easily written in
this model. The only in kernel operations are simple ones like
CR/scroll, clear, print text. It is possible to call existing DRM entry
points from a kernel thread, but the code needed is complex. Note that
only things like printk use this console so is there a real need for
acceleration?

17) A user space console implementation also makes supporting multiple
users on multiple heads/card easier. The kernel will not need to be
modified for multi-user VT support. User mode console allows pretty
text and Asian scripts.

18) A coordinated system for grouping console devices needs to be
designed. This will be bad if each distro does it differently. One
proposal is to use udev to create: /console/1/mouse,
/console/1/keyboard, /console/1/usb_hub, /console/2/mouse,
/console/3/keyboard, /console/4/usb_hub, etc.
Alan Cox: Another is to use namespace mounts

19) SAK - secure attention key. We forgot to talk about this so we need
a design.
Alan Cox: Falls straight out of having the kernel + helper mode setting

20) A PAM login would assign ownership of the console group devices to
the logged in user. A mechanism needs to be designed for assigning
ownership of secondary heads for the merged fb case. X should run as
the logged in user and not require root if the hardware allows.

21) It was also discussed the X should stop implementing OS level
features and instead use the features of the underlying OS. If the
underlying OS is lacking support the support would be implemented in a
library external to X. Examples of moving from X to OS support include:
PCI bus, input, console groupings, etc.

22) A goal this design is to discourage user space video driver
implementations when a kernel one exists. An example of this would be
X's radeon XAA driver. X would instead use the DRM driver via mesa.

23) The old schemes are not going to be removed. If your ancient 2D
card only has an fbdev and XAA driver it will still work. We're not
going to remove old drivers if new ones don't exist. But don't expect
the composting X server to turn your clunker 2D card in to a Radeon
X800.

=====
Jon Smirl
jonsm...@yahoo.com

__________________________________
Do you Yahoo!?
New and Improved Yahoo! Mail - Send 10MB messages!
http://promotions.yahoo.com/new_mail
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Alexander E. Patrakov  
View profile  
 More options Aug 2 2004, 11:00 am
Newsgroups: linux.kernel
From: "Alexander E. Patrakov" <patra...@ums.usu.ru>
Date: Mon, 02 Aug 2004 17:00:20 +0200
Local: Mon, Aug 2 2004 11:00 am
Subject: Re: OLS and console rearchitecture

Jon Smirl wrote:
> 15) Over time user space console will be moved to a model where VT's
> are implemented in user space. This allows user space console access to
> fully accelerated drawing libraries. This might allow removal of all of
> the tty/vc layer code avoiding the need to fix it for SMP.

One more minor problem. We need to ensure somehow that the "killall5"
program from the sysvinit package will not kill our userspace console
daemon at shutdown (got this when I tried to put fbiterm into
initramfs). What is the best way to achieve that?

--
Alexander E. Patrakov

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Miquel van Smoorenburg  
View profile  
 More options Aug 2 2004, 12:10 pm
Newsgroups: linux.kernel
From: "Miquel van Smoorenburg" <miqu...@cistron.nl>
Date: Mon, 02 Aug 2004 18:10:08 +0200
Local: Mon, Aug 2 2004 12:10 pm
Subject: Re: OLS and console rearchitecture
In article <410E55AA.8030...@ums.usu.ru>,
Alexander E. Patrakov <patra...@ums.usu.ru> wrote:

>Jon Smirl wrote:
>> 15) Over time user space console will be moved to a model where VT's
>> are implemented in user space. This allows user space console access to
>> fully accelerated drawing libraries. This might allow removal of all of
>> the tty/vc layer code avoiding the need to fix it for SMP.

>One more minor problem. We need to ensure somehow that the "killall5"
>program from the sysvinit package will not kill our userspace console
>daemon at shutdown (got this when I tried to put fbiterm into
>initramfs). What is the best way to achieve that?

A configuration file for killall5 in which services/daemons get
defined that should not be signalled ?

Mike.
--
The question is, what is a "manamanap".
The question is, who cares ?

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Jon Smirl  
View profile  
 More options Aug 2 2004, 12:20 pm
Newsgroups: linux.kernel
From: Jon Smirl <jonsm...@yahoo.com>
Date: Mon, 02 Aug 2004 18:20:13 +0200
Local: Mon, Aug 2 2004 12:20 pm
Subject: Re: OLS and console rearchitecture
--- "Alexander E. Patrakov" <patra...@ums.usu.ru> wrote:

> Jon Smirl wrote:
> > 15) Over time user space console will be moved to a model where

> One more minor problem. We need to ensure somehow that the "killall5"
> program from the sysvinit package will not kill our userspace console
> daemon at shutdown (got this when I tried to put fbiterm into
> initramfs). What is the best way to achieve that?

When user space dies on shutdown output would switch over to the kernel
based console - the reverse process of what happens on start up. Do we
need more?

=====
Jon Smirl
jonsm...@yahoo.com

__________________________________
Do you Yahoo!?
Yahoo! Mail Address AutoComplete - You start. We finish.
http://promotions.yahoo.com/new_mail
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Andreas Schwab  
View profile  
 More options Aug 2 2004, 12:30 pm
Newsgroups: linux.kernel
From: Andreas Schwab <sch...@suse.de>
Date: Mon, 02 Aug 2004 18:30:11 +0200
Local: Mon, Aug 2 2004 12:30 pm
Subject: Re: OLS and console rearchitecture
"Miquel van Smoorenburg" <miqu...@cistron.nl> writes:

> In article <410E55AA.8030...@ums.usu.ru>,
> Alexander E. Patrakov <patra...@ums.usu.ru> wrote:
>>Jon Smirl wrote:
>>> 15) Over time user space console will be moved to a model where VT's
>>> are implemented in user space. This allows user space console access to
>>> fully accelerated drawing libraries. This might allow removal of all of
>>> the tty/vc layer code avoiding the need to fix it for SMP.

>>One more minor problem. We need to ensure somehow that the "killall5"
>>program from the sysvinit package will not kill our userspace console
>>daemon at shutdown (got this when I tried to put fbiterm into
>>initramfs). What is the best way to achieve that?

> A configuration file for killall5 in which services/daemons get
> defined that should not be signalled ?

IMHO a better solution would be some kind of process flag that can be
interrogated by killall5.

Andreas.

--
Andreas Schwab, SuSE Labs, sch...@suse.de
SuSE Linux AG, Maxfeldstraße 5, 90409 Nürnberg, Germany
Key fingerprint = 58CA 54C7 6D53 942B 1756  01D3 44D5 214B 8276 4ED5
"And now for something completely different."
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Jesse Barnes  
View profile  
 More options Aug 2 2004, 2:40 pm
Newsgroups: linux.kernel
From: Jesse Barnes <jbar...@engr.sgi.com>
Date: Mon, 02 Aug 2004 20:40:09 +0200
Local: Mon, Aug 2 2004 2:40 pm
Subject: Re: OLS and console rearchitecture

On Monday, August 2, 2004 7:24 am, Jon Smirl wrote:
> 1) PCI ROMs - these would be exposed via sysfs. A quirk is needed to
> track the boot video device and expose the contents of C000:0 for that
> special case. See the lkml thread: Exposing ROM's though sysfs, there
> are already proposed patches.

I just posted what I hope is a final patch for this one.  We'll see what
gregkh comes back with.

> 2) VGA control - there needs to be a device for coordinating this. It
> would ensure that only a single VGA device gets enabled at a time. It
> would also adjust PCI bus routing as needed. It needs commands for
> disabling all VGA devices and then enabling a selected one. This device
> may need to coordinate with VGA console. You have to use this device
> even if you aren't using VGA console since it ensures that only a
> single VGA device gets enabled.
> Alan Cox: what about hardware that supports multiple vga routers? do we
> care?
> JS: no design work has been done for this device, what would be it's
> major/minor? would this be better done in sysfs?

It should probably be a real device driver rather than a sysfs pseudofile.  
Not sure if it should be dynamic or not though.  It would be nice if apps
used the driver to do legacy VGA I/O port accesses as well, since that would
make things easier on platforms that unconditionally master abort when a PIO
times out, and would probably make it easier to deal with multiple domains.

Jesse
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Alan Cox  
View profile  
 More options Aug 2 2004, 2:50 pm
Newsgroups: linux.kernel
From: Alan Cox <a...@lxorguk.ukuu.org.uk>
Date: Mon, 02 Aug 2004 20:50:06 +0200
Local: Mon, Aug 2 2004 2:50 pm
Subject: Re: OLS and console rearchitecture
On Llu, 2004-08-02 at 17:21, Andreas Schwab wrote:

> > A configuration file for killall5 in which services/daemons get
> > defined that should not be signalled ?

> IMHO a better solution would be some kind of process flag that can be
> interrogated by killall5.

Policy belongs in user space. This is entirely policy and personal
preference.

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Benjamin Herrenschmidt  
View profile  
 More options Aug 2 2004, 8:10 pm
Newsgroups: linux.kernel
From: Benjamin Herrenschmidt <b...@kernel.crashing.org>
Date: Tue, 03 Aug 2004 02:10:07 +0200
Local: Mon, Aug 2 2004 8:10 pm
Subject: Re: OLS and console rearchitecture

> It should probably be a real device driver rather than a sysfs pseudofile.  
> Not sure if it should be dynamic or not though.  It would be nice if apps
> used the driver to do legacy VGA I/O port accesses as well, since that would
> make things easier on platforms that unconditionally master abort when a PIO
> times out, and would probably make it easier to deal with multiple domains.

I strongly agree. Also, access to VGA memory (in case that is necessary)
should be provided via MMAP on this driver too.

There are other reasons than master aborts to go that way, like platforms
that have multiple PCI domains with separate IO spaces that can accomodate
VGA cards in several of them.

Ben.

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Andreas Schwab  
View profile  
 More options Aug 3 2004, 4:50 am
Newsgroups: linux.kernel
From: Andreas Schwab <sch...@suse.de>
Date: Tue, 03 Aug 2004 10:50:08 +0200
Local: Tues, Aug 3 2004 4:50 am
Subject: Re: OLS and console rearchitecture

Alan Cox <a...@lxorguk.ukuu.org.uk> writes:
> On Llu, 2004-08-02 at 17:21, Andreas Schwab wrote:
>> > A configuration file for killall5 in which services/daemons get
>> > defined that should not be signalled ?

>> IMHO a better solution would be some kind of process flag that can be
>> interrogated by killall5.

> Policy belongs in user space. This is entirely policy and personal
> preference.

The kernel would only function as a repository and makes sure the flag is
inherited across execve().  Any policy will only be set by user space.

Andreas.

--
Andreas Schwab, SuSE Labs, sch...@suse.de
SuSE Linux AG, Maxfeldstraße 5, 90409 Nürnberg, Germany
Key fingerprint = 58CA 54C7 6D53 942B 1756  01D3 44D5 214B 8276 4ED5
"And now for something completely different."
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Helge Hafting  
View profile  
 More options Aug 5 2004, 5:00 am
Newsgroups: linux.kernel
From: Helge Hafting <helge.haft...@hist.no>
Date: Thu, 05 Aug 2004 11:00:08 +0200
Local: Thurs, Aug 5 2004 5:00 am
Subject: Re: OLS and console rearchitecture

Jon Smirl wrote:

>2) VGA control - there needs to be a device for coordinating this. It
>would ensure that only a single VGA device gets enabled at a time. It
>would also adjust PCI bus routing as needed. It needs commands for
>disabling all VGA devices and then enabling a selected one. This device
>may need to coordinate with VGA console. You have to use this device
>even if you aren't using VGA console since it ensures that only a
>single VGA device gets enabled.
>Alan Cox: what about hardware that supports multiple vga routers? do we
>care?

Isn't the "unique VGA" a disappearing problem?
I have the impression that many new (PCI/AGP) video cards
can work fine without the legacy VGA stuff - therefore, no conflict
when using several cards simultaneously.

Please avoid unnecessary disabling of such devices, that only causes
trouble for those of use trying to use several screens at once. (Possibly
with several simultaneous _users_, who don't want their screen disabled
for no
good reason.) Of course one may have to buy the "right" cards when
setting up
such a machine.

Helge Hafting
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Martin Waitz  
View profile  
 More options Aug 5 2004, 7:20 am
Newsgroups: linux.kernel
From: Martin Waitz <t...@admingilde.org>
Date: Thu, 05 Aug 2004 13:20:08 +0200
Local: Thurs, Aug 5 2004 7:20 am
Subject: Re: OLS and console rearchitecture

hi :)

On Mon, Aug 02, 2004 at 09:16:56AM -0700, Jon Smirl wrote:
> When user space dies on shutdown output would switch over to the kernel
> based console - the reverse process of what happens on start up. Do we
> need more?

Yes, killall5 is not the last thing that runs in userspace.

Unmounting and stuff is done later and still has to be able to produce
visible output, so we still need our console daemon.

On bootup, console will be set up first, so there won't be any output
from userspace without the console daemon running

--
Martin Waitz

  application_pgp-signature_part
< 1K Download

 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Alan Cox  
View profile  
 More options Aug 5 2004, 5:40 pm
Newsgroups: linux.kernel
From: Alan Cox <a...@lxorguk.ukuu.org.uk>
Date: Thu, 05 Aug 2004 23:40:12 +0200
Local: Thurs, Aug 5 2004 5:40 pm
Subject: Re: OLS and console rearchitecture
On Iau, 2004-08-05 at 09:56, Helge Hafting wrote:

> Isn't the "unique VGA" a disappearing problem?

Alas not.

> Please avoid unnecessary disabling of such devices, that only causes
> trouble for those of use trying to use several screens at once. (Possibly
> with several simultaneous _users_, who don't want their screen disabled
> for no
> good reason.) Of course one may have to buy the "right" cards when
> setting up
> such a machine.

The goal is to have a control device to arbitrate it. This doesn't
generally cause a performance hit and X currently handles it internally
using RAC but once you have multiple uses of VGA space the arbitration
has to go kernel side

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
End of messages
« Back to Discussions « Newer topic     Older topic »