*BSD News Article 16338


Return to BSD News archive

Newsgroups: comp.os.386bsd.development
Path: sserve!newshost.anu.edu.au!munnari.oz.au!news.Hawaii.Edu!ames!elroy.jpl.nasa.gov!swrinde!cs.utexas.edu!uunet!ihz.compuserve.com!mdickson
From: mdickson@csi.compuserve.com (Michael Dickson)
Subject: Re: Kernel is too big for 640K
In-Reply-To: pk@cs.few.eur.nl's message of Thu, 20 May 1993 12:38:08 GMT
Message-ID: <MDICKSON.93May20170314@mike.csi.compuserve.com>
Sender: news@csi.compuserve.com (Usenet News)
Reply-To: m.dickson@csi.CompuServe.com
Organization: CompuServe, Inc.
References: <1993May17.101101.1940@yvax.byu.edu> <1993May20.123808.18947@cs.few.eur.nl>
Date: Thu, 20 May 1993 21:03:24 GMT
Lines: 48

In article <1993May20.123808.18947@cs.few.eur.nl> pk@cs.few.eur.nl (Paul Kranenburg) writes:

   Newsgroups: comp.os.386bsd.development
   Path: ihz.compuserve.com!uunet!pipex!uknet!mcsun!sun4nl!eur.nl!pk
   From: pk@cs.few.eur.nl (Paul Kranenburg)
   Sender: news@cs.few.eur.nl
   Reply-To: pk@cs.few.eur.nl
   Organization: Erasmus University Rotterdam
   References: <1993May17.101101.1940@yvax.byu.edu>
   Date: Thu, 20 May 1993 12:38:08 GMT
   Lines: 20

   In <1993May17.101101.1940@yvax.byu.edu> bkh@nephi-hbll.byu.edu (Brian K. Holman) writes:

   >I recompiled the NetBSD Kernel.  I increased the number of users
   >and the number of ptys.  I also modified the MAKEDEV script to allow
   >it to generate ptys beyond 32.  When I boot it gives me the message
   >"Kernel is too big for 640K.  Only hope is to link for >1MB".  I
   >assume that this message was put there for a reason.  Can someone

   In this case, another solution seems warranted. Note that the tty structure
   (in <sys/tty.h> is more than 3K in size, due to the inclusion of 3 "ring
   buufers" of 1K each. If you configure 32 ptys, this consumes nearly 100K
   of precious memory in the data segment.

   I don't think it will be a hard job to replace the static buffers with a
   call to malloc() somewhere in ttyopen() and a free() in ttyclose().
   There may just be snag involved in conjunction with console driver in its
   current form, though.

   -pk

Paul,

  I've actually done what you describe and yes there is a problem with
the console driver as it exists.  I've built systems with as many as
128 ptys (which also requires some library changes so that programs
calling forkpty() can use the extra ptys).  Other than the problem
with the console driver it all works pretty good.

  I'm going to clean up the code a bit and see if I can't work around
the console problem.  It really was easy to put in.  If there is
interest I'll generate some patches after I do the work to fix the
console issue.

Mike Dickson
CompuServe, Incorporated
mdickson@csi.compuserve.com