Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 23 Dec 2012 21:37:46 -0700
From:      "Kenneth D. Merry" <ken@freebsd.org>
To:        Adrian Chadd <adrian@freebsd.org>
Cc:        Marten Vijn <info@martenvijn.nl>, Sergey Kandaurov <pluknet@gmail.com>, freebsd-stable@freebsd.org, jakub_lach@mailplus.pl
Subject:   Re: 9.1 minimal ram requirements
Message-ID:  <20121224043746.GA49438@nargothrond.kdm.org>
In-Reply-To: <CAJ-VmomPY3_rG4sR0rMtsAO21krJMa8qt_WSOfhnOGaVQXCa3Q@mail.gmail.com>
References:  <1356218834151-5771583.post@n5.nabble.com> <50D644E5.9070801@martenvijn.nl> <CAE-mSOLQrWfEb8Wr4Hd1yU10DsJW_koB-PCA=RO5h1xvP_CT6Q@mail.gmail.com> <CAJ-VmomPY3_rG4sR0rMtsAO21krJMa8qt_WSOfhnOGaVQXCa3Q@mail.gmail.com>

next in thread | previous in thread | raw e-mail | index | archive | help

The reason it grabs RAM up front is that it was written for an embedded
platform where memory allocations might fail later on after things had been
running and memory got fragmented.

At this point, no, it doesn't need to allocate all of its memory up front.
I actually need to put some effort into right-sizing the memory footprint,
but that will take adding some fields to the path inquiry CCB so it knows
what the capabilities of the target adapter are.  (And that typically takes
a CAM version bump, which breaks the ABI...)

In any case, the memory footprint (and any possible side effects from
the mpt driver with FC boards) are why I put the disable switch in.  If
there is memory allocated when it is disabled, then that is a bug.

I'm on vacation so it'll be a little while before I'm in a position to
fix this, but hopefully the disable switch should help anyone running
with smaller amounts of memory.

Ken

On Sat, Dec 22, 2012 at 22:32:07 -0800, Adrian Chadd wrote:
> Ken,
> 
> Does CAM CTL really need to pre-allocate 35MB of RAM at startup?
> 
> 
> 
> Adrian
> 
> On 22 December 2012 16:45, Sergey Kandaurov <pluknet@gmail.com> wrote:
> > On 23 December 2012 03:40, Marten Vijn <info@martenvijn.nl> wrote:
> >> On 12/23/2012 12:27 AM, Jakub Lach wrote:
> >>>
> >>> Guys, I've heard about some absurd RAM requirements
> >>> for 9.1, has anybody tested it?
> >>>
> >>> e.g.
> >>>
> >>> http://forums.freebsd.org/showthread.php?t=36314
> >>
> >>
> >> jup, I can comfirm this with nanobsd (cross) compiled
> >> for my soekris net4501 which has 64 MB mem:
> >>
> >> from dmesg: real memory  = 67108864 (64 MB)
> >>
> >> while the same config compiled against a 9.0 tree still works...
> >>
> >
> > This (i.e. the "kmem_map too small" message seen with kernel memory
> > shortage) could be due to CAM CTL ('device ctl' added in 9.1), which is
> > quite a big kernel memory consumer.
> > Try to disable CTL in loader with kern.cam.ctl.disable=1 to finish boot.
> > A longer term workaround could be to postpone those memory allocations
> > until the first call to CTL.
> >
> > # cam ctl init allocates roughly 35 MB of kernel memory at once
> > # three memory pools, somewhat under M_DEVBUF, and memory disk
> > # devbuf takes 1022K with kern.cam.ctl.disable=1
> >
> >          Type InUse MemUse HighUse Requests  Size(s)
> >        devbuf   213 20366K       -      265  16,32,64,128,256,512,1024,2048,4096
> >        ctlmem  5062 10113K       -     5062  64,2048
> >        ctlblk   200   800K       -      200  4096
> >       ramdisk     1  4096K       -        1
> >       ctlpool   532   138K       -      532  16,512
> >
> > --
> > wbr,
> > pluknet
> > _______________________________________________
> > freebsd-stable@freebsd.org mailing list
> > http://lists.freebsd.org/mailman/listinfo/freebsd-stable
> > To unsubscribe, send any mail to "freebsd-stable-unsubscribe@freebsd.org"

-- 
Kenneth Merry
ken@FreeBSD.ORG



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20121224043746.GA49438>