X-MimeOLE: Produced By Microsoft Exchange V6.5
Received: by onstor-exch02.onstor.net 
	id <01C85A27.EBBDE301@onstor-exch02.onstor.net>; Fri, 18 Jan 2008 16:14:48 -0700
MIME-Version: 1.0
Content-Type: multipart/alternative;
	boundary="----_=_NextPart_001_01C85A27.EBBDE301"
Content-class: urn:content-classes:message
Subject: FW: out of space in kmem_map
Date: Fri, 18 Jan 2008 16:14:48 -0700
Message-ID: <BB375AF679D4A34E9CA8DFA650E2B04E07BC0359@onstor-exch02.onstor.net>
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
Thread-Topic: out of space in kmem_map
Thread-Index: AchSks6ZxsLy1GQvRgCGQ4sbgWt6hQHlCz2A
From: "Ed Kwan" <ed.kwan@onstor.com>
To: "Andy Sharp" <andy.sharp@onstor.com>

This is a multi-part message in MIME format.

------_=_NextPart_001_01C85A27.EBBDE301
Content-Type: text/plain;
	charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable

FYI.

We are currently allocating 4MB to kmem_map.   For testing purposes, I =
changed it to 16MB. =20
During boot, the message changed from
kmem_init: start c02e9000 end c6220000 size 5f37000
To
kmem_init: start c02e9000 end c6e20000 size 6b37000

The newer OpenBSD (3.x) allocates one quarter of phys memory.

