session: basic support for interrupt mode 85/31685/34
authorFlorin Coras <fcoras@cisco.com>
Thu, 18 Mar 2021 22:04:34 +0000 (15:04 -0700)
committerDamjan Marion <dmarion@me.com>
Tue, 6 Apr 2021 11:15:38 +0000 (11:15 +0000)
commit7da8829d8152ef5105a57231fd1d91700e9b4f6c
tree56d4014ec34ec377ae06a08150a962d855c3a170
parentd82349ecad23bfd80e9a518f595adf78f363c68d
session: basic support for interrupt mode

Experimental support for session layer interrupt mode.  When enabled
(use-private-rx-mqs must be set) session queue node switches to
interrupt state when lightly loaded, i.e., no events and less than 1
vector/dispatch.

Because transport protocols require a periodic time update, when in
interrupt state the session queue node workers register a timerfd with
the unix-epoll-input node that when triggered signals, i.e., wakes up,
the queue node. Under light load, the timer is set to trigger every 1ms
whereas if no session is allocated, the worker moves to idle state and
the timeout is set to 100ms.

Type: feature

Signed-off-by: Florin Coras <fcoras@cisco.com>
Change-Id: I905b00777fbc025faf9c4074fce4c516cd139387
src/vnet/session/application.c
src/vnet/session/session.c
src/vnet/session/session.h
src/vnet/session/session_node.c