linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* SVR4 STREAMS (for example LiS)
@ 2003-07-21 14:13 Ihar "Philips" Filipau
  2003-07-21 14:38 ` Richard B. Johnson
  0 siblings, 1 reply; 6+ messages in thread
From: Ihar "Philips" Filipau @ 2003-07-21 14:13 UTC (permalink / raw)
  To: linux-kernel

Hello All!

    I have little bit theoretical question. As usual ;-)

    From what ever piece of doc I see says that STREAMS are good.
    They are part of SUS (at least v3 has them).
    Sun's docs reffering only cases when one may want to use them.
    This was the first pointer to problems: docs are missing the
       "dark side" of STREAMS.

    Can anyone give any pointers to information why STREAMS are _not_
       part of Linux kernel yet?
    (Besides that no-one needs/merged it in kernel ;-)
    What kind of problems this implementation of I/O has?
    (Low performance and high latencies I expect - but what's else?)

    Any sort of RTFM will be very appreciated.

    Thanks in advance.


^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: SVR4 STREAMS (for example LiS)
  2003-07-21 14:13 SVR4 STREAMS (for example LiS) Ihar "Philips" Filipau
@ 2003-07-21 14:38 ` Richard B. Johnson
  2003-07-21 14:50   ` Luciano Miguel Ferreira Rocha
  0 siblings, 1 reply; 6+ messages in thread
From: Richard B. Johnson @ 2003-07-21 14:38 UTC (permalink / raw)
  To: Ihar "Philips" Filipau; +Cc: linux-kernel

On Mon, 21 Jul 2003, Ihar "Philips" Filipau wrote:

> Hello All!
>
>     I have little bit theoretical question. As usual ;-)
>
>     From what ever piece of doc I see says that STREAMS are good.
>     They are part of SUS (at least v3 has them).
>     Sun's docs reffering only cases when one may want to use them.
>     This was the first pointer to problems: docs are missing the
>        "dark side" of STREAMS.
>
>     Can anyone give any pointers to information why STREAMS are _not_
>        part of Linux kernel yet?
>     (Besides that no-one needs/merged it in kernel ;-)
>     What kind of problems this implementation of I/O has?
>     (Low performance and high latencies I expect - but what's else?)
>
>     Any sort of RTFM will be very appreciated.
>
>     Thanks in advance.
>

Streams are an extension of buffered I/O implimented by the 'C'
runtime library. Streams really have nothing to do with the
internal workings of kernel I/O. As far as kernel I/O goes,
one reads() and writes() from user-space.

That said, the kernel provides getpmsg and putpmsg functions
to support streams. You really can't do much more for streams
inside the kernel and be efficient.

Cheers,
Dick Johnson
Penguin : Linux version 2.4.20 on an i686 machine (797.90 BogoMips).
            Note 96.31% of all statistics are fiction.


^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: SVR4 STREAMS (for example LiS)
  2003-07-21 14:38 ` Richard B. Johnson
@ 2003-07-21 14:50   ` Luciano Miguel Ferreira Rocha
  0 siblings, 0 replies; 6+ messages in thread
From: Luciano Miguel Ferreira Rocha @ 2003-07-21 14:50 UTC (permalink / raw)
  To: linux-kernel

On Mon, Jul 21, 2003 at 10:38:38AM -0400, Richard B. Johnson wrote:
> Streams are an extension of buffered I/O implimented by the 'C'
> runtime library. Streams really have nothing to do with the
> internal workings of kernel I/O. As far as kernel I/O goes,
> one reads() and writes() from user-space.

Actually, SysV Streams do.

An ex, for openning a pty, on svr4:
fds = open(pts_name, O_RDWR)
ioctl(fds, I_PUSH, "ptem")
ioctl(fds, I_PUSH, "ldterm")
ioctl(fds, I_PUSH, "ttcompat")

Where ptem, ldterm, ttcompat work as independent modules converting the
stream, resulting in a pseudo-terminal implementation.

New programs should just use openpty directly, and let libc take care
of the actual implementation.

Also, BSD sockets were implemented using streams also, thus the compatibility
libraries.

Anyway, I see no point in caring wether streams are used or not in normal
programs.

Regards,
Luciano Rocha

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: SVR4 STREAMS (for example LiS)
       [not found]     ` <bZLc.6Xx.17@gated-at.bofh.it>
@ 2003-07-22 12:44       ` Ihar "Philips" Filipau
  0 siblings, 0 replies; 6+ messages in thread
From: Ihar "Philips" Filipau @ 2003-07-22 12:44 UTC (permalink / raw)
  To: linux-kernel

Ihar "Philips" Filipau wrote:
> 
>    On behalf of conclusion I would summarize:

     Bad me.
     Found thru Google quite interesting paper on LiS site:

     http://www.gcom.com/home/products/why_streams.html

     Little bit of history with final emphasis on networking.

     Just to finally close the topic.


^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: SVR4 STREAMS (for example LiS)
  2003-07-22  7:24     ` Ihar "Philips" Filipau