void
kmeminit_nkmempages(void)
{
...

        /*
         * We use the following (simple) formula:
         *
         *        - Starting point is physical memory / 4.
         *
         *        - Clamp it down to nkmempages_max.
         *
         *        - Round it up to nkmempages_min.
         */
        npages =3D physmem / 4;

       if (npages > nkmempages_max)
                npages =3D nkmempages_max;

        if (npages < nkmempages_min)
                npages =3D nkmempages_min;

With a range of 8 to 128:

Param.h:

/* Default malloc arena size */
#define NKMEMPAGES_MIN_DEFAULT  ((8 * 1024 * 1024) >> PAGE_SHIFT)
#define NKMEMPAGES_MAX_DEFAULT  ((128 * 1024 * 1024) >> PAGE_SHIFT)

_____________________________________________
From: Ed Kwan=20
Sent: Tuesday, January 08, 2008 11:40 PM
To: Eric Barrett; Danqing Jin
Cc: Carlos Mora
Subject: out of space in kmem_map

Hi Eric & Danqing,

Looking at BSD src/sys/kern/kern_malloc.c:

    439 void
    440 kmeminit()
    441 {

    445         int npg;

    462         npg =3D VM_KMEM_SIZE / PAGE_SIZE;

    470         kmemusage =3D (struct kmemusage *) =
kmem_alloc(kernel_map,
    471                 (vsize_t)(npg * sizeof(struct kmemusage)));
    472         kmem_map =3D kmem_suballoc(kernel_map, (vaddr_t =
*)&kmembase,
    473                 (vaddr_t *)&kmemlimit, (vsize_t)(npg * =
PAGE_SIZE), FALSE);

In src/sys/arch/mips64/include/vmparam.h:

    238 #define VM_KMEM_SIZE            (NKMEMCLUSTERS*CLBYTES)

In src/sys/arch/mips64/include/param.h:

    125 /*
    126  * Size of kernel malloc arena in CLBYTES-sized logical pages
    127  */
    128 #ifndef NKMEMCLUSTERS
    129 #define NKMEMCLUSTERS   (4096*1024/CLBYTES)
    130 #endif

So I downloaded OpenBSD 2.8 src.tar.gz, and from =
share/man/man4/options.4:

     option NKMEMCLUSTERS=3Dvalue
     Size of kernel malloc area in CLBYTES-sized logical pages.  This =
area is
     covered by the kernel submap kmem_map.  See =
/usr/include/machine/param.h
     for the default value, which is port specific.  Increase this value =
if
     =E2out of space in kmem_map=E2

You think it's worthwhile to compile our own version of OpenBSD with a =
higher MKMEMCLUSTERS value, run the LSI scripts to stress the SSC =
memory, and see if there are any improvements?

Ed



------_=_NextPart_001_01C85A27.EBBDE301
Content-Type: text/html;
	charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<HTML>
<HEAD>
<META HTTP-EQUIV=3D"Content-Type" CONTENT=3D"text/html; =
charset=3Diso-8859-1">
<META NAME=3D"Generator" CONTENT=3D"MS Exchange Server version =
6.5.7653.38">
<TITLE>FW: out of space in kmem_map</TITLE>
</HEAD>
<BODY>
<!-- Converted from text/rtf format -->

<P DIR=3DLTR><SPAN LANG=3D"en-us"></SPAN><SPAN LANG=3D"en-us"><FONT =
COLOR=3D"#000080" SIZE=3D2 FACE=3D"Arial">FYI.</FONT></SPAN></P>

<P DIR=3DLTR><SPAN LANG=3D"en-us"></SPAN><SPAN LANG=3D"en-us"><FONT =
COLOR=3D"#000080" SIZE=3D2 FACE=3D"Arial">We are currently allocating =
4MB to kmem_map.&nbsp;</FONT></SPAN><SPAN LANG=3D"en-us"></SPAN><SPAN =
LANG=3D"en-us">&nbsp;<FONT COLOR=3D"#000080" SIZE=3D2 FACE=3D"Arial"> =
For testing purposes,</FONT></SPAN><SPAN LANG=3D"en-us"></SPAN><SPAN =
LANG=3D"en-us"><FONT COLOR=3D"#000080" SIZE=3D2 =
FACE=3D"Arial"></FONT></SPAN><SPAN LANG=3D"en-us"></SPAN><SPAN =
LANG=3D"en-us"> <FONT COLOR=3D"#000080" SIZE=3D2 FACE=3D"Arial">I =
changed it to 16MB.&nbsp;</FONT></SPAN><SPAN LANG=3D"en-us"></SPAN><SPAN =
LANG=3D"en-us"> </SPAN></P>

<P DIR=3DLTR><SPAN LANG=3D"en-us"></SPAN><SPAN LANG=3D"en-us"><FONT =
COLOR=3D"#000080" SIZE=3D2 FACE=3D"Arial">During =
boot,</FONT></SPAN><SPAN LANG=3D"en-us"></SPAN><SPAN =
LANG=3D"en-us"><FONT COLOR=3D"#000080" SIZE=3D2 FACE=3D"Arial"> the =
message changed from</FONT></SPAN></P>

<P DIR=3DLTR><SPAN LANG=3D"en-us"></SPAN><SPAN LANG=3D"en-us"><FONT =
COLOR=3D"#000080" SIZE=3D2 FACE=3D"Arial">kmem_init: start c02e9000 end =
c6220000 size 5f37000</FONT></SPAN><SPAN LANG=3D"en-us"></SPAN><SPAN =
LANG=3D"en-us"></SPAN></P>

<P DIR=3DLTR><SPAN LANG=3D"en-us"><FONT COLOR=3D"#000080" SIZE=3D2 =
FACE=3D"Arial">To</FONT></SPAN></P>

<P DIR=3DLTR><SPAN LANG=3D"en-us"></SPAN><SPAN LANG=3D"en-us"><FONT =
COLOR=3D"#000080" SIZE=3D2 FACE=3D"Arial">kmem_init: start c02e9000 end =
c6e20000 size 6b37000</FONT></SPAN><SPAN LANG=3D"en-us"></SPAN><SPAN =
LANG=3D"en-us"></SPAN></P>

<P DIR=3DLTR><SPAN LANG=3D"en-us"></SPAN><SPAN =
LANG=3D"en-us"></SPAN></P>

<P DIR=3DLTR><SPAN LANG=3D"en-us"><FONT COLOR=3D"#000080" SIZE=3D2 =
FACE=3D"Arial">The newer OpenBSD</FONT></SPAN><SPAN =
LANG=3D"en-us"></SPAN><SPAN LANG=3D"en-us"><FONT COLOR=3D"#000080" =
SIZE=3D2 FACE=3D"Arial"> (3.x)</FONT></SPAN><SPAN =
LANG=3D"en-us"></SPAN><SPAN LANG=3D"en-us"> <FONT COLOR=3D"#000080" =
SIZE=3D2 FACE=3D"Arial">allocates</FONT></SPAN><SPAN =
LANG=3D"en-us"></SPAN><SPAN LANG=3D"en-us"> <FONT COLOR=3D"#000080" =
SIZE=3D2 FACE=3D"Arial">one quarter of phys memory.</FONT></SPAN><SPAN =
LANG=3D"en-us"></SPAN><SPAN LANG=3D"en-us"></SPAN></P>

<P DIR=3DLTR><SPAN LANG=3D"en-us"></SPAN><SPAN LANG=3D"en-us"><FONT =
SIZE=3D1 FACE=3D"Courier New">void</FONT></SPAN></P>

<P DIR=3DLTR><SPAN LANG=3D"en-us"><FONT SIZE=3D1 FACE=3D"Courier =
New">kmeminit_nkmempages(void)</FONT></SPAN></P>

<P DIR=3DLTR><SPAN LANG=3D"en-us"><FONT SIZE=3D1 FACE=3D"Courier =
New">{</FONT></SPAN></P>

<P DIR=3DLTR><SPAN LANG=3D"en-us"><FONT SIZE=3D1 FACE=3D"Courier =
New">&#8230;</FONT></SPAN></P>

<P DIR=3DLTR><SPAN LANG=3D"en-us"></SPAN><SPAN =
LANG=3D"en-us"></SPAN></P>

<P DIR=3DLTR><SPAN LANG=3D"en-us"></SPAN><SPAN LANG=3D"en-us"><FONT =
SIZE=3D1 FACE=3D"Courier New">=A0 =A0&nbsp; =A0 =A0/*</FONT></SPAN></P>

<P DIR=3DLTR><SPAN LANG=3D"en-us"><FONT SIZE=3D1 FACE=3D"Courier =
New">&nbsp;=A0 =A0 =A0 =A0 * We use the following (simple) =
formula:</FONT></SPAN></P>

<P DIR=3DLTR><SPAN LANG=3D"en-us"><FONT SIZE=3D1 FACE=3D"Courier =
New">&nbsp;=A0 =A0 =A0 =A0 *</FONT></SPAN></P>

<P DIR=3DLTR><SPAN LANG=3D"en-us"><FONT SIZE=3D1 FACE=3D"Courier =
New">&nbsp;=A0 =A0 =A0 =A0 * =A0 =A0 =A0 =A0- Starting point is physical =
memory / 4.</FONT></SPAN></P>

<P DIR=3DLTR><SPAN LANG=3D"en-us"><FONT SIZE=3D1 FACE=3D"Courier =
New">&nbsp;=A0 =A0 =A0 =A0 *</FONT></SPAN></P>

<P DIR=3DLTR><SPAN LANG=3D"en-us"><FONT SIZE=3D1 FACE=3D"Courier =
New">&nbsp;=A0 =A0 =A0 =A0 * =A0 =A0 =A0 =A0- Clamp it down to =
nkmempages_max.</FONT></SPAN></P>

<P DIR=3DLTR><SPAN LANG=3D"en-us"><FONT SIZE=3D1 FACE=3D"Courier =
New">&nbsp;=A0 =A0 =A0 =A0 *</FONT></SPAN></P>

<P DIR=3DLTR><SPAN LANG=3D"en-us"><FONT SIZE=3D1 FACE=3D"Courier =
New">&nbsp;=A0 =A0 =A0 =A0 * =A0 =A0 =A0 =A0- Round it up to =
nkmempages_min.</FONT></SPAN></P>

<P DIR=3DLTR><SPAN LANG=3D"en-us"><FONT SIZE=3D1 FACE=3D"Courier =
New">&nbsp;=A0 =A0 =A0 =A0 */</FONT></SPAN></P>

<P DIR=3DLTR><SPAN LANG=3D"en-us"><FONT SIZE=3D1 FACE=3D"Courier =
New">&nbsp;=A0 =A0 =A0 =A0npages =3D physmem / 4;</FONT></SPAN></P>

<P DIR=3DLTR><SPAN LANG=3D"en-us"><FONT SIZE=3D1 FACE=3D"Courier =
New">=A0 =A0 =A0 =A0if (npages &gt; nkmempages_max)</FONT></SPAN></P>

<P DIR=3DLTR><SPAN LANG=3D"en-us"><FONT SIZE=3D1 FACE=3D"Courier =
New">&nbsp;=A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0npages =3D =
nkmempages_max;</FONT></SPAN></P>

<P DIR=3DLTR><SPAN LANG=3D"en-us"><FONT SIZE=3D1 FACE=3D"Courier =
New">&nbsp;=A0 =A0 =A0 =A0if (npages &lt; =
nkmempages_min)</FONT></SPAN></P>

<P DIR=3DLTR><SPAN LANG=3D"en-us"><FONT SIZE=3D1 FACE=3D"Courier =
New">&nbsp;=A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0npages =3D =
nkmempages_min;</FONT></SPAN></P>

<P DIR=3DLTR><SPAN LANG=3D"en-us"></SPAN><SPAN =
LANG=3D"en-us"></SPAN></P>

<P DIR=3DLTR><SPAN LANG=3D"en-us"></SPAN><SPAN LANG=3D"en-us"><FONT =
SIZE=3D2 FACE=3D"Arial">With a range of 8 to 128:</FONT></SPAN></P>

<P DIR=3DLTR><SPAN LANG=3D"en-us"></SPAN><SPAN =
LANG=3D"en-us"></SPAN></P>

<P DIR=3DLTR><SPAN LANG=3D"en-us"><FONT SIZE=3D2 FACE=3D"Courier =
New">Param.h:</FONT></SPAN></P>

<P DIR=3DLTR><SPAN LANG=3D"en-us"></SPAN><SPAN LANG=3D"en-us"><FONT =
SIZE=3D1 FACE=3D"Courier New">/* Default malloc arena size =
*/</FONT></SPAN></P>

<P DIR=3DLTR><SPAN LANG=3D"en-us"><FONT SIZE=3D1 FACE=3D"Courier =
New">#define NKMEMPAGES_MIN_DEFAULT =A0((8 * 1024 * 1024) &gt;&gt; =
PAGE_SHIFT)</FONT></SPAN></P>

