Linux-Development-Sys Digest #195, Volume #7     Tue, 14 Sep 99 20:13:57 EDT

Contents:
  Re: Max threads and TCP connections? (bill davidsen)
  Re: Max threads and TCP connections? (David Schwartz)
  Re: Max threads and TCP connections? (David Schwartz)
  Re: "current" while DMA (David Schwartz)
  make xconfig (Marcel Nijenhof)
  Re: Embedded X-server anyone ? ? (Joseph H Allen)
  Re: kernel_lock (Paul J Collins)
  Re: unix98 pty's problems (Remco van den Berg)
  Re: Max threads and TCP connections? (Joseph H Allen)
  Re: unix98 pty's problems (Juergen Heinzl)
  Re: unix98 pty's problems (Juergen Heinzl)
  1999 FORML Conference Update ("Rich Wagner")
  Re: Linux standards compliance (Bill Anderson)
  Re: Max threads and TCP connections? (Joseph H Allen)

----------------------------------------------------------------------------

From: [EMAIL PROTECTED] (bill davidsen)
Subject: Re: Max threads and TCP connections?
Date: 14 Sep 1999 19:05:54 GMT

In article <[EMAIL PROTECTED]>,
David Schwartz  <[EMAIL PROTECTED]> wrote:
| 
| bill davidsen wrote:
| 
| >   Could you point me to the programs you have written to demonstrate
| > where we have all gone wrong? I'd like your news server to replace INN,
| > your web server to replace Apache, and your mail server which replaces
| > sendmail to start, then I'll look at your other applications.
| 
|       I'm a little curious also why you would resort to an argument from
| authority. Everything I've said has been accompanied by argumentation.

  By authority do you mean I ask that you demonstrate the practical
implementation of some common server function which is currently done by
one thread or process per client in the most common implementation of
the service?

|       I don't think you should listen to me because of who I am and what
| experience I've had. And I don't think you should ignore someone else
| because of who they are or their lack of experience.
| 
|       If you are competent to do so, you should evaluate what everyone has to
| say and the argumentation they can provide to support their view. It's
| really poor form to respond to a cogent argument with the rough
| equivalent of 'sez who'?

  Actually I am saying "show me," since you have argued that existing
implementations are not well written. It's all very well to make a
theoretical point, but when you state that your way is better than the
common way, it is nice to demonstrate your point by more than
"argumentation."

-- 
bill davidsen <[EMAIL PROTECTED]>  CTO, TMR Associates, Inc
  I thought I had forgotten how to throw a boomerang, but it's
all coming back to me...


------------------------------

From: David Schwartz <[EMAIL PROTECTED]>
Subject: Re: Max threads and TCP connections?
Date: Tue, 14 Sep 1999 12:57:29 -0700


bill davidsen wrote:

>   Sounds just like INN to me. I still want to see how you get rid of one
> thread or process per reader in a portable way.

        I'm not sure I understand what the difficulty is. I would use an
architecture like the following:

        One thread blocks in a 'poll' loop. When it wakes, it does a
non-blocking 'read' on all available descriptors, adds the data to a
'receive queue' and adds a 'process this connection' job to the job
queue.

        A group of other threads (some number 'not much larger' than the number
of processors) block on a job queue. When they pull off a job, they do
as much processing as they can for that particular connection.

        If they have output to send, they queue it to an output queue and
arrange it so that the thread in 'poll' will watch the file for output
readiness on its next pass. Using C++ polymorphism on the output queue
makes it easy to (almost literally) 'queue a file' for output.

        I'd probably also implement an in-memory cache for frequently accessed
files. Even though they'd wind up in the buffer cache, keeping them in
my own cache will save system calls. (This is nice because files on a
news server change only very seldom. It works great for web servers, in
my experience.)

        I haven't been asked to a news server yet. I'd (obviously) give it a
lot more thought if someone decided to pay to me write one.

        DS

------------------------------

From: David Schwartz <[EMAIL PROTECTED]>
Subject: Re: Max threads and TCP connections?
Date: Tue, 14 Sep 1999 12:58:57 -0700


>   Actually I am saying "show me," since you have argued that existing
> implementations are not well written. It's all very well to make a
> theoretical point, but when you state that your way is better than the
> common way, it is nice to demonstrate your point by more than
> "argumentation."

        I am arguing no such thing. Please read what I'm actually arguing.

        And, by the way, it's hardly "my way". I really wish I could take
credit for it, but alas that is not the case.

        DS

------------------------------

From: David Schwartz <[EMAIL PROTECTED]>
Subject: Re: "current" while DMA
Date: Tue, 14 Sep 1999 13:35:19 -0700


        The problem is, many I/Os aren't requested by a process at all. They're
