dpdk: set log write fd to non-blocking 21/13521/4
authorMatthew Smith <mgsmith@netgate.com>
Tue, 17 Jul 2018 16:40:04 +0000 (11:40 -0500)
committerDamjan Marion <dmarion@me.com>
Thu, 19 Jul 2018 12:47:35 +0000 (12:47 +0000)
commit43f02bb8a77337e2f56016529c9e46c8b8dc455a
treeb4957bc45f1a9f91f6da097277538b100cb71cf1
parent25668c899e5ee44c7a62e2782a2376f152c0a9cc
dpdk: set log write fd to non-blocking

If a PMD writes too many log messages using rte_vlog(), the
pipe for logging can fill and then rte_vlog() will block
on fflush() while it waits for something to read from the other
side of the pipe. That will never happen since the process node
that would read the other side of the pipe runs in the
same thread.

Set the write fd to non-blocking before the call to
rte_openlog_stream(). If the pipe is full, calls to write() or
fflush() will fail but execution will continue.

Change-Id: I0e5d710629633acda5617ff29897d6582c255d57
Signed-off-by: Matthew Smith <mgsmith@netgate.com>
src/plugins/dpdk/device/init.c