<P DIR=3DLTR><SPAN LANG=3D"en-us"></SPAN><SPAN LANG=3D"en-us"><FONT =
SIZE=3D1 FACE=3D"Courier New">#define NKMEMPAGES_MAX_DEFAULT =A0((128 * =
1024 * 1024) &gt;&gt; PAGE_SHIFT)</FONT></SPAN><SPAN =
LANG=3D"en-us"></SPAN><SPAN LANG=3D"en-us"></SPAN></P>

<P DIR=3DLTR><SPAN LANG=3D"en-us"></SPAN><SPAN =
LANG=3D"en-us"></SPAN></P>

<P DIR=3DLTR><SPAN LANG=3D"en-us"></SPAN><SPAN LANG=3D"en-us"><FONT =
SIZE=3D2 =
FACE=3D"Tahoma">_____________________________________________<BR>
</FONT></SPAN><SPAN LANG=3D"en-us"><B></B></SPAN><SPAN =
LANG=3D"en-us"><B><FONT SIZE=3D2 =
FACE=3D"Tahoma">From:</FONT></B></SPAN><SPAN LANG=3D"en-us"></SPAN><SPAN =
LANG=3D"en-us"><FONT SIZE=3D2 FACE=3D"Tahoma"> Ed Kwan<BR>
</FONT></SPAN><SPAN LANG=3D"en-us"><B></B></SPAN><SPAN =
LANG=3D"en-us"><B><FONT SIZE=3D2 =
FACE=3D"Tahoma">Sent:</FONT></B></SPAN><SPAN LANG=3D"en-us"></SPAN><SPAN =
LANG=3D"en-us"><FONT SIZE=3D2 FACE=3D"Tahoma"> Tuesday, January 08, 2008 =
11:40 PM<BR>
</FONT></SPAN><SPAN LANG=3D"en-us"><B></B></SPAN><SPAN =
LANG=3D"en-us"><B><FONT SIZE=3D2 =
FACE=3D"Tahoma">To:</FONT></B></SPAN><SPAN LANG=3D"en-us"></SPAN><SPAN =
LANG=3D"en-us"><FONT SIZE=3D2 FACE=3D"Tahoma"> Eric Barrett; Danqing =
Jin<BR>
</FONT></SPAN><SPAN LANG=3D"en-us"><B></B></SPAN><SPAN =
LANG=3D"en-us"><B><FONT SIZE=3D2 =
FACE=3D"Tahoma">Cc:</FONT></B></SPAN><SPAN LANG=3D"en-us"></SPAN><SPAN =
LANG=3D"en-us"><FONT SIZE=3D2 FACE=3D"Tahoma"> Carlos Mora<BR>
</FONT></SPAN><SPAN LANG=3D"en-us"><B></B></SPAN><SPAN =
LANG=3D"en-us"><B><FONT SIZE=3D2 =
FACE=3D"Tahoma">Subject:</FONT></B></SPAN><SPAN =
LANG=3D"en-us"></SPAN><SPAN LANG=3D"en-us"><FONT SIZE=3D2 =
FACE=3D"Tahoma"> out of space in kmem_map</FONT></SPAN><SPAN =
LANG=3D"en-us"></SPAN></P>

