]> git.ipfire.org Git - thirdparty/ulogd2.git/commit
ulogd: use a RT scheduler by default
authorArturo Borrero Gonzalez <arturo@netfilter.org>
Thu, 7 Sep 2017 11:36:53 +0000 (13:36 +0200)
committerPablo Neira Ayuso <pablo@netfilter.org>
Wed, 20 Sep 2017 08:53:43 +0000 (10:53 +0200)
commit10a85d467da4e045fbc754489dfcdd8c097ed44e
tree319410f466618542c6ab17d2c003f582ee4966f5
parentfafa58537a014af5205896b8753a79b6bf1b8f44
ulogd: use a RT scheduler by default

Is common that ulogd runs in scenarios where a lot of packets are to be logged.
If there are more packets than ulogd can handle, users can start seing log
messages like this:

 ulogd[556]: We are losing events. Please, consider using the clauses \
 `netlink_socket_buffer_size' and `netlink_socket_buffer_maxsize'

Which means that Netlink buffer overrun have happened.
There are several approaches to prevent this situation:

 * in the ruleset, limit the amount of packet queued for log
 * in the ruleset, instruct the kernel to use a queue-threshold
 * from userspace, increment Netlink buffer sizes
 * from userspace, configure ulogd to run as high priority process

The first 3 method can be configured by users at runtime.
This patch deals with the last method. SCHED_RR is configured by default,
with no associated configuration parameter for users, since I believe
this is common enough, and should produce no harm.

A similar approach is used in the conntrackd daemon.

Signed-off-by: Arturo Borrero Gonzalez <arturo@netfilter.org>
Acked-by: Eric Leblond <eric@regit.org>
Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
src/ulogd.c