requested by higher levels of the kernel (such as the buffer cache) in
response to activity by various processes.

        Even trying to track kernel CPU time used by a process can br tricky.
You tend to charge a process for interrupts generated by other processes
or even by network activity from other machines.

        DS

Yung-Hsiang Lu wrote:
> 
> I don't understand this.  Why is it hard to find the process that
> generates an IO?  Shouldn't it be "current" when the kernel enters the
> device driver?  The kernel must know which process requests the IO,
> right?
> 
> Peter Samuelson ([EMAIL PROTECTED]) wrote:
> :
> : It's pretty much impossible to automatically pinpoint a particular
> : process responsible for a particular run of I/O (including DMA).  The
> : problem is that file I/O and network I/O are both buffered.
> :
> : --
> : Peter Samuelson
> : <sampo.creighton.edu!psamuels>
> 
> --
>                                                    Sincerely,
>                                                    Yung-Hsiang Lu
>                                                    [EMAIL PROTECTED]

------------------------------

From: Marcel Nijenhof <[EMAIL PROTECTED]>
Subject: make xconfig
Date: Tue, 14 Sep 1999 23:02:14 +0200

Hey,

I am trying to compile de 2.3.18 kernel. I have downloaded
"linux-2.3.17.tar.bz2" and the patch "patch-2.3.18.bz2"
which install without problems.

I had the same problem with the plain 2.3.17 kernel.


I get the following error when i run:
        make xconfig

> [root@paard linux]# make xconfig
> rm -f include/asm
> ( cd include ; ln -sf asm-i386 asm)
> make -C scripts kconfig.tk
> make[1]: Entering directory `/usr/src/linux-2.3.18/scripts'
> gcc -Wall -Wstrict-prototypes -O2 -fomit-frame-pointer -c -o tkparse.o tkparse.cgcc 
>-Wall -Wstrict-prototypes -O2 -fomit-frame-pointer -c -o tkcond.o tkcond.c> gcc -Wall 
>-Wstrict-prototypes -O2 -fomit-frame-pointer -c -o tkgen.o tkgen.c
> gcc -o tkparse tkparse.o tkcond.o tkgen.o
> cat header.tk >> ./kconfig.tk
> ./tkparse < ../arch/i386/config.in >> kconfig.tk
> drivers/char/Config.in: 72: bad if condition
> make[1]: *** [kconfig.tk] Error 1
> make[1]: Leaving directory `/usr/src/linux-2.3.18/scripts'
> make: *** [xconfig] Error 2


I corrected the problem with the following modification:

[root@paard src]# diff -Naur linux/drivers/char/Config.in.org
linux/drivers/char/Config.in
--- linux/drivers/char/Config.in.org    Wed Sep 15 00:31:16 1999
+++ linux/drivers/char/Config.in        Wed Sep 15 00:31:36 1999
@@ -69,7 +69,7 @@
   dep_tristate 'ATIXL busmouse support' CONFIG_ATIXL_BUSMOUSE
$CONFIG_BUSMOUSE
   dep_tristate 'Logitech busmouse support' CONFIG_LOGIBUSMOUSE