<P DIR=3DLTR><SPAN LANG=3D"en-us"></SPAN><SPAN LANG=3D"en-us"><FONT =
SIZE=3D2 FACE=3D"Arial">Hi Eric &amp; Danqing,</FONT></SPAN></P>

<P DIR=3DLTR><SPAN LANG=3D"en-us"><FONT SIZE=3D2 FACE=3D"Arial">Looking =
at BSD src/sys/kern/kern_malloc.c:</FONT></SPAN></P>

<P DIR=3DLTR><SPAN LANG=3D"en-us"></SPAN><SPAN LANG=3D"en-us"><FONT =
SIZE=3D1 FACE=3D"CourierPS">&nbsp;&nbsp;&nbsp; 439 =
void</FONT></SPAN></P>

<P DIR=3DLTR><SPAN LANG=3D"en-us"><FONT SIZE=3D1 =
FACE=3D"CourierPS">&nbsp;&nbsp;&nbsp; 440 kmeminit()</FONT></SPAN></P>

<P DIR=3DLTR><SPAN LANG=3D"en-us"><FONT SIZE=3D1 =
FACE=3D"CourierPS">&nbsp;&nbsp;&nbsp; 441 {</FONT></SPAN></P>

<P DIR=3DLTR><SPAN LANG=3D"en-us"><FONT SIZE=3D1 =
FACE=3D"CourierPS">&nbsp;&nbsp;&nbsp; =
445&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; =
int</FONT></SPAN><SPAN LANG=3D"en-us"></SPAN><SPAN LANG=3D"en-us"> <FONT =
COLOR=3D"#FF0000" SIZE=3D1 FACE=3D"CourierPS">npg</FONT></SPAN><SPAN =
LANG=3D"en-us"></SPAN><SPAN LANG=3D"en-us"><FONT SIZE=3D1 =
FACE=3D"CourierPS">;</FONT></SPAN></P>

<P DIR=3DLTR><SPAN LANG=3D"en-us"><FONT SIZE=3D1 =
FACE=3D"CourierPS">&nbsp;&nbsp;&nbsp; =
462&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</FONT></SPAN><SPAN =
LANG=3D"en-us"></SPAN><SPAN LANG=3D"en-us"> <FONT COLOR=3D"#FF0000" =
SIZE=3D1 FACE=3D"CourierPS">npg</FONT></SPAN><SPAN =
LANG=3D"en-us"></SPAN><SPAN LANG=3D"en-us"><FONT SIZE=3D1 =
FACE=3D"CourierPS"> =3D</FONT></SPAN><SPAN LANG=3D"en-us"></SPAN><SPAN =
LANG=3D"en-us"> <FONT COLOR=3D"#FF0000" SIZE=3D1 =
FACE=3D"CourierPS">VM_KMEM_SIZE</FONT></SPAN><SPAN =
LANG=3D"en-us"></SPAN><SPAN LANG=3D"en-us"><FONT SIZE=3D1 =
FACE=3D"CourierPS"> / PAGE_SIZE;</FONT></SPAN></P>

<P DIR=3DLTR><SPAN LANG=3D"en-us"><FONT SIZE=3D1 =
FACE=3D"CourierPS">&nbsp;&nbsp;&nbsp; =
470&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; kmemusage =3D =
(struct kmemusage *) kmem_alloc(kernel_map,</FONT></SPAN></P>

<P DIR=3DLTR><SPAN LANG=3D"en-us"><FONT SIZE=3D1 =
FACE=3D"CourierPS">&nbsp;&nbsp;&nbsp; =
471&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbs=
p;&nbsp;&nbsp;&nbsp;&nbsp; (vsize_t)(npg * sizeof(struct =
kmemusage)));</FONT></SPAN></P>

<P DIR=3DLTR><SPAN LANG=3D"en-us"><FONT SIZE=3D1 =
FACE=3D"CourierPS">&nbsp;&nbsp;&nbsp; =
472&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</FONT></SPAN><SPAN =
LANG=3D"en-us"></SPAN><SPAN LANG=3D"en-us"> <FONT COLOR=3D"#FF0000" =
SIZE=3D1 FACE=3D"CourierPS">kmem_map</FONT></SPAN><SPAN =
LANG=3D"en-us"></SPAN><SPAN LANG=3D"en-us"><FONT SIZE=3D1 =
FACE=3D"CourierPS"> =3D kmem_suballoc(kernel_map, (vaddr_t =
*)&amp;kmembase,</FONT></SPAN></P>

<P DIR=3DLTR><SPAN LANG=3D"en-us"><FONT SIZE=3D1 =
FACE=3D"CourierPS">&nbsp;&nbsp;&nbsp; =
473&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbs=
p;&nbsp;&nbsp;&nbsp;&nbsp; (vaddr_t *)&amp;kmemlimit, =
(vsize_t)(</FONT></SPAN><SPAN LANG=3D"en-us"></SPAN><SPAN =
LANG=3D"en-us"><FONT COLOR=3D"#FF0000" SIZE=3D1 =
FACE=3D"CourierPS">npg</FONT></SPAN><SPAN LANG=3D"en-us"></SPAN><SPAN =
LANG=3D"en-us"><FONT SIZE=3D1 FACE=3D"CourierPS"> * PAGE_SIZE), =
FALSE);</FONT></SPAN></P>

<P DIR=3DLTR><SPAN LANG=3D"en-us"></SPAN><SPAN =
LANG=3D"en-us"></SPAN></P>

<P DIR=3DLTR><SPAN LANG=3D"en-us"><FONT SIZE=3D2 FACE=3D"Arial">In =
src/sys/arch/mips64/include/vmparam.h:</FONT></SPAN></P>

<P DIR=3DLTR><SPAN LANG=3D"en-us"></SPAN><SPAN LANG=3D"en-us"><FONT =
SIZE=3D1 FACE=3D"CourierPS">&nbsp;&nbsp;&nbsp; 238 =
#define</FONT></SPAN><SPAN LANG=3D"en-us"></SPAN><SPAN LANG=3D"en-us"> =
<FONT COLOR=3D"#FF0000" SIZE=3D1 =
FACE=3D"CourierPS">VM_KMEM_SIZE</FONT></SPAN><SPAN =
LANG=3D"en-us"></SPAN><SPAN LANG=3D"en-us"><FONT SIZE=3D1 =
FACE=3D"CourierPS">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=
&nbsp;&nbsp; (</FONT></SPAN><SPAN LANG=3D"en-us"></SPAN><SPAN =
LANG=3D"en-us"><FONT COLOR=3D"#FF0000" SIZE=3D1 =
FACE=3D"CourierPS">NKMEMCLUSTERS</FONT></SPAN><SPAN =
LANG=3D"en-us"></SPAN><SPAN LANG=3D"en-us"><FONT SIZE=3D1 =
FACE=3D"CourierPS">*CLBYTES)</FONT></SPAN></P>

<P DIR=3DLTR><SPAN LANG=3D"en-us"></SPAN><SPAN =
LANG=3D"en-us"></SPAN></P>

<P DIR=3DLTR><SPAN LANG=3D"en-us"><FONT SIZE=3D2 FACE=3D"Arial">In =
src/sys/arch/mips64/include/param.h:</FONT></SPAN></P>

<P DIR=3DLTR><SPAN LANG=3D"en-us"></SPAN><SPAN LANG=3D"en-us"><FONT =
SIZE=3D1 FACE=3D"CourierPS">&nbsp;&nbsp;&nbsp; 125 /*</FONT></SPAN></P>

<P DIR=3DLTR><SPAN LANG=3D"en-us"><FONT SIZE=3D1 =
FACE=3D"CourierPS">&nbsp;&nbsp;&nbsp; 126&nbsp; * Size of kernel malloc =
arena in CLBYTES-sized logical pages</FONT></SPAN></P>

<P DIR=3DLTR><SPAN LANG=3D"en-us"><FONT SIZE=3D1 =
FACE=3D"CourierPS">&nbsp;&nbsp;&nbsp; 127&nbsp; */</FONT></SPAN></P>

<P DIR=3DLTR><SPAN LANG=3D"en-us"><FONT SIZE=3D1 =
FACE=3D"CourierPS">&nbsp;&nbsp;&nbsp; 128 #ifndef =
NKMEMCLUSTERS</FONT></SPAN></P>

<P DIR=3DLTR><SPAN LANG=3D"en-us"><FONT SIZE=3D1 =
FACE=3D"CourierPS">&nbsp;&nbsp;&nbsp; 129 #define =
NKMEMCLUSTERS&nbsp;&nbsp; (4096*1024/CLBYTES)</FONT></SPAN></P>

<P DIR=3DLTR><SPAN LANG=3D"en-us"><FONT SIZE=3D1 =
FACE=3D"CourierPS">&nbsp;&nbsp;&nbsp; 130 #endif</FONT></SPAN></P>

<P DIR=3DLTR><SPAN LANG=3D"en-us"></SPAN><SPAN =
LANG=3D"en-us"></SPAN></P>

<P DIR=3DLTR><SPAN LANG=3D"en-us"><FONT SIZE=3D2 FACE=3D"Arial">So I =
downloaded OpenBSD 2.8 src.tar.gz, and from =
share/man/man4/options.4:</FONT></SPAN></P>

<P DIR=3DLTR><SPAN LANG=3D"en-us"></SPAN><SPAN LANG=3D"en-us"><FONT =
SIZE=3D1 FACE=3D"CourierPS">&nbsp;&nbsp;&nbsp;&nbsp; option =
NKMEMCLUSTERS=3Dvalue</FONT></SPAN></P>

<P DIR=3DLTR><SPAN LANG=3D"en-us"><FONT SIZE=3D1 =
FACE=3D"CourierPS">&nbsp;&nbsp;&nbsp;&nbsp; Size of kernel malloc area =
in CLBYTES-sized logical pages.&nbsp; This area is</FONT></SPAN></P>

<P DIR=3DLTR><SPAN LANG=3D"en-us"><FONT SIZE=3D1 =
FACE=3D"CourierPS">&nbsp;&nbsp;&nbsp;&nbsp; covered by the kernel submap =
kmem_map.&nbsp; See /usr/include/machine/param.h</FONT></SPAN></P>

<P DIR=3DLTR><SPAN LANG=3D"en-us"><FONT SIZE=3D1 =
FACE=3D"CourierPS">&nbsp;&nbsp;&nbsp;&nbsp; for the default value, which =
is port specific.&nbsp; Increase this value if</FONT></SPAN></P>

<P DIR=3DLTR><SPAN LANG=3D"en-us"><FONT SIZE=3D1 =
FACE=3D"CourierPS">&nbsp;&nbsp;&nbsp;&nbsp;</FONT></SPAN><SPAN =
LANG=3D"en-us"></SPAN><SPAN LANG=3D"en-us"> <FONT SIZE=3D1 =
FACE=3D"CourierPS">=E2</FONT></SPAN><SPAN LANG=3D"en-us"></SPAN><SPAN =
LANG=3D"en-us"><FONT SIZE=3D1 FACE=3D"CourierPS">out of space in =
kmem_map</FONT></SPAN><SPAN LANG=3D"en-us"></SPAN><SPAN =
LANG=3D"en-us"><FONT SIZE=3D1 FACE=3D"CourierPS">=E2</FONT></SPAN><SPAN =
LANG=3D"en-us"></SPAN><SPAN LANG=3D"en-us"></SPAN></P>

<P DIR=3DLTR><SPAN LANG=3D"en-us"></SPAN><SPAN =
LANG=3D"en-us"></SPAN></P>

<P DIR=3DLTR><SPAN LANG=3D"en-us"><FONT SIZE=3D2 FACE=3D"Arial">You =
think it&#8217;s worthwhile to compile our own version of OpenBSD with a =
higher MKMEMCLUSTERS value, run the LSI scripts to stress the SSC =
memory, and see if there are any improvements?</FONT></SPAN></P>
<BR>

<P DIR=3DLTR><SPAN LANG=3D"en-us"><FONT SIZE=3D2 =
FACE=3D"Arial">Ed</FONT></SPAN></P>

<P DIR=3DLTR><SPAN LANG=3D"en-us"></SPAN><SPAN =
LANG=3D"en-us"></SPAN></P>

</BODY>
</HTML>
------_=_NextPart_001_01C85A27.EBBDE301--
