Repository: trafficserver Updated Branches: refs/heads/master 713121065 -> 471b96992
TS-3989: Set affinity for ET_NET 0 Project: http://git-wip-us.apache.org/repos/asf/trafficserver/repo Commit: http://git-wip-us.apache.org/repos/asf/trafficserver/commit/3b8c3c41 Tree: http://git-wip-us.apache.org/repos/asf/trafficserver/tree/3b8c3c41 Diff: http://git-wip-us.apache.org/repos/asf/trafficserver/diff/3b8c3c41 Branch: refs/heads/master Commit: 3b8c3c41b185aa7c736edf887b5e5fc78ca362f3 Parents: 7131210 Author: Phil Sorber <[email protected]> Authored: Thu Oct 29 09:29:29 2015 -0600 Committer: Phil Sorber <[email protected]> Committed: Thu Oct 29 09:58:03 2015 -0600 ---------------------------------------------------------------------- iocore/eventsystem/UnixEventProcessor.cc | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/trafficserver/blob/3b8c3c41/iocore/eventsystem/UnixEventProcessor.cc ---------------------------------------------------------------------- diff --git a/iocore/eventsystem/UnixEventProcessor.cc b/iocore/eventsystem/UnixEventProcessor.cc index 204ce21..a7d5395 100644 --- a/iocore/eventsystem/UnixEventProcessor.cc +++ b/iocore/eventsystem/UnixEventProcessor.cc @@ -80,11 +80,9 @@ EventProcessor::start(int n_event_threads, size_t stacksize) n_ethreads = n_event_threads; n_thread_groups = 1; - int first_thread = 1; - for (i = 0; i < n_event_threads; i++) { EThread *t = new EThread(REGULAR, i); - if (first_thread && !i) { + if (i == 0) { ink_thread_setspecific(Thread::thread_data_key, t); global_mutex = t->mutex; t->cur_time = ink_get_based_hrtime_internal(); @@ -135,10 +133,14 @@ EventProcessor::start(int n_event_threads, size_t stacksize) Debug("iocore_thread", "Affinity: %d %ss: %d PU: %d", affinity, obj_name, obj_count, ink_number_of_processors()); #endif - for (i = first_thread; i < n_ethreads; i++) { - snprintf(thr_name, MAX_THREAD_NAME_LENGTH, "[ET_NET %d]", i); - ink_thread tid = all_ethreads[i]->start(thr_name, stacksize); - (void)tid; + for (i = 0; i < n_ethreads; i++) { + ink_thread tid; + if (i > 0) { + snprintf(thr_name, MAX_THREAD_NAME_LENGTH, "[ET_NET %d]", i); + tid = all_ethreads[i]->start(thr_name, stacksize); + } else { + tid = ink_thread_self(); + } #if TS_USE_HWLOC if (obj_count > 0) { obj = hwloc_get_obj_by_type(ink_get_topology(), obj_type, i % obj_count); @@ -154,6 +156,8 @@ EventProcessor::start(int n_event_threads, size_t stacksize) } else { Warning("hwloc returned an unexpected value -- CPU affinity disabled"); } +#else + (void)tid; #endif // TS_USE_HWLOC }