$CONFIG_BUSMOUSE   dep_tristate 'Microsoft busmouse support'
CONFIG_MS_BUSMOUSE $CONFIG_BUSMOUSE-  if [ "$CONFIG_PPC" = "y" ; then
+  if [ "$CONFIG_PPC" = "y" ]; then
     dep_tristate 'Apple Desktop Bus mouse support' CONFIG_ADBMOUSE
$CONFIG_BUSMOUSE
   fi
 fi

I hope that you have enough information to correct the problem.

Marcel Nijenhof

------------------------------

Crossposted-To: comp.os.linux.x,comp.windows.x,comp.sys.palmtops.pilot
From: [EMAIL PROTECTED] (Joseph H Allen)
Subject: Re: Embedded X-server anyone ? ?
Date: Tue, 14 Sep 1999 21:01:55 GMT

In article <[EMAIL PROTECTED]>,
Jonathan A. Buzzard <[EMAIL PROTECTED]> wrote:
>In article <7r7nr2$hvl$[EMAIL PROTECTED]>,
>       [EMAIL PROTECTED] (Peter Samuelson) writes:
>> [Nash Aragam <[EMAIL PROTECTED]>]
>>> Am lookin' for any/all info that might be available on the
>>> idea/concept/design/implementation of a SMALL_FOOTPRINT X-server for
>>> use in embedded OSs and embedded/handheld palmtops.
>> 
>> Considering the complexity of the X protocol, I'm not sure even a
>> bare-bones implementation would be small.  I could be wrong.
>> 
>
>Most of the size of say the XF86_SVGA binary (about 3.2MB) comes from
>having drivers for just about every chipset under the sun in it.
>Given the complexity of compiling the server yourself, the fact that
>disk space is cheap and that Linux uses demand page loading so it does
>not load the unused drivers into memory it is generally not a problem.
>
>If you where to compile a server with just the chipset you needed it
>would be less than 1MB at a guess. You could also try XFree86 4.0 which
>dynamically loads in only the driver for the chipset you need so no
>recompiling.

How small is small?  I'm running X + Linux + my application on an old 50MB
hard drive (it complains a lot because I have deleted so much, but it does
work).  This is almost the size needed for a reasonably priced flash card. 
If you can figure out how to get all of linux + X in 16MB, let me know :-)
-- 
/*  [EMAIL PROTECTED] (192.74.137.5) */               /* Joseph H. Allen */
int a[1817];main(z,p,q,r){for(p=80;q+p-80;p-=2*a[p])for(z=9;z--;)q=3&(r=time(0)
+r*57)/7,q=q?q-1?q-2?1-p%79?-1:0:p%79-77?1:0:p<1659?79:0:p>158?-79:0,q?!a[p+q*2
]?a[p+=a[p+=q]=q]=q:0:0;for(;q++-1817;)printf(q%79?"%c":"%c\n"," #"[!a[q-1]]);}

------------------------------

From: Paul J Collins <[EMAIL PROTECTED]>
Subject: Re: kernel_lock
Date: 14 Sep 1999 19:56:08 +0100

>>>>> "David" == David Lee <[EMAIL PROTECTED]> writes:

    David> Hi there, Does anyone know the purpose of kernel_lock(). It
    David> is used for pervent task switching in kernel or to prevent
    David> other processes to enter kernel.

    David> Is it used in SMP kernel only?

As far as I know, kernel_lock is used to lock the *entire* kernel so
that only one CPU is executing kernel code at a time.  It was the used
for the initial implementation of SMP in Linux 2.0.  Most everything
is protected locally by spinlocks now, so the entire kernel is rarely
(if ever) locked.  FYI, the locking overhead in 2.2 is about 8%, and
in 2.3 it is about 2%.

Yes, kernel_lock is SMP only.

Paul.

-- 
Paul Collins <[EMAIL PROTECTED]>   Public Key On Keyserver.
Fingerprint: 88BA 2393 8E3C CECF E43A  44B4 0766 DD71 04E5 962C
             "I am a stranger in a strange land,
              distracted by bright and shiny objects."

------------------------------

From: [EMAIL PROTECTED] (Remco van den Berg)
Subject: Re: unix98 pty's problems
Date: 14 Sep 1999 21:53:25 GMT

On Tue, 14 Sep 1999 20:14:51 GMT, Juergen Heinzl wrote:
>
>Now telnet (the client) does not care so the daemon will do. Still stay
>tuned regarding the official versions, mine is just a tiny hack.
>

Somebody showed me this site:

ftp://ftp.uk.linux.org/pub/linux/Networking/netkit-devel/

.. and the telnet daemon there is working out of the box :-)


-- 
- Remco van den Berg
  
============================================================================
Philips Semiconductors B.V.  tel:(+31 40 27)22031   fax:22764   Room: BE-345
mailto:[EMAIL PROTECTED]                  seri: rvdberg@nlsce1

home Email: [EMAIL PROTECTED]  (non Philips related)              ICQ: 47514668
                 
============================================================================
 Microsoft and Lotus Notes free.   Don't send me any Microsoft attachments.
============================================================================

------------------------------

From: [EMAIL PROTECTED] (Joseph H Allen)
Subject: Re: Max threads and TCP connections?
Date: Tue, 14 Sep 1999 21:05:39 GMT

In article <[EMAIL PROTECTED]>,
David Schwartz  <[EMAIL PROTECTED]> wrote:

>       I'd probably also implement an in-memory cache for frequently accessed
>files. Even though they'd wind up in the buffer cache, keeping them in
>my own cache will save system calls. (This is nice because files on a
>news server change only very seldom. It works great for web servers, in
>my experience.)

just use memory mapped files.

-- 
/*  [EMAIL PROTECTED] (192.74.137.5) */               /* Joseph H. Allen */
int a[1817];main(z,p,q,r){for(p=80;q+p-80;p-=2*a[p])for(z=9;z--;)q=3&(r=time(0)
+r*57)/7,q=q?q-1?q-2?1-p%79?-1:0:p%79-77?1:0:p<1659?79:0:p>158?-79:0,q?!a[p+q*2
]?a[p+=a[p+=q]=q]=q:0:0;for(;q++-1817;)printf(q%79?"%c":"%c\n"," #"[!a[q-1]]);}

