CAMBRIA and more than one atheros card

John Hay jhay at meraka.org.za
Tue Jul 8 16:54:42 UTC 2014


On Mon, Jul 07, 2014 at 12:43:17PM -0700, Adrian Chadd wrote:
> Sweet!
> 
> Can you run the same commands above on the Avila board?

:~ # uname -a
FreeBSD broken-2 11.0-CURRENT FreeBSD 11.0-CURRENT #74 r267954M: Fri Jun 27 14:40:34 SAST 2014     jhay at dolphin.meraka.csir.co.za:/usr/obj/arm.armeb/snaps/arm/11-tst/src/sys/SMALL-AVILA  arm
:~ # sysctl -a | grep hw | grep mem
hw.physmem: 61087744
hw.usermem: 41558016
hw.realmem: 67104768
:~ # sysctl -a | grep maxmbuf
kern.ipc.maxmbufmem: 9934848

I'm still confused that the Avila with half the RAM does not exhibit the
same problem.

> 
> Would you mind filing a PR to ensure we get that option into the
> relevant kernel(s) ?

Sure, give me a day or two.

John

> 
> (I'm kinda tempted to suggest we auto-select the scaling factor at
> startup depending upon physical RAM .. )
> 
> 
> -a
> 
> 
> On 7 July 2014 12:32, John Hay <jhay at meraka.org.za> wrote:
> > On Mon, Jul 07, 2014 at 11:59:03AM -0700, hiren panchasara wrote:
> >> On Mon, Jul 7, 2014 at 11:31 AM, Adrian Chadd <adrian at freebsd.org> wrote:
> >> > On 7 July 2014 11:28, John Hay <jhay at meraka.org.za> wrote:
> >> >> On Mon, Jul 07, 2014 at 11:22:46AM -0700, Adrian Chadd wrote:
> >> >>> On 7 July 2014 10:12, Ian Lepore <ian at freebsd.org> wrote:
> >> >>> > On Mon, 2014-07-07 at 09:25 -0700, Adrian Chadd wrote:
> >> >>> >> hi,
> >> >>> >>
> >> >>> >> That call is returning ENOMEM. I'm not sure why. It allocated an mbuf
> >> >>> >> fine, but it couldn't allocate the DMA map.
> >> >>> >>
> >> >>> >> What's the output of "vmstat -z" ? I wonder if it's failing an allocation.
> >> >>> >>
> >> >>> >>
> >> >>> >>
> >> >>> >> -a
> >> >>> >
> >> >>> > Lack of bounce buffers is a posibility that won't show up in vmstat
> >> >>> > output.
> >> >>>
> >> >>> right, but there's a bunch of already failing vmstat entries.
> >> >>>
> >> >>>
> >> >>> John - there's a vmscale parameter somewhere. Hiren had to drop it
> >> >>> down for his APs to work in 64MB of RAM. I think it's
> >> >>> vm.kmem_size_scale . What's it say for you?
> >> >>>
> >> >>
> >> >> :~ # sysctl vm.kmem_size_scale
> >> >> vm.kmem_size_scale: 3
> >> >
> >> > Ok. Search the archives for an email from Hiren titled "mbuf autotuning effect".
> >> >
> >> > TL;DR - set it to 1 and recompile. There's a kernel option somewhere
> >> > to do exactly that.
> >>
> >> Yes. http://lists.freebsd.org/pipermail/freebsd-mips/2013-September/003081.html
> >>
> >> I went through this for my tplink.
> >>
> >> John, can you show o/p of:
> >>
> >> sysctl -a | grep hw | grep mem
> >> and
> >> sysctl -a | grep maxmbuf
> >
> > I already compiled a new kernel with "options VM_KMEM_SIZE_SCALE=1" and
> > the problems went away. :-) On the new kernel the output is:
> >
> > ##########################
> > :~ # sysctl -a | grep hw | grep mem
> > hw.physmem: 128196608
> > hw.usermem: 103845888
> > hw.realmem: 134213632
> > :~ # sysctl -a | grep maxmbuf
> > kern.ipc.maxmbufmem: 62705664
> > ##########################
> >
> > I rebooted with the old kernel and its output is:
> >
> > ##########################
> > :~ # sysctl -a | grep hw | grep mem
> > hw.physmem: 128196608
> > hw.usermem: 104124416
> > hw.realmem: 134213632
> > :~ # sysctl -a | grep maxmbuf
> > kern.ipc.maxmbufmem: 20901888
> > ##########################
> >
> > So for the heck of it, I ran my script again and this time it successfully
> > configured the 3 atheros interfaces. ? How can that be? One other thing I
> > also do not understand. I have an Avila (with 64M RAM, half of the CAMBRIA),
> > also with 3 atheros cards and there it always works.
> >
> > But if "options VM_KMEM_SIZE_SCALE=1" keeps the problem away, then I'll
> > leave that in my kernel. :-)
> >
> > Thanks for everyone that helped.
> >
> > John
> > --
> > John Hay -- jhay at meraka.csir.co.za / jhay at meraka.org.za


More information about the freebsd-wireless mailing list