Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 16 Sep 2016 17:57:52 +0300
From:      Slawa Olhovchenkov <slw@zxy.spb.ru>
To:        freebsd-net@freebsd.org
Subject:   NETMAP application architecture question
Message-ID:  <20160916145752.GC2840@zxy.spb.ru>

next in thread | raw e-mail | index | archive | help
I am wrote NETMAP application and meet some limitation.
I am use server 16-core server.
Workers thread run mostly independend, with minimal interworking.
I am use balancer threads for distributing packet flow between worker
threads.
I am using two NETMAP pipes between balancer and workers.
As result, for case of 4 balancer and 12 workers I am need 4x12x2 = 96
pipes. NETMAP have limitation of 64 pipes.

May be exist more optimal way?

May be I can emulate tilera way, with bufers credits?
(In this case balancer give RX buffers, confirm to kernel and pass it
to worker. kernel reduce credit, used for reciving other buffer from
pool. After complete worker pass buffer to balancer and balancer
return buffer to kernel, kernel rise credits and put free buffer to
pool).
In this case I am not need to many pipes and not limited performance
by too long processing of one packet.



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