9fans - fans of the OS Plan 9 from Bell Labs
 help / color / mirror / Atom feed
* 8 1/2 windows can't be created
@ 1996-01-10 21:24 Luther
  0 siblings, 0 replies; 5+ messages in thread
From: Luther @ 1996-01-10 21:24 UTC (permalink / raw)


I've had a similar problem with 1280x1024x8, except that I can't 
resize or move any very large window. The window doesn't go away--it 
just won't resize or move.

On 10 Jan 96 at 10:33, G. David Butler wisely noted:

> Has anybody else noticed that when using a 1280x1024x8 (i.e. large)
> vga screen, that you can't create two (or more) large overlapping
> windows?  The new one you try to create disappears after sweeping
> with either New or Resize.
> 
> To try to find the culprit I did a direct mount to /srv/8.. and the
> mount fails with "no resources".  After increasing kernelpercent to
> 50 I got it to open bigger windows, but increasing kernelpercent
> after that doesn't seem to help (I have 8meg in my PC terminal.)
> 
> After looking in the source it seems that the problem may be with a
> fixed size array.  In /sys/src/libg/binit.c there is an array static
> uchar bbuf[8000] (and _btmp[8000]).  In other places it seems a
> malloc would have to fail, and I think there is enough memory.
> 
> Before I start changing and rebuilding I thought I would ask if
> anyone has run into this and if this was the solution.
> 
> David Butler
> gdb@dbSystems.com
> 
> 






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

* 8 1/2 windows can't be created
@ 1996-01-14  0:37 Rob
  0 siblings, 0 replies; 5+ messages in thread
From: Rob @ 1996-01-14  0:37 UTC (permalink / raw)


> Bitmap resources should really, really be in a growable user =
> address space that can be swapped, instead of wired down in the =
> kernel!

> John Carmack

I'm sorry.

-rob






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

* 8 1/2 windows can't be created
@ 1996-01-13  8:09 John
  0 siblings, 0 replies; 5+ messages in thread
From: John @ 1996-01-13  8:09 UTC (permalink / raw)


Bitmap resources should really, really be in a growable user =
address space that can be swapped, instead of wired down in the =
kernel!

John Carmack






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

* 8 1/2 windows can't be created
@ 1996-01-13  7:36 G.David
  0 siblings, 0 replies; 5+ messages in thread
From: G.David @ 1996-01-13  7:36 UTC (permalink / raw)


I, "G. David Butler" <gdb@dbSystems.com> mumbled:

>Has anybody else noticed that when using a 1280x1024x8 (i.e. large)
>vga screen, that you can't create two (or more) large overlapping
>windows?  The new one you try to create disappears after sweeping
>with either New or Resize.

Or even moving a large window.

>To try to find the culprit I did a direct mount to /srv/8.. and the
>mount fails with "no resources".  After increasing kernelpercent to
>50 I got it to open bigger windows, but increasing kernelpercent after
>that doesn't seem to help (I have 8meg in my PC terminal.)

>After looking in the source it seems that the problem may be with a
>fixed size array.  In /sys/src/libg/binit.c there is an array
>static uchar bbuf[8000] (and _btmp[8000]).  In other places it seems
>a malloc would have to fail, and I think there is enough memory.

Wrong.  This array is used to format messages to the bitblt driver.

>Before I start changing and rebuilding I thought I would ask if anyone
>has run into this and if this was the solution.

OK, I have this one tracked down.

If you are using a large screen, the bitmap code allocates arenas of
as large as 1,310,732 bytes and with only 8 meg of memory things are a
bit tight with a few of these.

The best balance for my configuration was to set kernelpercent=65 and
that allows for 3 arenas which allow me to create all the windows I need.
(Of course with only 196 pages of memory left for processes, a cpu
server is *very* handy.)

To determine the best mix for your machine (this is PC specific), use
the ^t^tb and ^t^tx keyboard strokes to get a dump of the bitmap
and kernel memory pools respectively.  What I did was get the bitmap
to allocate 3 arenas with about 150K in both the xalloc and malloc areas
remaining.  This is what gave me the kernelpercent at 65.

David Butler
gdb@dbSystems.com






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

* 8 1/2 windows can't be created
@ 1996-01-10 15:33 G.David
  0 siblings, 0 replies; 5+ messages in thread
From: G.David @ 1996-01-10 15:33 UTC (permalink / raw)


Has anybody else noticed that when using a 1280x1024x8 (i.e. large)
vga screen, that you can't create two (or more) large overlapping
windows?  The new one you try to create disappears after sweeping
with either New or Resize.

To try to find the culprit I did a direct mount to /srv/8.. and the
mount fails with "no resources".  After increasing kernelpercent to
50 I got it to open bigger windows, but increasing kernelpercent after
that doesn't seem to help (I have 8meg in my PC terminal.)

After looking in the source it seems that the problem may be with a
fixed size array.  In /sys/src/libg/binit.c there is an array
static uchar bbuf[8000] (and _btmp[8000]).  In other places it seems
a malloc would have to fail, and I think there is enough memory.

Before I start changing and rebuilding I thought I would ask if anyone
has run into this and if this was the solution.

David Butler
gdb@dbSystems.com






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

end of thread, other threads:[~1996-01-14  0:37 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
1996-01-10 21:24 8 1/2 windows can't be created Luther
  -- strict thread matches above, loose matches on Subject: below --
1996-01-14  0:37 Rob
1996-01-13  8:09 John
1996-01-13  7:36 G.David
1996-01-10 15:33 G.David

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).