mbuf autotuning effect

hiren panchasara hiren.panchasara at gmail.com
Sun Sep 8 05:57:30 UTC 2013


On Sat, Sep 7, 2013 at 1:39 PM, Adrian Chadd <adrian at freebsd.org> wrote:

> On 7 September 2013 12:56, Ian Lepore <ian at freebsd.org> wrote:
>
>
>> I think the part of this that strikes me as strange is calling 20% of
>>  physical memory used for network buffers a "very low value".  It seems
>> outrageously high to me.   I'd be pissed if that much memory got wasted
>> on network buffers on one of our $work platforms with so little memory.
>>
>> So the fact that you think it's crazy-low and I think it's crazy-high
>> may be a sign that it's auto-tuned to a reasonable compromise, and in
>> both our cases the right fix would be to use the available knobs to tune
>> things for our particular uses.
>>
>
> Well, which limit is actually being hit here? 20% of 32mb is still a lot
> of memory buffers..
>
> Now, for sizing up the needed buffers for wifi:
>
> assuming 512 tx, 512 rx buffers for two ath NICs.
>
> another 512+512 buffers for each arge NICs.
>
> So, 4096 mbufs here, 2k each, so ~ 8mb of RAM.
>

And we are only getting 6mb of maxmbufmem with current setup.

 Index: mips/include/vmparam.h
===================================================================
--- mips/include/vmparam.h      (revision 255320)
+++ mips/include/vmparam.h      (working copy)
@@ -119,7 +119,7 @@
  * is the total KVA space allocated for kmem_map.
  */
 #ifndef VM_KMEM_SIZE_SCALE
-#define        VM_KMEM_SIZE_SCALE      (3)
+#define        VM_KMEM_SIZE_SCALE      (1)
 #endif

 /*

As I mentioned on another reply in the same thread, VM_KMEM_SIZE_SCALE is 1
for amd64. If I do the same for mips as above, we get
# sysctl -a | grep maxmbuf
kern.ipc.maxmbufmem: 14407680

Now, do we want to have this much rams assigned to mbufs is another
question.

cheers,
Hiren


More information about the freebsd-net mailing list