------------------------------

From: [EMAIL PROTECTED] (Juergen Heinzl)
Subject: Re: unix98 pty's problems
Date: Tue, 14 Sep 1999 20:14:51 GMT

In article <[EMAIL PROTECTED]>,
Remco van den Berg wrote:
>On Tue, 14 Sep 1999 00:23:32 GMT, Juergen Heinzl wrote:
>>You can find a worked_for_me_and_some_others patches here ...
>>http://www.monocerus.demon.co.uk/httpd-server/juergen/code/c/unix/patches/
>>... but these are inofficial at best.
>
>Just tried the telnet patch.
>The telnet daemon is now working fine. But I'm having problems compiling
>the telnet client:
>
>gcc -s commands.o main.o network.o ring.o sys_bsd.o telnet.o terminal.o \
>tn3270.o utilities.o genget.o environ.o netlink.o  -lncurses -o telnet
>telnet.o: In function `my_setupterm(char const *, int, int *)':
>telnet.o(.text+0xf39): undefined reference to `tgetent(char *, char const *)'
>collect2: ld returned 1 exit status

As I said, inofficial 8-) ... but read on for the good news.

>I think I don't have a tgetent function in my ncurses.4.2 library.
>(There's no reference in the ncurses include file, so....)

I see; termcap is considered to be obsolete, although I'm still using
it for bash. Ncurses can be compiled such that it can fall back to using
/etc/termcap, it's a configure option and there is a ...
/usr/include/ncurses/termcap.h
... although different distributions might do it different.

Now telnet (the client) does not care so the daemon will do. Still stay
tuned regarding the official versions, mine is just a tiny hack.

Ta',
Juergen

-- 
\ Real name     : J�rgen Heinzl                 \       no flames      /
 \ EMail Private : [EMAIL PROTECTED] \ send money instead /

------------------------------

From: [EMAIL PROTECTED] (Juergen Heinzl)
Subject: Re: unix98 pty's problems
Date: Tue, 14 Sep 1999 22:52:12 GMT

In article <[EMAIL PROTECTED]>,
Remco van den Berg wrote:
>On Tue, 14 Sep 1999 20:14:51 GMT, Juergen Heinzl wrote:
>>
>>Now telnet (the client) does not care so the daemon will do. Still stay
>>tuned regarding the official versions, mine is just a tiny hack.
>>
>
>Somebody showed me this site:
>
>ftp://ftp.uk.linux.org/pub/linux/Networking/netkit-devel/
>
>.. and the telnet daemon there is working out of the box :-)

Yep, this was meant by the "stay tuned" part of my posting. It's
a development version and active development is going on again ;-)

I'd recommend to look there for updates and fixes now and again
so. If you can use ppp-2.3.9 with your kernel than you do not
need a patch either. This version can handle both, Unix98 PTY's
and the BSD style ones out of the box and automatically. I've
it up and running here, no problems; the kernel is 2.2.12.

As I am here already, some other programme that can cause trouble
is ddd and here again, the latest version supports Unix98 PTY's.

Happy hacking,
Juergen

-- 
\ Real name     : J�rgen Heinzl                 \       no flames      /
 \ EMail Private : [EMAIL PROTECTED] \ send money instead /

------------------------------

From: "Rich Wagner" <[EMAIL PROTECTED]>
Subject: 1999 FORML Conference Update
Date: 14 Sep 1999 21:36:43 GMT

Hello friends:

The 1999 FORML Conference is shaping up very nicely.  We've already
received a good collection of powerful, technical papers, which bodes very
well for our showing by conference time.  Here's a sample of the papers
you'll see:

===================
Wil Baden --
"Solitaire"
"The Most Powerful Text Editor That I've Ever Used"
"SHA-1 Secure Hash Algorithm"
==================================
Dr. Everett F. Carter Jr. --
"Getting by with less -- How to subset TCP/IP"
=================================
Federico de Ceballos --
"Accessing an Ethernet network from a Siemens AS990 System"
================
Albin Dew --
"Little Endian"
========================
Charles Esson --
"COLDFORTH multitasking"
"COLDFORTH memory management"
"COLDFORTH TCP/IP stack"
=====================
Glen Haydon --
"Forth Philosophy, 1999: Forth in the Real World"
=====================


Here are some other presenters, whose work you've seen in Forth Dimensions,
and whom we're expecting to see:

