netmap_mem_get_info
Slawa Olhovchenkov
slw at zxy.spb.ru
Thu Feb 16 20:58:22 UTC 2017
On Thu, Feb 16, 2017 at 09:48:14PM +0100, Vincenzo Maffione wrote:
> Not sure about what you mean. Until memory areas are in use the real values
> (*_num, *_size) are not changed.
> At NIOCREGIF time you can say what allocator you are interested in by
> writing a non-zero id inside req.nr_arg2.
My application have N balancer thread and M worker thread.
Application serve outside interface w/ K rings (and ring size N) and
inside interface w/ L rings (and ring size M).
All balancer threads share rings from interfaces in next maner:
first thread open descriptors to 1st ring of inside and outside interface
next thread open descriptors to 2nd ring of inside and outside interface
and etc in round-roubin.
every balancer thread open 2 pipe to every worker thread.
how many if_num, ring_num, buf_num I am need to configure?
> 2017-02-16 21:38 GMT+01:00 Slawa Olhovchenkov <slw at zxy.spb.ru>:
>
> > On Thu, Feb 16, 2017 at 09:14:19PM +0100, Vincenzo Maffione wrote:
> >
> > > Hi,
> > > You're right, we'll try to add more details.
> > >
> > > In any case, buf_size, ring_size and if_size are the sizes in bytes of
> > each
> > > buffer, ring and netmap_if (control data structure), respectively.
> > > So the maximum amount of slots for each ring is ring_size/16, as 16 is
> > the
> > > size in bytes of struct netmap_slot.
> > >
> > > On the other side, buf_num, ring_num and if_num are the total number of
> > > biffers, rings and netmap_if objects in each netmap memory area (aka
> > > "allocator").
> > > By default there is a single memory area used by all the hardware NICs
> > and
> > > a separate memory area for each VALE port.
> > > This is already configurable, however.
> >
> > This values also depends on open netmap descriptors, right?
> >
> > > 2017-02-14 13:36 GMT+01:00 Slawa Olhovchenkov <slw at zxy.spb.ru>:
> > >
> > > > On Tue, Feb 14, 2017 at 12:26:55PM +0100, Vincenzo Maffione wrote:
> > > >
> > > > > Hi,
> > > > > Have you tried to play with netmap sysctl parameters like:
> > > > >
> > > > > dev.netmap.buf_num
> > > > > dev.netmap.ring_num
> > > > > dev.netmap.if_num
> > > > >
> > > > > those are listed in the sysctl section of the netmap man page.
> > > >
> > > > man page hide details about calcul rules of this parameters.
> > > >
> > >
> > >
> > >
> > > --
> > > Vincenzo Maffione
> >
>
>
>
> --
> Vincenzo Maffione
More information about the freebsd-net
mailing list