It was discovered that setting the thread affinity on both the netmgr
and netthread threads lead to inconsistent recursive performance because
sometimes the netmgr and netthread threads would compete over single
resource and sometimes not.
Removing setting the affinity causes a slight dip in the authoritative
performance around 5% (the measured range was from 3.8% to 7.8%), but
the recursive performance is now consistently good.
(cherry picked from commit
a9e6a7ae57efec797d150da4021caf25067844c5)
isc_nm_t *mgr = worker->mgr;
isc__nm_tid_v = worker->id;
- isc_thread_setaffinity(isc__nm_tid_v);
while (true) {
/*
(void)manager;
bool done;
int cc;
- if (manager->nthreads > 1) {
- isc_thread_setaffinity(thread->threadid);
- }
#ifdef USE_KQUEUE
const char *fnname = "kevent()";
#elif defined(USE_EPOLL)