Report information
The Basics
Id:
46288
Status:
open
Priority:
Medium/Medium
Queue:

People
BugTracker
Version Fixed:
(no value)
Version Found:
(no value)
Versions Affected:
(no value)
Versions Planned:
9.13
Priority:
(no value)
Severity:
(no value)
CVSS Score:
(no value)
CVE ID:
(no value)
Component:
(no value)
Area:
(no value)

Dates
Created:Mon, 16 Oct 2017 01:44:16 -0400
Updated:Mon, 10 Sep 2018 15:57:02 -0400
Closed:Not set



This bug tracker is no longer active.

Please go to our Gitlab to submit issues (both feature requests and bug reports) for active projects maintained by Internet Systems Consortium (ISC).

Due to security and confidentiality requirements, full access is limited to the primary maintainers.

Date: Mon, 16 Oct 2017 05:44:16 +0000
From: ondrej@isc.org
Subject: Use recvmmsg and sendmmsg where available
To: bind-suggest@isc.org
There's a quite big performance gain when using recvmmsg and sendmmsg family of functions where available (Linux >= 3.0 + glibc >= 2.14, FreeBSD >= 11.0). The code around socket handling might have to be refactored to gain a real benefit though.
On Thu Jan 04 17:09:23 2018, bconry wrote: > In light of the recent news about Meltdown and Specter, and the expected > performance hit related to the fix for Meltdown, AT&T has asked if we're > looking into this API. => I looked at extended description of Meltdown to understand how it can affect performances: - to summary the Meltdown issue is a timing attack against the way the TLB (Translation Lookahead Buffer, the first step hardware assisted in virtual to real address mapping) is shared between the user space (ring 3) and kernel space (ring 0) during aggressive speculative execution of instructions. - note it is not clear if the issue extends to isolation between virtual machines, i.e. with ring inferior to 0. But IMHO because of the performance advantages the feature source of Meltdown provides I am afraid virtual machines are impacted too. Azure and AWS scheduled updates seem to confirm that too. - there are two ways to fix the problem. The first one is a better architecture design (i.e. MIPS or IBM vs Intel or ARM) but it should not be a surprise that performance won over security (e.g. security people insist about Harvard (separate data and instruction caches) architecture...). - second way is to not share the kernel page tables with/between user processes (Linux, Windows, macOS, ... patches) but this means the TLB is flushed at each context switch between user and kernel spaces (roughly system calls). - so the overhead in Meltdown fix is from context switches. It is a good news for any network server because performance is largely dominated by network costs. - note for benchmarking it becomes critical to put the Testing Node and the Node Under Test on different physical boxes (BTW it is the common setup). - to come back to the ticket subject any way to lower the number of system calls is good (BTW this idea was behind adaptive rw locks as on Linux locks are system calls).