-- Richard Astle
-- John Carpenter
-- John Hart
-- Andrew McKewen
-- Chuck Moore
-- John Rible
-- Walter Rottenkolber
-- John Sadler
-- C. H. Ting
-- Richard Wagner
-- Tom Zimmer


PLEASE NOTE:  We're going to extend our title and abstract deadline from
August 31 to September 30.  If you have a paper you'd like to present,
please send your title and abstract to [EMAIL PROTECTED]  It's not too
late!!  Please see our call for papers at
http://www.forth.org/misc/forml21_call.html


REGISTRATION
========================
We began registration on August 26, and we've already registered about 15
attendees.  Our space is limited, so register soon.  Don't miss out!  If
you haven't registered yet, please check out our registration page at
http://www.forth.org/misc/forml21_reg.html  Register before October 15, and
you'll receive a 10% discount.  FIG members receive an additional 10%
discount!

More as the conference approaches...


42 EMIT,

Rich Wagner
Conference Director


------------------------------

From: Bill Anderson <[EMAIL PROTECTED]>
Subject: Re: Linux standards compliance
Date: Tue, 14 Sep 1999 15:26:19 -0600

Leslie Mikesell wrote:
> 
> In article <[EMAIL PROTECTED]>,
> Bill Anderson  <[EMAIL PROTECTED]> wrote:
> >....
> >> My next desktop machine will have DVD, USB devices, and probably
> >> eventually digital video via firewire.  What OS do you recommend?
> >> It will likely store files on a networked Linux box.  I don't
> >> see much hope of it actually running Linux in the near future.
> >
> >What USB devices? Many work now.
> 
> Scanner and printer at least, probably a modem and a connection
> for a laptop.  There is supposed to be a new design in the works
> to crank up the speed so it will be suitable for video and general
> networking.

>From what I have seen, there is a reasonable support, and growing of
course, for USB scanners, printers, UIDs, and mass storage.
Dunno about modems and computet-computer connections.
 
> >DVD: as a drive, yes, to watch encoded movies on it? No. Too expensive,
> >etc. not even NT has this AFAIK,
> 
> Expensive?  I guess I'll have to change hobbies.  I think they are
> less than 16K (yes K) of memory cost for the first computer I had.


Actually, I was referring to the licensing for the makers of code. From
what I have been told, getting an NDA is _quite_ expensive. 
#include <stddsclmr.h>



-- 
Bill Anderson                                   Linux/Unix Administrator, Security 
Analyst
ESBU (ARC)                                      [EMAIL PROTECTED]
My opinions are just that; _my_ opinions.

------------------------------

From: [EMAIL PROTECTED] (Joseph H Allen)
Subject: Re: Max threads and TCP connections?
Date: Tue, 14 Sep 1999 21:10:34 GMT

In article <[EMAIL PROTECTED]>,
Joseph H Allen <[EMAIL PROTECTED]> wrote:
>In article <[EMAIL PROTECTED]>,
>David Schwartz  <[EMAIL PROTECTED]> wrote:

>>      I'd probably also implement an in-memory cache for frequently accessed
>>files. Even though they'd wind up in the buffer cache, keeping them in
>>my own cache will save system calls. (This is nice because files on a
>>news server change only very seldom. It works great for web servers, in
>>my experience.)

>just use memory mapped files.

actually I mean memory map the entire drive containing the news articles. 
Of course keeping the articles on a raw partition means giving up the NFS
exported or the local /usr/spool/news directory: instead everybody has to
use NNTP to read the articles through the server.
-- 
/*  [EMAIL PROTECTED] (192.74.137.5) */               /* Joseph H. Allen */
int a[1817];main(z,p,q,r){for(p=80;q+p-80;p-=2*a[p])for(z=9;z--;)q=3&(r=time(0)
+r*57)/7,q=q?q-1?q-2?1-p%79?-1:0:p%79-77?1:0:p<1659?79:0:p>158?-79:0,q?!a[p+q*2
]?a[p+=a[p+=q]=q]=q:0:0;for(;q++-1817;)printf(q%79?"%c":"%c\n"," #"[!a[q-1]]);}

------------------------------


** FOR YOUR REFERENCE **

The service address, to which questions about the list itself and requests
to be added to or deleted from it should be directed, is:

    Internet: [EMAIL PROTECTED]

You can send mail to the entire list (and comp.os.linux.development.system) via:

    Internet: [EMAIL PROTECTED]

Linux may be obtained via one of these FTP sites:
    ftp.funet.fi                                pub/Linux
    tsx-11.mit.edu                              pub/linux
    sunsite.unc.edu                             pub/Linux

End of Linux-Development-System Digest
******************************

Reply via email to