From owner-freebsd-net@FreeBSD.ORG Sat Sep 7 01:12:00 2013 Return-Path: Delivered-To: freebsd-net@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTP id 67221954; Sat, 7 Sep 2013 01:12:00 +0000 (UTC) (envelope-from adrian.chadd@gmail.com) Received: from mail-wg0-x236.google.com (mail-wg0-x236.google.com [IPv6:2a00:1450:400c:c00::236]) (using TLSv1 with cipher ECDHE-RSA-RC4-SHA (128/128 bits)) (No client certificate requested) by mx1.freebsd.org (Postfix) with ESMTPS id C36B2201C; Sat, 7 Sep 2013 01:11:59 +0000 (UTC) Received: by mail-wg0-f54.google.com with SMTP id e11so2402009wgh.21 for ; Fri, 06 Sep 2013 18:11:58 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:sender:in-reply-to:references:date:message-id:subject :from:to:cc:content-type; bh=8nhYhl82oPmR2/49cgxbZYaWCP3Z8DJpxzxAF259HNU=; b=ills5GmgikcHuQ5xaqfJek4tq73vl5EjO5vNQ0uUx0i6l73/4cGWW9OBtSPn2mbRyp htq1mzI+jW6ofgxBsZzbIjmLteuYFI8WF+uH0WCXBNb5qFcZnUBZ+9IVshQcvSKRQ6ZC z2at3tHjhydWP2RHczVrIdll3ounq+keTVE9vO4EaTCMQYAHfKKmv4xNzlX+sVgfS4Ye 3zaiXtmDJnefj5zQHfTkoX9gIYYwkGCALI+fxXmzt2Qat8P0YLeKXh6R4TbsDa2lYacc gt7pIbr0fDFclRQMSCrD4XGMTF2Mg+vAZD1Eh2YrWSxenyLCVkANLuzXXhHPYf/00KCD 4ugw== MIME-Version: 1.0 X-Received: by 10.180.211.3 with SMTP id my3mr465306wic.46.1378516318289; Fri, 06 Sep 2013 18:11:58 -0700 (PDT) Sender: adrian.chadd@gmail.com Received: by 10.216.73.133 with HTTP; Fri, 6 Sep 2013 18:11:58 -0700 (PDT) In-Reply-To: References: Date: Fri, 6 Sep 2013 18:11:58 -0700 X-Google-Sender-Auth: kPN8wb3xpJJNRvh9L4uC7MGiMk0 Message-ID: Subject: Re: mbuf autotuning effect From: Adrian Chadd To: hiren panchasara Content-Type: text/plain; charset=ISO-8859-1 X-Content-Filtered-By: Mailman/MimeDel 2.1.14 Cc: "freebsd-net@freebsd.org" , "freebsd-mips@freebsd.org" X-BeenThere: freebsd-net@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: Networking and TCP/IP with FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 07 Sep 2013 01:12:00 -0000 Yeah, why is VM_KMEM_SIZE only 12mbyte for MIPS? That's a little low for a platform that has a direct map that's slightly larger than 12mb :) Warner? Juli? -adrian On 6 September 2013 16:36, hiren panchasara wrote: > We are seeing an interesting thing on a mips board with 32MB ram. > > We run out of mbuf very easily and looking at numbers it seems we are only > getting 6mb of maxmbufmem. > > # sysctl -a | grep hw | grep mem > hw.physmem: 33554432 > hw.usermem: 21774336 > hw.realmem: 33554432 > # > # sysctl -a | grep maxmbuf > kern.ipc.maxmbufmem: 6291456 > > I believe that number is very low for a board with 32mb of ram. > > Looking at the code: > > sys/kern/kern_mbuf.c : tunable_mbinit() > > 124 realmem = qmin((quad_t)physmem * PAGE_SIZE, vm_kmem_size); > 125 maxmbufmem = realmem / 2; > 126 TUNABLE_QUAD_FETCH("kern.ipc.maxmbufmem", &maxmbufmem); > 127 if (maxmbufmem > realmem / 4 * 3) > 128 maxmbufmem = realmem / 4 * 3; > > So, realmem plays important role in determining maxmbufmem. > > physmem = 32mb > PAGE_SIZE = 4096 > > vm_kmem_size is calculated inside sys/kern/kern_malloc.c : kmeminit() > > 705 vm_kmem_size = VM_KMEM_SIZE + nmbclusters * PAGE_SIZE; > 706 mem_size = cnt.v_page_count; > 707 > 708 #if defined(VM_KMEM_SIZE_SCALE) > 709 vm_kmem_size_scale = VM_KMEM_SIZE_SCALE; > 710 #endif > 711 TUNABLE_INT_FETCH("vm.kmem_size_scale", &vm_kmem_size_scale); > 712 if (vm_kmem_size_scale > 0 && > 713 (mem_size / vm_kmem_size_scale) > (vm_kmem_size / > PAGE_SIZE)) > 714 vm_kmem_size = (mem_size / vm_kmem_size_scale) * > PAGE_SIZE; > > here, > VM_KMEM_SIZE = 12*1024*1024 > nmbclusters = 0 (initially) > PAGE_SIZE = 4096 > # sysctl -a | grep v_page_count > vm.stats.vm.v_page_count: 7035 > > and VM_KMEM_SIZE_SCALE = 3 for mips. > > So, vm_kmem_size = 12mb. > > Going back to tunable_mbinit(), > we get realmem = 12mb. > and masmbufmem = 6mb. > > > Wanted to see if I am following the code correctly and how autotuning > should work here. > > cheers, > Hiren > _______________________________________________ > freebsd-net@freebsd.org mailing list > http://lists.freebsd.org/mailman/listinfo/freebsd-net > To unsubscribe, send any mail to "freebsd-net-unsubscribe@freebsd.org" >