@ 2003-07-22  8:29       ` Bernd Eckenfels
  0 siblings, 0 replies; 6+ messages in thread
From: Bernd Eckenfels @ 2003-07-22  8:29 UTC (permalink / raw)
  To: linux-kernel

In article <3F1CE6B6.4020909@softhome.net> you wrote:
> [1] <blatant rant on>I absolutely do not need to use 64GB of memory - 
> but kernel includes HIGH_MEM support.

of course if you do not enable HIGH_MEM support your 2.4 kernel will only allow
960MB of main memory, so I dont think this is bloat and unneeded.

Greetings
Bernd
-- 
eckes privat - http://www.eckes.org/
Project Freefire - http://www.freefire.org/

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: SVR4 STREAMS (for example LiS)
       [not found]   ` <bKj0.2yr.3@gated-at.bofh.it>
@ 2003-07-22  7:24     ` Ihar "Philips" Filipau
  2003-07-22  8:29       ` Bernd Eckenfels
  0 siblings, 1 reply; 6+ messages in thread
From: Ihar "Philips" Filipau @ 2003-07-22  7:24 UTC (permalink / raw)
  To: linux-kernel; +Cc: luciano, root

Luciano Miguel Ferreira Rocha wrote:
> On Mon, Jul 21, 2003 at 10:38:38AM -0400, Richard B. Johnson wrote:
>>Streams are an extension of buffered I/O implimented by the 'C'
>>runtime library. Streams really have nothing to do with the
>>internal workings of kernel I/O. As far as kernel I/O goes,
>>one reads() and writes() from user-space.
> 
> Actually, SysV Streams do.
> 
> An ex, for openning a pty, on svr4:
> fds = open(pts_name, O_RDWR)
> ioctl(fds, I_PUSH, "ptem")
> ioctl(fds, I_PUSH, "ldterm")
> ioctl(fds, I_PUSH, "ttcompat")
> 
> Where ptem, ldterm, ttcompat work as independent modules converting the
> stream, resulting in a pseudo-terminal implementation.
> 
> New programs should just use openpty directly, and let libc take care
> of the actual implementation.
> 
> Also, BSD sockets were implemented using streams also, thus the compatibility
> libraries.
> 
> Anyway, I see no point in caring wether streams are used or not in normal
> programs.
> 

    Not every one has normal programmes and normal needs [1].
    Use of STREAMS allows you easily build up your own network protocol 
stack for example.

    Sun's autopush(1M) looks really cool.
    http://docs.sun.com/db/doc/805-3173/6j31cplrg?a=view

    Configure special device and just feed it your programme.
    Not more - not less.

    As of me I see not that much uses of STREAMS somewhere outside of 
terminal conversions and network stack manipulations. And some rare (but 
  nasty indeed) occasions of stupid binary programmes, which happend to 
be used and happend to need something special.

    On behalf of conclusion I would summarize: STREAMS are Ok, but 
potentially slow and hard to configure (I can easily imagine situation 
when app trying to manipulate already prepared by admin stream 
/something like this).

[1] <blatant rant on>I absolutely do not need to use 64GB of memory - 
but kernel includes HIGH_MEM support. Is it normal for 32bit PC to have 
that much memory? *No*. Do you run any normal programme which does need 
64GB of memory? I bet *No*.<blatant rant off> There are a lot of 
examples of _not_ normal features - read "bloat" - in kernel. And I'm 
not talking about user-land... ;-)


^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2003-07-22 12:28 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2003-07-21 14:13 SVR4 STREAMS (for example LiS) Ihar "Philips" Filipau
2003-07-21 14:38 ` Richard B. Johnson
2003-07-21 14:50   ` Luciano Miguel Ferreira Rocha
     [not found] <bJGh.25l.15@gated-at.bofh.it>
     [not found] ` <bJZH.2jj.29@gated-at.bofh.it>
     [not found]   ` <bKj0.2yr.3@gated-at.bofh.it>
2003-07-22  7:24     ` Ihar "Philips" Filipau
2003-07-22  8:29       ` Bernd Eckenfels
     [not found] <bZLc.6Xx.19@gated-at.bofh.it>
     [not found] ` <bZLc.6Xx.21@gated-at.bofh.it>
     [not found]   ` <bZLc.6Xx.23@gated-at.bofh.it>
     [not found]     ` <bZLc.6Xx.17@gated-at.bofh.it>
2003-07-22 12:44       ` Ihar "Philips" Filipau

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).