From 817613a973a28e6aa281098881c56d5fe160257e Mon Sep 17 00:00:00 2001 From: Daniel Xu Date: Sun, 12 Apr 2015 23:39:51 -0500 Subject: [PATCH 1/4] TS-1774 Move gethrtime functions into Thread class Tested: Debian Jessie Testing Author: Daniel Xu Moved ink_get_hrtime() and ink_get_based_hrtime() into the Thread.cc class and made them static functions as well to support object free calling. Also changed all references in code base to these two functions to refer to Thread::ink_get_... instead. --- iocore/aio/AIO.cc | 4 +- iocore/cache/CacheDir.cc | 4 +- iocore/cache/CacheRead.cc | 2 +- iocore/cache/CacheWrite.cc | 6 +-- iocore/cache/P_CacheInternal.h | 2 +- iocore/cache/P_CacheTest.h | 2 +- iocore/cluster/ClusterCache.cc | 18 ++++---- iocore/cluster/ClusterConfig.cc | 6 +-- iocore/cluster/ClusterHandler.cc | 26 ++++++------ iocore/cluster/ClusterLoadMonitor.cc | 4 +- iocore/cluster/ClusterProcessor.cc | 8 ++-- iocore/dns/DNS.cc | 14 +++---- iocore/dns/P_DNSProcessor.h | 8 ++-- iocore/eventsystem/I_Thread.h | 5 ++- iocore/eventsystem/P_Thread.h | 12 ------ iocore/eventsystem/P_UnixEventProcessor.h | 4 +- iocore/eventsystem/Thread.cc | 12 ++++++ iocore/eventsystem/UnixEvent.cc | 4 +- iocore/hostdb/HostDB.cc | 6 +-- iocore/net/OCSPStapling.cc | 4 +- iocore/net/P_UnixNet.h | 8 ++-- iocore/net/P_UnixNetVConnection.h | 2 +- iocore/net/SSLNetVConnection.cc | 2 +- iocore/net/SSLNextProtocolAccept.cc | 2 +- iocore/net/UnixNet.cc | 2 +- iocore/net/UnixNetAccept.cc | 12 +++--- iocore/net/UnixNetPages.cc | 2 +- iocore/net/UnixNetProcessor.cc | 2 +- iocore/net/UnixNetVConnection.cc | 6 +-- proxy/ICP.cc | 10 ++--- proxy/ICP.h | 2 +- proxy/ICPConfig.cc | 8 ++-- proxy/InkAPI.cc | 4 +- proxy/InkIOCoreAPI.cc | 2 +- proxy/Main.cc | 2 +- proxy/PluginVC.cc | 6 +-- proxy/StatSystem.cc | 2 +- proxy/Update.cc | 4 +- proxy/congest/Congestion.cc | 2 +- proxy/congest/Congestion.h | 2 +- proxy/congest/CongestionDB.cc | 4 +- proxy/http/HttpSM.cc | 50 +++++++++++------------ proxy/http/HttpTransact.cc | 4 +- proxy/logging/Log.cc | 4 +- proxy/logging/LogObject.cc | 2 +- 45 files changed, 149 insertions(+), 148 deletions(-) diff --git a/iocore/aio/AIO.cc b/iocore/aio/AIO.cc index 4dd18429d2b..64fa4d10d01 100644 --- a/iocore/aio/AIO.cc +++ b/iocore/aio/AIO.cc @@ -70,7 +70,7 @@ aio_stats_cb(const char * /* name ATS_UNUSED */, RecDataT data_type, RecData *da int64_t new_val = 0; int64_t diff = 0; int64_t count, sum; - ink_hrtime now = ink_get_hrtime(); + ink_hrtime now = Thread::ink_get_hrtime(); // The RecGetGlobalXXX stat functions are cheaper than the // RecGetXXX functions. The Global ones are expensive // for increments and decrements. But for AIO stats we @@ -504,7 +504,7 @@ aio_thread_main(void *arg) op->thread->schedule_imm_signal(op); ink_mutex_acquire(&my_aio_req->aio_mutex); } while (1); - timespec timedwait_msec = ink_hrtime_to_timespec(ink_get_hrtime() + HRTIME_MSECONDS(net_config_poll_timeout)); + timespec timedwait_msec = ink_hrtime_to_timespec(Thread::ink_get_hrtime() + HRTIME_MSECONDS(net_config_poll_timeout)); ink_cond_timedwait(&my_aio_req->aio_cond, &my_aio_req->aio_mutex, &timedwait_msec); } return 0; diff --git a/iocore/cache/CacheDir.cc b/iocore/cache/CacheDir.cc index ec2de8f55aa..3288975d974 100644 --- a/iocore/cache/CacheDir.cc +++ b/iocore/cache/CacheDir.cc @@ -1155,7 +1155,7 @@ CacheSync::mainEvent(int event, Event *e) } if (!vol->dir_sync_in_progress) - start_time = ink_get_hrtime(); + start_time = Thread::ink_get_hrtime(); // recompute hit_evacuate_window vol->hit_evacuate_window = (vol->data_blocks * cache_config_hit_evacuate_percent) / 100; @@ -1234,7 +1234,7 @@ CacheSync::mainEvent(int event, Event *e) } else { vol->dir_sync_in_progress = 0; CACHE_INCREMENT_DYN_STAT(cache_directory_sync_count_stat); - CACHE_SUM_DYN_STAT(cache_directory_sync_time_stat, ink_get_hrtime() - start_time); + CACHE_SUM_DYN_STAT(cache_directory_sync_time_stat, Thread::ink_get_hrtime() - start_time); start_time = 0; goto Ldone; } diff --git a/iocore/cache/CacheRead.cc b/iocore/cache/CacheRead.cc index 4ba02f4dff7..ddbeae19258 100644 --- a/iocore/cache/CacheRead.cc +++ b/iocore/cache/CacheRead.cc @@ -300,7 +300,7 @@ CacheVC::openReadFromWriter(int event, Event *e) // before the open_write, but the reader could not get the volume // lock. If we don't reset the clock here, we won't choose any writer // and hence fail the read request. - start_time = ink_get_hrtime(); + start_time = Thread::ink_get_hrtime(); f.read_from_writer_called = 1; } cancel_trigger(); diff --git a/iocore/cache/CacheWrite.cc b/iocore/cache/CacheWrite.cc index 4e6319eed7f..13fabe73554 100644 --- a/iocore/cache/CacheWrite.cc +++ b/iocore/cache/CacheWrite.cc @@ -166,7 +166,7 @@ CacheVC::updateVector(int /* event ATS_UNUSED */, Event * /* e ATS_UNUSED */) - total_len. The total number of bytes for the document so far. Doc->total_len and alternate's total len is set to this value. - first_key. Doc's first_key is set to this value. - - pin_in_cache. Doc's pinned value is set to this + ink_get_hrtime(). + - pin_in_cache. Doc's pinned value is set to this + Thread::ink_get_hrtime(). - earliest_key. If f.use_first_key, Doc's key is set to this value. - key. If !f.use_first_key, Doc's key is set to this value. - blocks. Used only if write_len is set. Data to be written @@ -615,7 +615,7 @@ Vol::evacuateDocReadDone(int event, Event *e) } if (!b) goto Ldone; - if ((b->f.pinned && !b->readers) && doc->pinned < (uint32_t)(ink_get_based_hrtime() / HRTIME_SECOND)) + if ((b->f.pinned && !b->readers) && doc->pinned < (uint32_t)(Thread::ink_get_based_hrtime() / HRTIME_SECOND)) goto Ldone; if (dir_head(&b->dir) && b->f.evacuate_head) { @@ -752,7 +752,7 @@ agg_copy(char *p, CacheVC *vc) doc->checksum = DOC_NO_CHECKSUM; if (vc->pin_in_cache) { dir_set_pinned(&vc->dir, 1); - doc->pinned = (uint32_t)(ink_get_based_hrtime() / HRTIME_SECOND) + vc->pin_in_cache; + doc->pinned = (uint32_t)(Thread::ink_get_based_hrtime() / HRTIME_SECOND) + vc->pin_in_cache; } else { dir_set_pinned(&vc->dir, 0); doc->pinned = 0; diff --git a/iocore/cache/P_CacheInternal.h b/iocore/cache/P_CacheInternal.h index 569182dd062..ba4f5c3e170 100644 --- a/iocore/cache/P_CacheInternal.h +++ b/iocore/cache/P_CacheInternal.h @@ -559,7 +559,7 @@ new_CacheVC(Continuation *cont) c->_action = cont; c->initial_thread = t->tt == DEDICATED ? NULL : t; c->mutex = cont->mutex; - c->start_time = ink_get_hrtime(); + c->start_time = Thread::ink_get_hrtime(); ink_assert(c->trigger == NULL); Debug("cache_new", "new %p", c); #ifdef CACHE_STAT_PAGES diff --git a/iocore/cache/P_CacheTest.h b/iocore/cache/P_CacheTest.h index f3928e91e30..2369f72dfde 100644 --- a/iocore/cache/P_CacheTest.h +++ b/iocore/cache/P_CacheTest.h @@ -94,7 +94,7 @@ struct CacheTestSM : public RegressionSM { void make_request() { - start_time = ink_get_hrtime(); + start_time = Thread::ink_get_hrtime(); make_request_internal(); } virtual void make_request_internal() = 0; diff --git a/iocore/cluster/ClusterCache.cc b/iocore/cluster/ClusterCache.cc index 198d8e1bf74..645ede8acff 100644 --- a/iocore/cluster/ClusterCache.cc +++ b/iocore/cluster/ClusterCache.cc @@ -393,7 +393,7 @@ CacheContinuation::do_op(Continuation *c, ClusterMachine *mp, void *args, int us cc->mutex = c->mutex; cc->action = c; cc->action.cancelled = false; - cc->start_time = ink_get_hrtime(); + cc->start_time = Thread::ink_get_hrtime(); cc->from = mp; cc->result = op_failure(opcode); SET_CONTINUATION_HANDLER(cc, (CacheContHandler)&CacheContinuation::remoteOpEvent); @@ -832,7 +832,7 @@ CacheContinuation::localVCsetupEvent(int event, ClusterVConnection *vc) } else if (((event == CLUSTER_EVENT_OPEN) || (event == CLUSTER_EVENT_OPEN_EXISTS)) && (((ptrdiff_t)timeout & (ptrdiff_t)1) == 0)) { ink_hrtime now; - now = ink_get_hrtime(); + now = Thread::ink_get_hrtime(); CLUSTER_SUM_DYN_STAT(CLUSTER_OPEN_DELAY_TIME_STAT, now - start_time); LOG_EVENT_TIME(start_time, open_delay_time_dist, open_delay_events); if (read_op) { @@ -1046,7 +1046,7 @@ cache_op_ClusterFunction(ClusterHandler *ch, void *data, int len) MUTEX_TRY_LOCK(lock, c->mutex, this_ethread()); c->request_opcode = opcode; c->token.clear(); - c->start_time = ink_get_hrtime(); + c->start_time = Thread::ink_get_hrtime(); c->ch = ch; SET_CONTINUATION_HANDLER(c, (CacheContHandler)&CacheContinuation::replyOpEvent); @@ -1556,7 +1556,7 @@ CacheContinuation::replyOpEvent(int event, VConnection *cvc) ink_assert(magicno == (int)MagicNo); Debug("cache_proto", "replyOpEvent(this=%p,event=%d,VC=%p)", this, event, cvc); ink_hrtime now; - now = ink_get_hrtime(); + now = Thread::ink_get_hrtime(); CLUSTER_SUM_DYN_STAT(CLUSTER_CACHE_CALLBACK_TIME_STAT, now - start_time); LOG_EVENT_TIME(start_time, callback_time_dist, cache_callbacks); ink_release_assert(expect_cache_callback); @@ -1992,7 +1992,7 @@ cache_op_result_ClusterFunction(ClusterHandler *ch, void *d, int l) c->seq_number = msg->seq_number; c->target_ip = ch->machine->ip; SET_CONTINUATION_HANDLER(c, (CacheContHandler)&CacheContinuation::handleReplyEvent); - c->start_time = ink_get_hrtime(); + c->start_time = Thread::ink_get_hrtime(); c->result = msg->result; if (event_is_open(msg->result)) c->token = msg->token; @@ -2094,11 +2094,11 @@ CacheContinuation::remoteOpEvent(int event_code, Event *e) res = rmsg->result; } if ((res == CACHE_EVENT_LOOKUP) || (res == CACHE_EVENT_LOOKUP_FAILED)) { - now = ink_get_hrtime(); + now = Thread::ink_get_hrtime(); CLUSTER_SUM_DYN_STAT(CLUSTER_CACHE_LKRMT_CALLBACK_TIME_STAT, now - start_time); LOG_EVENT_TIME(start_time, lkrmt_callback_time_dist, lkrmt_cache_callbacks); } else { - now = ink_get_hrtime(); + now = Thread::ink_get_hrtime(); CLUSTER_SUM_DYN_STAT(CLUSTER_CACHE_RMT_CALLBACK_TIME_STAT, now - start_time); LOG_EVENT_TIME(start_time, rmt_callback_time_dist, rmt_cache_callbacks); } @@ -2445,7 +2445,7 @@ CacheContinuation::do_remote_lookup(Continuation *cont, CacheKey *key, CacheCont c->url_md5 = msg->url_md5; c->action.cancelled = false; c->action = cont; - c->start_time = ink_get_hrtime(); + c->start_time = Thread::ink_get_hrtime(); SET_CONTINUATION_HANDLER(c, (CacheContHandler)&CacheContinuation::remoteOpEvent); c->result = CACHE_EVENT_LOOKUP_FAILED; @@ -2562,7 +2562,7 @@ int CacheContinuation::replyLookupEvent(int event, void * /* d ATS_UNUSED */) { ink_hrtime now; - now = ink_get_hrtime(); + now = Thread::ink_get_hrtime(); CLUSTER_SUM_DYN_STAT(CLUSTER_CACHE_CALLBACK_TIME_STAT, now - start_time); LOG_EVENT_TIME(start_time, callback_time_dist, cache_callbacks); diff --git a/iocore/cluster/ClusterConfig.cc b/iocore/cluster/ClusterConfig.cc index cac00144267..1e439d140ea 100644 --- a/iocore/cluster/ClusterConfig.cc +++ b/iocore/cluster/ClusterConfig.cc @@ -303,7 +303,7 @@ configuration_add_machine(ClusterConfiguration *c, ClusterMachine *m) cc->n_machines++; cc->link.next = c; - cc->changed = ink_get_hrtime(); + cc->changed = Thread::ink_get_hrtime(); ink_assert(cc->n_machines < CLUSTER_MAX_MACHINES); build_cluster_hash_table(cc); @@ -335,7 +335,7 @@ configuration_remove_machine(ClusterConfiguration *c, ClusterMachine *m) ink_assert(cc->n_machines > 0); cc->link.next = c; - cc->changed = ink_get_hrtime(); + cc->changed = Thread::ink_get_hrtime(); build_cluster_hash_table(cc); INK_MEMORY_BARRIER; // commit writes before freeing old hash table @@ -362,7 +362,7 @@ cluster_machine_at_depth(unsigned int hash, int *pprobe_depth, ClusterMachine ** #endif ClusterConfiguration *cc = this_cluster()->current_configuration(); ClusterConfiguration *next_cc = cc; - ink_hrtime now = ink_get_hrtime(); + ink_hrtime now = Thread::ink_get_hrtime(); int fake_probe_depth = 0; int &probe_depth = pprobe_depth ? (*pprobe_depth) : fake_probe_depth; int tprobe_depth = probe_depth; diff --git a/iocore/cluster/ClusterHandler.cc b/iocore/cluster/ClusterHandler.cc index 979bc8d8b15..ce6120fba14 100644 --- a/iocore/cluster/ClusterHandler.cc +++ b/iocore/cluster/ClusterHandler.cc @@ -285,7 +285,7 @@ ClusterHandler::close_ClusterVConnection(ClusterVConnection *vc) } clusterProcessor.invoke_remote(vc->ch, CLOSE_CHANNEL_CLUSTER_FUNCTION, data, len); } - ink_hrtime now = ink_get_hrtime(); + ink_hrtime now = Thread::ink_get_hrtime(); CLUSTER_DECREMENT_DYN_STAT(CLUSTER_CONNECTIONS_OPEN_STAT); CLUSTER_SUM_DYN_STAT(CLUSTER_CON_TOTAL_TIME_STAT, now - vc->start_time); if (!local_channel(channel)) { @@ -395,7 +395,7 @@ ClusterHandler::build_initial_vector(bool read_flag) // This isn't used. // MIOBuffer *w; - ink_hrtime now = ink_get_hrtime(); + ink_hrtime now = Thread::ink_get_hrtime(); ClusterState &s = (read_flag ? read : write); OutgoingControl *oc = s.msg.outgoing_control.head; IncomingControl *ic = incoming_control.head; @@ -879,7 +879,7 @@ ClusterHandler::process_small_control_msgs() read.msg.did_small_control_msgs = 1; } - ink_hrtime now = ink_get_hrtime(); + ink_hrtime now = Thread::ink_get_hrtime(); char *p = (char *)&read.msg.descriptor[read.msg.count] + read.msg.control_data_offset; char *endp = (char *)&read.msg.descriptor[read.msg.count] + read.msg.control_bytes; @@ -1139,7 +1139,7 @@ ClusterHandler::process_incoming_callouts(ProxyMutex *m) //////////////////////////////// ink_assert(!clusterFunction[cluster_function_index].ClusterFunc); clusterFunction[cluster_function_index].pfn(this, p, len - sizeof(int32_t)); - now = ink_get_hrtime(); + now = Thread::ink_get_hrtime(); CLUSTER_SUM_DYN_STAT(CLUSTER_CTRL_MSGS_RECV_TIME_STAT, now - ic->recognized_time); } else { Warning("2Bad cluster function index (small control)"); @@ -1160,7 +1160,7 @@ ClusterHandler::process_incoming_callouts(ProxyMutex *m) //////////////////////////////// ink_assert(!clusterFunction[cluster_function_index].ClusterFunc); clusterFunction[cluster_function_index].pfn(this, (void *)(ic->data + sizeof(int32_t)), ic->len - sizeof(int32_t)); - now = ink_get_hrtime(); + now = Thread::ink_get_hrtime(); CLUSTER_SUM_DYN_STAT(CLUSTER_CTRL_MSGS_RECV_TIME_STAT, now - ic->recognized_time); } else { valid_index = false; @@ -1410,7 +1410,7 @@ ClusterHandler::update_channels_written() OutgoingControl *oc = write.msg.outgoing_control.dequeue(); oc->free_data(); oc->mutex = NULL; - now = ink_get_hrtime(); + now = Thread::ink_get_hrtime(); CLUSTER_SUM_DYN_STAT(CLUSTER_CTRL_MSGS_SEND_TIME_STAT, now - oc->submit_time); LOG_EVENT_TIME(oc->submit_time, cluster_send_time_dist, cluster_send_events); oc->freeall(); @@ -1436,7 +1436,7 @@ ClusterHandler::update_channels_written() // Free descriptor hdr_oc->free_data(); hdr_oc->mutex = NULL; - now = ink_get_hrtime(); + now = Thread::ink_get_hrtime(); CLUSTER_SUM_DYN_STAT(CLUSTER_CTRL_MSGS_SEND_TIME_STAT, now - hdr_oc->submit_time); LOG_EVENT_TIME(hdr_oc->submit_time, cluster_send_time_dist, cluster_send_events); hdr_oc->freeall(); @@ -1802,7 +1802,7 @@ ClusterHandler::add_small_controlmsg_descriptors() c->free_data(); c->mutex = NULL; p += c->len; - ink_hrtime now = ink_get_hrtime(); + ink_hrtime now = Thread::ink_get_hrtime(); CLUSTER_SUM_DYN_STAT(CLUSTER_CTRL_MSGS_SEND_TIME_STAT, now - c->submit_time); LOG_EVENT_TIME(c->submit_time, cluster_send_time_dist, cluster_send_events); c->freeall(); @@ -2325,7 +2325,7 @@ int ClusterHandler::mainClusterEvent(int event, Event *e) { // Set global time - current_time = ink_get_hrtime(); + current_time = Thread::ink_get_hrtime(); if (CacheClusterMonitorEnabled) { if ((current_time - last_trace_dump) > HRTIME_SECONDS(CacheClusterMonitorIntervalSecs)) { @@ -2457,7 +2457,7 @@ int ClusterHandler::process_read(ink_hrtime /* now ATS_UNUSED */) _n_read_start++; #endif read.msg.clear(); - read.start_time = ink_get_hrtime(); + read.start_time = Thread::ink_get_hrtime(); if (build_initial_vector(CLUSTER_READ)) { read.state = ClusterState::READ_HEADER; } else { @@ -2708,7 +2708,7 @@ int ClusterHandler::process_read(ink_hrtime /* now ATS_UNUSED */) #ifdef CLUSTER_STATS _n_read_complete++; #endif - ink_hrtime rdmsg_end_time = ink_get_hrtime(); + ink_hrtime rdmsg_end_time = Thread::ink_get_hrtime(); CLUSTER_SUM_DYN_STAT(CLUSTER_RDMSG_ASSEMBLE_TIME_STAT, rdmsg_end_time - read.start_time); read.start_time = HRTIME_MSECONDS(0); if (dump_msgs) @@ -2750,7 +2750,7 @@ ClusterHandler::process_write(ink_hrtime now, bool only_write_control_msgs) _n_write_start++; #endif write.msg.clear(); - write.last_time = ink_get_hrtime(); + write.last_time = Thread::ink_get_hrtime(); pw_write_descriptors_built = -1; pw_freespace_descriptors_built = -1; pw_controldata_descriptors_built = -1; @@ -2898,7 +2898,7 @@ ClusterHandler::process_write(ink_hrtime now, bool only_write_control_msgs) _n_write_complete++; #endif write.state = ClusterState::WRITE_START; - ink_hrtime curtime = ink_get_hrtime(); + ink_hrtime curtime = Thread::ink_get_hrtime(); if (!on_stolen_thread) { // diff --git a/iocore/cluster/ClusterLoadMonitor.cc b/iocore/cluster/ClusterLoadMonitor.cc index 6d79a0bafd2..c24a3559268 100644 --- a/iocore/cluster/ClusterLoadMonitor.cc +++ b/iocore/cluster/ClusterLoadMonitor.cc @@ -229,7 +229,7 @@ void ClusterLoadMonitor::recv_cluster_load_msg(cluster_load_ping_msg *m) { // We have received back our ping message. - ink_hrtime now = ink_get_hrtime(); + ink_hrtime now = Thread::ink_get_hrtime(); if ((now >= m->send_time) && ((m->sequence_number >= cluster_load_msg_start_sequence_number) && (m->sequence_number < cluster_load_msg_sequence_number))) { @@ -285,7 +285,7 @@ ClusterLoadMonitor::cluster_load_periodic(int /* event ATS_UNUSED */, Event * /* } // Generate periodic ping messages. - ink_hrtime current_time = ink_get_hrtime(); + ink_hrtime current_time = Thread::ink_get_hrtime(); if ((current_time - last_ping_message_sent) > HRTIME_MSECONDS(ping_message_send_msec_interval)) { send_cluster_load_msg(current_time); last_ping_message_sent = current_time; diff --git a/iocore/cluster/ClusterProcessor.cc b/iocore/cluster/ClusterProcessor.cc index 843c30aff90..43f58a31f7a 100644 --- a/iocore/cluster/ClusterProcessor.cc +++ b/iocore/cluster/ClusterProcessor.cc @@ -91,7 +91,7 @@ ClusterProcessor::internal_invoke_remote(ClusterHandler *ch, int cluster_fn, voi c = OutgoingControl::alloc(); } CLUSTER_INCREMENT_DYN_STAT(CLUSTER_CTRL_MSGS_SENT_STAT); - c->submit_time = ink_get_hrtime(); + c->submit_time = Thread::ink_get_hrtime(); if (malloced) { c->set_data((char *)data, len); @@ -184,7 +184,7 @@ ClusterProcessor::invoke_remote_data(ClusterHandler *ch, int cluster_fn, void *d mh.token = *token; OutgoingControl *chdr = OutgoingControl::alloc(); - chdr->submit_time = ink_get_hrtime(); + chdr->submit_time = Thread::ink_get_hrtime(); chdr->len = sizeof(int32_t) + sizeof(mh); chdr->alloc_data(); *(int32_t *)chdr->data = -1; // always -1 for compound message @@ -243,7 +243,7 @@ ClusterProcessor::open_local(Continuation *cont, ClusterMachine * /* m ATS_UNUSE ProxyMutex *mutex = thread->mutex; ClusterVConnection *vc = clusterVCAllocator.alloc(); vc->new_connect_read = (options & CLUSTER_OPT_CONN_READ ? 1 : 0); - vc->start_time = ink_get_hrtime(); + vc->start_time = Thread::ink_get_hrtime(); vc->last_activity_time = vc->start_time; vc->ch = ch; vc->token.alloc(); @@ -313,7 +313,7 @@ ClusterProcessor::connect_local(Continuation *cont, ClusterVCToken *token, int c ProxyMutex *mutex = thread->mutex; ClusterVConnection *vc = clusterVCAllocator.alloc(); vc->new_connect_read = (options & CLUSTER_OPT_CONN_READ ? 1 : 0); - vc->start_time = ink_get_hrtime(); + vc->start_time = Thread::ink_get_hrtime(); vc->last_activity_time = vc->start_time; vc->ch = ch; vc->token = *token; diff --git a/iocore/dns/DNS.cc b/iocore/dns/DNS.cc index bd185ce0fc2..dfb9d885c9c 100644 --- a/iocore/dns/DNS.cc +++ b/iocore/dns/DNS.cc @@ -367,7 +367,7 @@ DNSEntry::init(const char *x, int len, int qtype_arg, Continuation *acont, DNSPr qtype = T_AAAA; } } - submit_time = ink_get_hrtime(); + submit_time = Thread::ink_get_hrtime(); action = acont; submit_thread = acont->mutex->thread_holding; @@ -577,7 +577,7 @@ DNSHandler::retry_named(int ndx, ink_hrtime t, bool reopen) void DNSHandler::try_primary_named(bool reopen) { - ink_hrtime t = ink_get_hrtime(); + ink_hrtime t = Thread::ink_get_hrtime(); if (reopen && ((t - last_primary_reopen) > DNS_PRIMARY_REOPEN_PERIOD)) { Debug("dns", "try_primary_named: reopening primary DNS connection"); last_primary_reopen = t; @@ -796,7 +796,7 @@ DNSHandler::mainEvent(int event, Event *e) { recv_dns(event, e); if (dns_ns_rr) { - ink_hrtime t = ink_get_hrtime(); + ink_hrtime t = Thread::ink_get_hrtime(); if (t - last_primary_retry > DNS_PRIMARY_RETRY_PERIOD) { for (int i = 0; i < n_con; i++) { if (ns_down[i]) { @@ -993,7 +993,7 @@ write_dns_event(DNSHandler *h, DNSEntry *e) ++h->in_flight; DNS_INCREMENT_DYN_STAT(dns_in_flight_stat); - e->send_time = ink_get_hrtime(); + e->send_time = Thread::ink_get_hrtime(); if (e->timeout) e->timeout->cancel(); @@ -1159,9 +1159,9 @@ dns_result(DNSHandler *h, DNSEntry *e, HostEnt *ent, bool retry) ent = NULL; if (!cancelled) { if (!ent) { - DNS_SUM_DYN_STAT(dns_fail_time_stat, ink_get_hrtime() - e->submit_time); + DNS_SUM_DYN_STAT(dns_fail_time_stat, Thread::ink_get_hrtime() - e->submit_time); } else { - DNS_SUM_DYN_STAT(dns_success_time_stat, ink_get_hrtime() - e->submit_time); + DNS_SUM_DYN_STAT(dns_success_time_stat, Thread::ink_get_hrtime() - e->submit_time); } } h->entries.remove(e); @@ -1298,7 +1298,7 @@ dns_process(DNSHandler *handler, HostEnt *buf, int len) --(handler->in_flight); DNS_DECREMENT_DYN_STAT(dns_in_flight_stat); - DNS_SUM_DYN_STAT(dns_response_time_stat, ink_get_hrtime() - e->send_time); + DNS_SUM_DYN_STAT(dns_response_time_stat, Thread::ink_get_hrtime() - e->send_time); if (h->rcode != NOERROR || !h->ancount) { Debug("dns", "received rcode = %d", h->rcode); diff --git a/iocore/dns/P_DNSProcessor.h b/iocore/dns/P_DNSProcessor.h index 09c23840b3a..9f32a45bbcd 100644 --- a/iocore/dns/P_DNSProcessor.h +++ b/iocore/dns/P_DNSProcessor.h @@ -229,7 +229,7 @@ struct DNSHandler : public Continuation { ++failover_number[name_server]; Debug("dns", "sent_one: failover_number for resolver %d is %d", name_server, failover_number[name_server]); if (failover_number[name_server] >= dns_failover_number && !crossed_failover_number[name_server]) - crossed_failover_number[name_server] = ink_get_hrtime(); + crossed_failover_number[name_server] = Thread::ink_get_hrtime(); } bool @@ -238,16 +238,16 @@ struct DNSHandler : public Continuation { if (is_debug_tag_set("dns")) { Debug("dns", "failover_now: Considering immediate failover, target time is %" PRId64 "", (ink_hrtime)HRTIME_SECONDS(dns_failover_period)); - Debug("dns", "\tdelta time is %" PRId64 "", (ink_get_hrtime() - crossed_failover_number[i])); + Debug("dns", "\tdelta time is %" PRId64 "", (Thread::ink_get_hrtime() - crossed_failover_number[i])); } - return (crossed_failover_number[i] && ((ink_get_hrtime() - crossed_failover_number[i]) > HRTIME_SECONDS(dns_failover_period))); + return (crossed_failover_number[i] && ((Thread::ink_get_hrtime() - crossed_failover_number[i]) > HRTIME_SECONDS(dns_failover_period))); } bool failover_soon(int i) { return (crossed_failover_number[i] && - ((ink_get_hrtime() - crossed_failover_number[i]) > + ((Thread::ink_get_hrtime() - crossed_failover_number[i]) > (HRTIME_SECONDS(dns_failover_try_period + failover_soon_number[i] * FAILOVER_SOON_RETRY)))); } diff --git a/iocore/eventsystem/I_Thread.h b/iocore/eventsystem/I_Thread.h index 0fde5396c4c..5365b71f92e 100644 --- a/iocore/eventsystem/I_Thread.h +++ b/iocore/eventsystem/I_Thread.h @@ -155,10 +155,11 @@ class Thread execute() { } + + static ink_hrtime ink_get_hrtime(); + static ink_hrtime ink_get_based_hrtime(); }; -extern ink_hrtime ink_get_hrtime(); -extern ink_hrtime ink_get_based_hrtime(); extern Thread *this_thread(); #endif /*_I_Thread_h*/ diff --git a/iocore/eventsystem/P_Thread.h b/iocore/eventsystem/P_Thread.h index 04c111d8fac..c7cce80fb86 100644 --- a/iocore/eventsystem/P_Thread.h +++ b/iocore/eventsystem/P_Thread.h @@ -53,16 +53,4 @@ this_thread() return (Thread *)ink_thread_getspecific(Thread::thread_data_key); } -TS_INLINE ink_hrtime -ink_get_hrtime() -{ - return Thread::cur_time; -} - -TS_INLINE ink_hrtime -ink_get_based_hrtime() -{ - return Thread::cur_time; -} - #endif //_P_Thread_h_ diff --git a/iocore/eventsystem/P_UnixEventProcessor.h b/iocore/eventsystem/P_UnixEventProcessor.h index 132c9779cbf..4870a03c623 100644 --- a/iocore/eventsystem/P_UnixEventProcessor.h +++ b/iocore/eventsystem/P_UnixEventProcessor.h @@ -129,7 +129,7 @@ EventProcessor::schedule_in(Continuation *cont, ink_hrtime t, EventType et, int ink_assert(et < MAX_EVENT_TYPES); e->callback_event = callback_event; e->cookie = cookie; - return schedule(e->init(cont, ink_get_based_hrtime() + t, 0), et); + return schedule(e->init(cont, Thread::ink_get_based_hrtime() + t, 0), et); } TS_INLINE Event * @@ -144,7 +144,7 @@ EventProcessor::schedule_every(Continuation *cont, ink_hrtime t, EventType et, i if (t < 0) return schedule(e->init(cont, t, t), et); else - return schedule(e->init(cont, ink_get_based_hrtime() + t, t), et); + return schedule(e->init(cont, Thread::ink_get_based_hrtime() + t, t), et); } diff --git a/iocore/eventsystem/Thread.cc b/iocore/eventsystem/Thread.cc index 3dabb82d06e..14296d707c0 100644 --- a/iocore/eventsystem/Thread.cc +++ b/iocore/eventsystem/Thread.cc @@ -101,3 +101,15 @@ Thread::start(const char *name, size_t stacksize, ThreadFunction f, void *a) return tid; } + +ink_hrtime +Thread::ink_get_hrtime() +{ + return Thread::cur_time; +} + +ink_hrtime +Thread::ink_get_based_hrtime() +{ + return Thread::cur_time; +} diff --git a/iocore/eventsystem/UnixEvent.cc b/iocore/eventsystem/UnixEvent.cc index 634cee9a7bd..8c98bd1b106 100644 --- a/iocore/eventsystem/UnixEvent.cc +++ b/iocore/eventsystem/UnixEvent.cc @@ -69,7 +69,7 @@ Event::schedule_in(ink_hrtime atimeout_in, int acallback_event) ink_assert(ethread == this_ethread()); if (in_the_priority_queue) ethread->EventQueue.remove(this); - timeout_at = ink_get_based_hrtime() + atimeout_in; + timeout_at = Thread::ink_get_based_hrtime() + atimeout_in; period = 0; immediate = false; mutex = continuation->mutex; @@ -88,7 +88,7 @@ Event::schedule_every(ink_hrtime aperiod, int acallback_event) if (aperiod < 0) { timeout_at = aperiod; } else { - timeout_at = ink_get_based_hrtime() + aperiod; + timeout_at = Thread::ink_get_based_hrtime() + aperiod; } period = aperiod; immediate = false; diff --git a/iocore/hostdb/HostDB.cc b/iocore/hostdb/HostDB.cc index a7f5c558168..0f4dda147af 100644 --- a/iocore/hostdb/HostDB.cc +++ b/iocore/hostdb/HostDB.cc @@ -388,7 +388,7 @@ int HostDBSyncer::sync_event(int, void *) { SET_HANDLER(&HostDBSyncer::wait_event); - start_time = ink_get_hrtime(); + start_time = Thread::ink_get_hrtime(); hostDBProcessor.cache()->sync_partitions(this); return EVENT_DONE; } @@ -397,7 +397,7 @@ HostDBSyncer::sync_event(int, void *) int HostDBSyncer::wait_event(int, void *) { - ink_hrtime next_sync = HRTIME_SECONDS(hostdb_sync_frequency) - (ink_get_hrtime() - start_time); + ink_hrtime next_sync = HRTIME_SECONDS(hostdb_sync_frequency) - (Thread::ink_get_hrtime() - start_time); SET_HANDLER(&HostDBSyncer::sync_event); if (next_sync > HRTIME_MSECONDS(100)) @@ -524,7 +524,7 @@ HostDBProcessor::start(int, size_t) // // Set up hostdb_current_interval // - hostdb_current_interval = (unsigned int)(ink_get_based_hrtime() / HOST_DB_TIMEOUT_INTERVAL); + hostdb_current_interval = (unsigned int)(Thread::ink_get_based_hrtime() / HOST_DB_TIMEOUT_INTERVAL); HostDBContinuation *b = hostDBContAllocator.alloc(); SET_CONTINUATION_HANDLER(b, (HostDBContHandler)&HostDBContinuation::backgroundEvent); diff --git a/iocore/net/OCSPStapling.cc b/iocore/net/OCSPStapling.cc index 2a1ef0214de..f24f2f8d1b4 100644 --- a/iocore/net/OCSPStapling.cc +++ b/iocore/net/OCSPStapling.cc @@ -245,7 +245,7 @@ query_responder(BIO *b, char *host, char *path, OCSP_REQUEST *req, int req_timeo OCSP_REQ_CTX *ctx; int rv; - start = ink_get_hrtime(); + start = Thread::ink_get_hrtime(); end = ink_hrtime_add(start, ink_hrtime_from_sec(req_timeout)); ctx = OCSP_sendreq_new(b, path, NULL, -1); @@ -255,7 +255,7 @@ query_responder(BIO *b, char *host, char *path, OCSP_REQUEST *req, int req_timeo do { rv = OCSP_sendreq_nbio(&resp, ctx); ink_hrtime_sleep(HRTIME_MSECONDS(1)); - } while ((rv == -1) && BIO_should_retry(b) && (ink_get_hrtime() < end)); + } while ((rv == -1) && BIO_should_retry(b) && (Thread::ink_get_hrtime() < end)); OCSP_REQ_CTX_free(ctx); diff --git a/iocore/net/P_UnixNet.h b/iocore/net/P_UnixNet.h index 3b064288e57..605432193fe 100644 --- a/iocore/net/P_UnixNet.h +++ b/iocore/net/P_UnixNet.h @@ -244,7 +244,7 @@ net_connections_to_throttle(ThrottleType t) TS_INLINE void check_shedding_warning() { - ink_hrtime t = ink_get_hrtime(); + ink_hrtime t = Thread::ink_get_hrtime(); if (t - last_shedding_warning > NET_THROTTLE_MESSAGE_EVERY) { last_shedding_warning = t; RecSignalWarning(REC_SIGNAL_SYSTEM_ERROR, "number of connections reaching shedding limit"); @@ -274,7 +274,7 @@ check_net_throttle(ThrottleType t, ink_hrtime now) TS_INLINE void check_throttle_warning() { - ink_hrtime t = ink_get_hrtime(); + ink_hrtime t = Thread::ink_get_hrtime(); if (t - last_throttle_warning > NET_THROTTLE_MESSAGE_EVERY) { last_throttle_warning = t; RecSignalWarning(REC_SIGNAL_SYSTEM_ERROR, "too many connections, throttling"); @@ -299,7 +299,7 @@ check_emergency_throttle(Connection &con) int emergency = fds_limit - EMERGENCY_THROTTLE; if (fd > emergency) { int over = fd - emergency; - emergency_throttle_time = ink_get_hrtime() + (over * over) * HRTIME_SECOND; + emergency_throttle_time = Thread::ink_get_hrtime() + (over * over) * HRTIME_SECOND; RecSignalWarning(REC_SIGNAL_SYSTEM_ERROR, "too many open file descriptors, emergency throttling"); int hyper_emergency = fds_limit - HYPER_EMERGENCY_THROTTLE; if (fd > hyper_emergency) @@ -372,7 +372,7 @@ accept_error_seriousness(int res) TS_INLINE void check_transient_accept_error(int res) { - ink_hrtime t = ink_get_hrtime(); + ink_hrtime t = Thread::ink_get_hrtime(); if (!last_transient_accept_error || t - last_transient_accept_error > TRANSIENT_ACCEPT_ERROR_MESSAGE_EVERY) { last_transient_accept_error = t; Warning("accept thread received transient error: errno = %d", -res); diff --git a/iocore/net/P_UnixNetVConnection.h b/iocore/net/P_UnixNetVConnection.h index c8ce1ebd558..772b626b5e0 100644 --- a/iocore/net/P_UnixNetVConnection.h +++ b/iocore/net/P_UnixNetVConnection.h @@ -311,7 +311,7 @@ UnixNetVConnection::set_inactivity_timeout(ink_hrtime timeout) Debug("socket", "Set inactive timeout=%" PRId64 ", for NetVC=%p", timeout, this); inactivity_timeout_in = timeout; #ifndef INACTIVITY_TIMEOUT - next_inactivity_timeout_at = ink_get_hrtime() + timeout; + next_inactivity_timeout_at = Thread::ink_get_hrtime() + timeout; #else if (inactivity_timeout) inactivity_timeout->cancel_action(this); diff --git a/iocore/net/SSLNetVConnection.cc b/iocore/net/SSLNetVConnection.cc index 5884ed672a5..25a8e662aea 100644 --- a/iocore/net/SSLNetVConnection.cc +++ b/iocore/net/SSLNetVConnection.cc @@ -994,7 +994,7 @@ SSLNetVConnection::sslServerHandShakeEvent(int &err) sslHandShakeComplete = true; if (sslHandshakeBeginTime) { - const ink_hrtime ssl_handshake_time = ink_get_hrtime() - sslHandshakeBeginTime; + const ink_hrtime ssl_handshake_time = Thread::ink_get_hrtime() - sslHandshakeBeginTime; Debug("ssl", "ssl handshake time:%" PRId64, ssl_handshake_time); sslHandshakeBeginTime = 0; SSL_INCREMENT_DYN_STAT_EX(ssl_total_handshake_time_stat, ssl_handshake_time); diff --git a/iocore/net/SSLNextProtocolAccept.cc b/iocore/net/SSLNextProtocolAccept.cc index ad347f2ce0e..654882f817d 100644 --- a/iocore/net/SSLNextProtocolAccept.cc +++ b/iocore/net/SSLNextProtocolAccept.cc @@ -117,7 +117,7 @@ SSLNextProtocolAccept::mainEvent(int event, void *edata) { SSLNetVConnection *netvc = ssl_netvc_cast(event, edata); - netvc->sslHandshakeBeginTime = ink_get_hrtime(); + netvc->sslHandshakeBeginTime = Thread::ink_get_hrtime(); Debug("ssl", "[SSLNextProtocolAccept:mainEvent] event %d netvc %p", event, netvc); switch (event) { diff --git a/iocore/net/UnixNet.cc b/iocore/net/UnixNet.cc index 03c3becde38..2c520a4c009 100644 --- a/iocore/net/UnixNet.cc +++ b/iocore/net/UnixNet.cc @@ -59,7 +59,7 @@ class InactivityCop : public Continuation check_inactivity(int event, Event *e) { (void)event; - ink_hrtime now = ink_get_hrtime(); + ink_hrtime now = Thread::ink_get_hrtime(); NetHandler &nh = *get_NetHandler(this_ethread()); total_connections_in = 0; // Copy the list and use pop() to catch any closes caused by callbacks. diff --git a/iocore/net/UnixNetAccept.cc b/iocore/net/UnixNetAccept.cc index e735ec8d2fe..4cee327e04f 100644 --- a/iocore/net/UnixNetAccept.cc +++ b/iocore/net/UnixNetAccept.cc @@ -54,7 +54,7 @@ send_throttle_message(NetAccept *na) afd.events = POLLIN; int n = 0; - while (check_net_throttle(ACCEPT, ink_get_hrtime()) && n < THROTTLE_AT_ONCE - 1 && (socketManager.poll(&afd, 1, 0) > 0)) { + while (check_net_throttle(ACCEPT, Thread::ink_get_hrtime()) && n < THROTTLE_AT_ONCE - 1 && (socketManager.poll(&afd, 1, 0) > 0)) { int res = 0; if ((res = na->server.accept(&con[n])) < 0) return res; @@ -115,7 +115,7 @@ net_accept(NetAccept *na, void *ep, bool blockable) count++; na->alloc_cache = NULL; - vc->submit_time = ink_get_hrtime(); + vc->submit_time = Thread::ink_get_hrtime(); ats_ip_copy(&vc->server_addr, &vc->con.addr); vc->mutex = new_ProxyMutex(); vc->action_ = *na->action_; @@ -240,7 +240,7 @@ NetAccept::do_blocking_accept(EThread *t) // do-while for accepting all the connections // added by YTS Team, yamsat do { - ink_hrtime now = ink_get_hrtime(); + ink_hrtime now = Thread::ink_get_hrtime(); // Throttle accepts @@ -251,7 +251,7 @@ NetAccept::do_blocking_accept(EThread *t) } else if (send_throttle_message(this) < 0) { goto Lerror; } - now = ink_get_hrtime(); + now = Thread::ink_get_hrtime(); } if ((res = server.accept(&con)) < 0) { @@ -359,7 +359,7 @@ NetAccept::acceptFastEvent(int event, void *ep) int loop = accept_till_done; do { - if (!backdoor && check_net_throttle(ACCEPT, ink_get_hrtime())) { + if (!backdoor && check_net_throttle(ACCEPT, Thread::ink_get_hrtime())) { ifd = -1; return EVENT_CONT; } @@ -436,7 +436,7 @@ NetAccept::acceptFastEvent(int event, void *ep) NET_SUM_GLOBAL_DYN_STAT(net_connections_currently_open_stat, 1); vc->id = net_next_connection_number(); - vc->submit_time = ink_get_hrtime(); + vc->submit_time = Thread::ink_get_hrtime(); ats_ip_copy(&vc->server_addr, &vc->con.addr); vc->set_is_transparent(server.f_inbound_transparent); vc->mutex = new_ProxyMutex(); diff --git a/iocore/net/UnixNetPages.cc b/iocore/net/UnixNetPages.cc index 4b7ff397f7a..08b14eeffef 100644 --- a/iocore/net/UnixNetPages.cc +++ b/iocore/net/UnixNetPages.cc @@ -60,7 +60,7 @@ struct ShowNet : public ShowCont { return EVENT_DONE; } - ink_hrtime now = ink_get_hrtime(); + ink_hrtime now = Thread::ink_get_hrtime(); forl_LL(UnixNetVConnection, vc, nh->open_list) { // uint16_t port = ats_ip_port_host_order(&addr.sa); diff --git a/iocore/net/UnixNetProcessor.cc b/iocore/net/UnixNetProcessor.cc index fdc58abf1f2..b2ea82a0956 100644 --- a/iocore/net/UnixNetProcessor.cc +++ b/iocore/net/UnixNetProcessor.cc @@ -213,7 +213,7 @@ UnixNetProcessor::connect_re_internal(Continuation *cont, sockaddr const *target NET_SUM_GLOBAL_DYN_STAT(net_connections_currently_open_stat, 1); vc->id = net_next_connection_number(); - vc->submit_time = ink_get_hrtime(); + vc->submit_time = Thread::ink_get_hrtime(); vc->setSSLClientConnection(true); ats_ip_copy(&vc->server_addr, target); vc->mutex = cont->mutex; diff --git a/iocore/net/UnixNetVConnection.cc b/iocore/net/UnixNetVConnection.cc index c8156e15bd0..3cd4473b745 100644 --- a/iocore/net/UnixNetVConnection.cc +++ b/iocore/net/UnixNetVConnection.cc @@ -82,7 +82,7 @@ net_activity(UnixNetVConnection *vc, EThread *thread) } #else if (vc->inactivity_timeout_in) - vc->next_inactivity_timeout_at = ink_get_hrtime() + vc->inactivity_timeout_in; + vc->next_inactivity_timeout_at = Thread::ink_get_hrtime() + vc->inactivity_timeout_in; else vc->next_inactivity_timeout_at = 0; #endif @@ -852,7 +852,7 @@ UnixNetVConnection::set_enabled(VIO *vio) } #else if (!next_inactivity_timeout_at && inactivity_timeout_in) - next_inactivity_timeout_at = ink_get_hrtime() + inactivity_timeout_in; + next_inactivity_timeout_at = Thread::ink_get_hrtime() + inactivity_timeout_in; #endif } @@ -1069,7 +1069,7 @@ UnixNetVConnection::mainEvent(int event, Event *e) /* BZ 49408 */ // ink_assert(inactivity_timeout_in); // ink_assert(next_inactivity_timeout_at < ink_get_hrtime()); - if (!inactivity_timeout_in || next_inactivity_timeout_at > ink_get_hrtime()) + if (!inactivity_timeout_in || next_inactivity_timeout_at > Thread::ink_get_hrtime()) return EVENT_CONT; signal_event = VC_EVENT_INACTIVITY_TIMEOUT; signal_timeout_at = &next_inactivity_timeout_at; diff --git a/proxy/ICP.cc b/proxy/ICP.cc index af3d697a883..674ecc7da07 100644 --- a/proxy/ICP.cc +++ b/proxy/ICP.cc @@ -293,7 +293,7 @@ ICPPeerReadCont::init(ICPProcessor *ICPpr, Peer *p, int lookup_local) { PeerReadData *s = PeerReadDataAllocator.alloc(); s->init(); - s->_start_time = ink_get_hrtime(); + s->_start_time = Thread::ink_get_hrtime(); s->_peer = p; s->_next_state = READ_ACTIVE; s->_cache_lookup_local = lookup_local; @@ -454,7 +454,7 @@ ICPPeerReadCont::ICPPeerQueryCont(int /* event ATS_UNUSED */, Event * /* e ATS_U SET_HANDLER((ICPPeerReadContHandler)&ICPPeerReadCont::ICPPeerQueryEvent); if (_state->_rICPmsg->un.query.URL && *_state->_rICPmsg->un.query.URL) { _state->_queryResult = ~CACHE_EVENT_LOOKUP_FAILED; - _start_time = ink_get_hrtime(); + _start_time = Thread::ink_get_hrtime(); if (pluginFreshnessCalcFunc && _ICPpr->GetConfig()->globalConfig()->ICPStaleLookup()) { ////////////////////////////////////////////////////////////// // Note: _cache_lookup_local is ignored in this case, since @@ -906,7 +906,7 @@ ICPPeerReadCont::PeerReadStateMachine(PeerReadData *s, Event *e) MUTEX_UNTAKE_LOCK(ICPReqContMutex, ethread); if (request_start_time) { - ICP_SUM_DYN_STAT(total_icp_response_time_stat, (ink_get_hrtime() - request_start_time)); + ICP_SUM_DYN_STAT(total_icp_response_time_stat, (Thread::ink_get_hrtime() - request_start_time)); } RECORD_ICP_STATE_CHANGE(s, 0, READ_NOT_ACTIVE); s->_next_state = READ_NOT_ACTIVE; @@ -931,7 +931,7 @@ ICPPeerReadCont::PeerReadStateMachine(PeerReadData *s, Event *e) } else { // Last read was valid, see if any more read data before exiting s->reset(); - s->_start_time = ink_get_hrtime(); + s->_start_time = Thread::ink_get_hrtime(); s->_next_state = READ_ACTIVE; RECORD_ICP_STATE_CHANGE(s, 0, READ_ACTIVE); break; // restart @@ -1294,7 +1294,7 @@ ICPRequestCont::ICPStateMachine(int event, void *d) _cont->handleEvent(_ret_status, (void *)&_ret_sockaddr); } MUTEX_UNTAKE_LOCK(mutex, this_ethread()); - ICP_SUM_DYN_STAT(total_icp_request_time_stat, (ink_get_hrtime() - _start_time)); + ICP_SUM_DYN_STAT(total_icp_request_time_stat, (Thread::ink_get_hrtime() - _start_time)); _next_state = ICP_WAIT_SEND_COMPLETE; break; // move to next_state diff --git a/proxy/ICP.h b/proxy/ICP.h index 321c666d9cb..6ad712c8fbb 100644 --- a/proxy/ICP.h +++ b/proxy/ICP.h @@ -1174,7 +1174,7 @@ class ICPRequestCont : public Continuation inline void SetRequestStartTime() { - _start_time = ink_get_hrtime(); + _start_time = Thread::ink_get_hrtime(); } inline ink_hrtime GetRequestStartTime() diff --git a/proxy/ICPConfig.cc b/proxy/ICPConfig.cc index 7f4979bd15a..6164129dfe2 100644 --- a/proxy/ICPConfig.cc +++ b/proxy/ICPConfig.cc @@ -802,7 +802,7 @@ Peer::LogRecvMsg(ICPMsg_t *m, int valid) // Note: ICPMsg_t (m) is in native byte order // Note numerous stats on a per peer basis - _stats.last_receive = ink_get_hrtime(); + _stats.last_receive = Thread::ink_get_hrtime(); if ((m->h.opcode >= ICP_OP_QUERY) && (m->h.opcode <= ICP_OP_LAST)) { _stats.recv[m->h.opcode]++; } else { @@ -959,7 +959,7 @@ ParentSiblingPeer::LogSendMsg(ICPMsg_t *m, sockaddr const * /* sa ATS_UNUSED */) // Note: ICPMsg_t (m) is in network byte order // Note numerous stats on a per peer basis - _stats.last_send = ink_get_hrtime(); + _stats.last_send = Thread::ink_get_hrtime(); _stats.sent[m->h.opcode]++; _stats.total_sent++; } @@ -1086,7 +1086,7 @@ MultiCastPeer::LogSendMsg(ICPMsg_t *m, sockaddr const *sa) } else { // Note numerous stats on MultiCast peer and each member peer - _stats.last_send = ink_get_hrtime(); + _stats.last_send = Thread::ink_get_hrtime(); _stats.sent[m->h.opcode]++; _stats.total_sent++; @@ -1270,7 +1270,7 @@ ICPPeriodicCont::DoReconfigAction(int event, Event *e) ink_hrtime ICPlog::GetElapsedTime() { - return (ink_get_hrtime() - _s->_start_time); + return (Thread::ink_get_hrtime() - _s->_start_time); } sockaddr const * diff --git a/proxy/InkAPI.cc b/proxy/InkAPI.cc index b57edde8339..64e37afab52 100644 --- a/proxy/InkAPI.cc +++ b/proxy/InkAPI.cc @@ -1706,7 +1706,7 @@ TSdrandom() ink_hrtime TShrtime() { - return ink_get_based_hrtime(); + return Thread::ink_get_based_hrtime(); } //////////////////////////////////////////////////////////////////// @@ -6277,7 +6277,7 @@ TSVConnFdCreate(int fd) vc->action_ = &a; vc->id = net_next_connection_number(); - vc->submit_time = ink_get_hrtime(); + vc->submit_time = Thread::ink_get_hrtime(); vc->set_is_transparent(false); vc->mutex = new_ProxyMutex(); diff --git a/proxy/InkIOCoreAPI.cc b/proxy/InkIOCoreAPI.cc index 5de62db56f1..29b07be5ba8 100644 --- a/proxy/InkIOCoreAPI.cc +++ b/proxy/InkIOCoreAPI.cc @@ -352,7 +352,7 @@ TSVIOMutexGet(TSVIO viop) ink_hrtime INKBasedTimeGet() { - return ink_get_based_hrtime(); + return Thread::ink_get_based_hrtime(); } /* UDP Connection Interface */ diff --git a/proxy/Main.cc b/proxy/Main.cc index be51a33a461..11d79a0a5d8 100644 --- a/proxy/Main.cc +++ b/proxy/Main.cc @@ -592,7 +592,7 @@ cmd_check_internal(char * /* cmd ATS_UNUSED */, bool fix = false) printf("%s\n\n", n); - hostdb_current_interval = (ink_get_based_hrtime() / HRTIME_MINUTE); + hostdb_current_interval = (Thread::ink_get_based_hrtime() / HRTIME_MINUTE); #if 0 printf("Host Database\n"); diff --git a/proxy/PluginVC.cc b/proxy/PluginVC.cc index 7651efbe5da..0347870ce3b 100644 --- a/proxy/PluginVC.cc +++ b/proxy/PluginVC.cc @@ -188,7 +188,7 @@ PluginVC::main_handler(int event, void *data) if (call_event == active_event) { process_timeout(&active_event, VC_EVENT_ACTIVE_TIMEOUT); } else if (call_event == inactive_event) { - if (inactive_timeout_at && inactive_timeout_at < ink_get_hrtime()) { + if (inactive_timeout_at && inactive_timeout_at < Thread::ink_get_hrtime()) { process_timeout(&inactive_event, VC_EVENT_INACTIVITY_TIMEOUT); call_event->cancel(); } @@ -770,7 +770,7 @@ PluginVC::update_inactive_time() if (inactive_event && inactive_timeout) { // inactive_event->cancel(); // inactive_event = eventProcessor.schedule_in(this, inactive_timeout); - inactive_timeout_at = ink_get_hrtime() + inactive_timeout; + inactive_timeout_at = Thread::ink_get_hrtime() + inactive_timeout; } } @@ -827,7 +827,7 @@ PluginVC::set_inactivity_timeout(ink_hrtime timeout_in) { inactive_timeout = timeout_in; if (inactive_timeout != 0) { - inactive_timeout_at = ink_get_hrtime() + inactive_timeout; + inactive_timeout_at = Thread::ink_get_hrtime() + inactive_timeout; if (inactive_event == NULL) { inactive_event = eventProcessor.schedule_every(this, HRTIME_SECONDS(1)); } diff --git a/proxy/StatSystem.cc b/proxy/StatSystem.cc index 391cdd83cdb..f0d2fa9ebc9 100644 --- a/proxy/StatSystem.cc +++ b/proxy/StatSystem.cc @@ -308,7 +308,7 @@ take_rusage_snap() continue; Note("getrusage [%d %s]", errno, strerror(errno)); } else - rusage_snap_time = ink_get_hrtime(); + rusage_snap_time = Thread::ink_get_hrtime(); break; } Debug("rusage", "took rusage snap %" PRId64 "", rusage_snap_time); diff --git a/proxy/Update.cc b/proxy/Update.cc index c5c9337287e..e1bb4ef5ecd 100644 --- a/proxy/Update.cc +++ b/proxy/Update.cc @@ -523,7 +523,7 @@ UpdateEntry::ComputeScheduleTime() } } - ht = ink_get_based_hrtime(); + ht = Thread::ink_get_based_hrtime(); cur_time = ht / HRTIME_SECOND; if (!_start_time) { @@ -1250,7 +1250,7 @@ UpdateScheduler::ScheduleEvent(int event, void *e) // Scan entry list and schedule expired updates /////////////////////////////////////////////////////// - ink_hrtime ht = ink_get_based_hrtime(); + ink_hrtime ht = Thread::ink_get_based_hrtime(); time_t cur_time = ht / HRTIME_SECOND; Queue no_action_q; int time_expired; diff --git a/proxy/congest/Congestion.cc b/proxy/congest/Congestion.cc index b66ddb0f822..26ae5e24b79 100644 --- a/proxy/congest/Congestion.cc +++ b/proxy/congest/Congestion.cc @@ -618,7 +618,7 @@ CongestionEntry::sprint(char *buf, int buflen, int format) ink_hrtime timestamp = 0; char state; if (pRecord->max_connection >= 0 && m_num_connections >= pRecord->max_connection) { - timestamp = ink_hrtime_to_sec(ink_get_hrtime()); + timestamp = ink_hrtime_to_sec(Thread::ink_get_hrtime()); state = 'M'; } else { timestamp = m_last_congested; diff --git a/proxy/congest/Congestion.h b/proxy/congest/Congestion.h index 8bda32603ff..29c2037cd9b 100644 --- a/proxy/congest/Congestion.h +++ b/proxy/congest/Congestion.h @@ -288,7 +288,7 @@ CongestionEntry::client_retry_after() { int prat = 0; if (F_congested()) { - prat = pRecord->proxy_retry_interval + m_history.last_event - ink_hrtime_to_sec(ink_get_hrtime()); + prat = pRecord->proxy_retry_interval + m_history.last_event - ink_hrtime_to_sec(Thread::ink_get_hrtime()); if (prat < 0) prat = 0; } diff --git a/proxy/congest/CongestionDB.cc b/proxy/congest/CongestionDB.cc index f2b50676d35..cce4a7bb558 100644 --- a/proxy/congest/CongestionDB.cc +++ b/proxy/congest/CongestionDB.cc @@ -128,7 +128,7 @@ static long congestEntryGCTime = 0; void preCongestEntryGC(void) { - congestEntryGCTime = (long)ink_hrtime_to_sec(ink_get_hrtime()); + congestEntryGCTime = (long)ink_hrtime_to_sec(Thread::ink_get_hrtime()); } // if the entry contains useful info, return false -- keep it @@ -315,7 +315,7 @@ CongestionDBCont::GC(int /* event ATS_UNUSED */, Event * /* e ATS_UNUSED */) { MUTEX_TRY_LOCK(lock, bucket_mutex, this_ethread()); if (lock.is_locked()) { - ink_hrtime now = ink_get_hrtime(); + ink_hrtime now = Thread::ink_get_hrtime(); now = ink_hrtime_to_sec(now); theCongestionDB->RunTodoList(CDBC_pid); Iter it; diff --git a/proxy/http/HttpSM.cc b/proxy/http/HttpSM.cc index 400f73300b7..b04fb956697 100644 --- a/proxy/http/HttpSM.cc +++ b/proxy/http/HttpSM.cc @@ -347,7 +347,7 @@ HttpSM::destroy() void HttpSM::init() { - milestones.sm_start = ink_get_hrtime(); + milestones.sm_start = Thread::ink_get_hrtime(); magic = HTTP_SM_MAGIC_ALIVE; sm_id = 0; @@ -498,7 +498,7 @@ HttpSM::start_sub_sm() void HttpSM::attach_client_session(HttpClientSession *client_vc, IOBufferReader *buffer_reader) { - milestones.ua_begin = ink_get_hrtime(); + milestones.ua_begin = Thread::ink_get_hrtime(); ink_assert(client_vc != NULL); ua_session = client_vc; @@ -627,7 +627,7 @@ HttpSM::state_read_client_request_header(int event, void *data) // the accept timeout by the HttpClientSession // if (client_request_hdr_bytes == 0) { - milestones.ua_first_read = ink_get_hrtime(); + milestones.ua_first_read = Thread::ink_get_hrtime(); ua_session->get_netvc()->set_inactivity_timeout(HRTIME_SECONDS(t_state.txn_conf->transaction_no_activity_timeout_in)); } ///////////////////// @@ -690,7 +690,7 @@ HttpSM::state_read_client_request_header(int event, void *data) } http_parser_clear(&http_parser); ua_entry->vc_handler = &HttpSM::state_watch_for_client_abort; - milestones.ua_read_header_done = ink_get_hrtime(); + milestones.ua_read_header_done = Thread::ink_get_hrtime(); } switch (state) { @@ -856,7 +856,7 @@ HttpSM::state_watch_for_client_abort(int event, void *data) ua_entry->read_vio->nbytes = ua_entry->read_vio->ndone; } mark_server_down_on_client_abort(); - milestones.ua_close = ink_get_hrtime(); + milestones.ua_close = Thread::ink_get_hrtime(); set_ua_abort(HttpTransact::ABORTED, event); terminate_sm = true; break; @@ -997,7 +997,7 @@ HttpSM::state_read_push_response_header(int event, void *data) // Disable further IO ua_entry->read_vio->nbytes = ua_entry->read_vio->ndone; http_parser_clear(&http_parser); - milestones.server_read_header_done = ink_get_hrtime(); + milestones.server_read_header_done = Thread::ink_get_hrtime(); } switch (state) { @@ -1031,7 +1031,7 @@ HttpSM::state_raw_http_server_open(int event, void *data) { STATE_ENTER(&HttpSM::state_raw_http_server_open, event); ink_assert(server_entry == NULL); - milestones.server_connect_end = ink_get_hrtime(); + milestones.server_connect_end = Thread::ink_get_hrtime(); NetVConnection *netvc = NULL; pending_action = NULL; @@ -1587,7 +1587,7 @@ HttpSM::state_http_server_open(int event, void *data) // TODO decide whether to uncomment after finish testing redirect // ink_assert(server_entry == NULL); pending_action = NULL; - milestones.server_connect_end = ink_get_hrtime(); + milestones.server_connect_end = Thread::ink_get_hrtime(); HttpServerSession *session; switch (event) { @@ -1720,7 +1720,7 @@ HttpSM::state_read_server_response_header(int event, void *data) // the connect timeout when we set up to read the header // if (server_response_hdr_bytes == 0) { - milestones.server_first_read = ink_get_hrtime(); + milestones.server_first_read = Thread::ink_get_hrtime(); if (t_state.api_txn_no_activity_timeout_value != -1) { server_session->get_netvc()->set_inactivity_timeout(HRTIME_MSECONDS(t_state.api_txn_no_activity_timeout_value)); @@ -1757,7 +1757,7 @@ HttpSM::state_read_server_response_header(int event, void *data) // Disable further IO server_entry->read_vio->nbytes = server_entry->read_vio->ndone; http_parser_clear(&http_parser); - milestones.server_read_header_done = ink_get_hrtime(); + milestones.server_read_header_done = Thread::ink_get_hrtime(); } switch (state) { @@ -2083,7 +2083,7 @@ HttpSM::process_hostdb_info(HostDBInfo *r) ink_assert(!t_state.host_db_info.round_robin); } - milestones.dns_lookup_end = ink_get_hrtime(); + milestones.dns_lookup_end = Thread::ink_get_hrtime(); if (is_debug_tag_set("http_timeout")) { if (t_state.api_txn_dns_timeout_value != -1) { @@ -2350,7 +2350,7 @@ int HttpSM::state_cache_open_write(int event, void *data) { STATE_ENTER(&HttpSM : state_cache_open_write, event); - milestones.cache_open_write_end = ink_get_hrtime(); + milestones.cache_open_write_end = Thread::ink_get_hrtime(); pending_action = NULL; switch (event) { @@ -2441,7 +2441,7 @@ int HttpSM::state_cache_open_read(int event, void *data) { STATE_ENTER(&HttpSM::state_cache_open_read, event); - milestones.cache_open_read_end = ink_get_hrtime(); + milestones.cache_open_read_end = Thread::ink_get_hrtime(); ink_assert(server_entry == NULL); ink_assert(t_state.cache_info.object_read == 0); @@ -2824,7 +2824,7 @@ HttpSM::tunnel_handler_server(int event, HttpTunnelProducer *p) { STATE_ENTER(&HttpSM::tunnel_handler_server, event); - milestones.server_close = ink_get_hrtime(); + milestones.server_close = Thread::ink_get_hrtime(); bool close_connection = false; @@ -3064,7 +3064,7 @@ HttpSM::tunnel_handler_ua(int event, HttpTunnelConsumer *c) STATE_ENTER(&HttpSM::tunnel_handler_ua, event); ink_assert(c->vc == ua_session); - milestones.ua_close = ink_get_hrtime(); + milestones.ua_close = Thread::ink_get_hrtime(); switch (event) { case VC_EVENT_EOS: @@ -3921,7 +3921,7 @@ HttpSM::do_hostdb_lookup() ink_assert(t_state.dns_info.lookup_name != NULL); ink_assert(pending_action == NULL); - milestones.dns_lookup_begin = ink_get_hrtime(); + milestones.dns_lookup_begin = Thread::ink_get_hrtime(); bool use_srv_records = t_state.srv_lookup; if (use_srv_records) { @@ -4347,7 +4347,7 @@ HttpSM::do_cache_lookup_and_read() HTTP_INCREMENT_TRANS_STAT(http_cache_lookups_stat); - milestones.cache_open_read_begin = ink_get_hrtime(); + milestones.cache_open_read_begin = Thread::ink_get_hrtime(); t_state.cache_lookup_result = HttpTransact::CACHE_LOOKUP_NONE; t_state.cache_info.lookup_count++; // YTS Team, yamsat Plugin @@ -4408,7 +4408,7 @@ HttpSM::do_cache_prepare_write() { // statistically no need to retry when we are trying to lock // LOCK_URL_SECOND url because the server's behavior is unlikely to change - milestones.cache_open_write_begin = ink_get_hrtime(); + milestones.cache_open_write_begin = Thread::ink_get_hrtime(); bool retry = (t_state.api_lock_url == HttpTransact::LOCK_URL_FIRST); do_cache_prepare_action(&cache_sm, t_state.cache_info.object_read, retry); } @@ -4538,7 +4538,7 @@ HttpSM::do_http_server_open(bool raw) DebugSM("http_seq", "[HttpSM::do_http_server_open] Sending request to server"); - milestones.server_connect = ink_get_hrtime(); + milestones.server_connect = Thread::ink_get_hrtime(); if (milestones.server_first_connect == 0) { milestones.server_first_connect = milestones.server_connect; } @@ -4819,7 +4819,7 @@ HttpSM::do_api_callout_internal() break; case HttpTransact::SM_ACTION_API_SEND_RESPONSE_HDR: cur_hook_id = TS_HTTP_SEND_RESPONSE_HDR_HOOK; - milestones.ua_begin_write = ink_get_hrtime(); + milestones.ua_begin_write = Thread::ink_get_hrtime(); break; case HttpTransact::SM_ACTION_API_SM_SHUTDOWN: if (callout_state == HTTP_API_IN_CALLOUT || callout_state == HTTP_API_DEFERED_SERVER_ERROR) { @@ -4961,7 +4961,7 @@ HttpSM::mark_server_down_on_client_abort() if (milestones.server_first_connect != 0 && milestones.server_first_read == 0) { // Check to see if client waited for the threshold // to declare the origin server as down - ink_hrtime wait = ink_get_hrtime() - milestones.server_first_connect; + ink_hrtime wait = Thread::ink_get_hrtime() - milestones.server_first_connect; if (wait < 0) { wait = 0; } @@ -5659,7 +5659,7 @@ HttpSM::setup_server_send_request() DebugSM("http_ss", "Setting server session to private for authorization header"); set_server_session_private(true); } - milestones.server_begin_write = ink_get_hrtime(); + milestones.server_begin_write = Thread::ink_get_hrtime(); server_entry->write_vio = server_entry->vc->do_io_write(this, hdr_length, buf_start); } @@ -6323,7 +6323,7 @@ HttpSM::setup_blind_tunnel(bool send_response_hdr) IOBufferReader *r_from = from_ua_buf->alloc_reader(); IOBufferReader *r_to = to_ua_buf->alloc_reader(); - milestones.server_begin_write = ink_get_hrtime(); + milestones.server_begin_write = Thread::ink_get_hrtime(); if (send_response_hdr) { client_response_hdr_bytes = write_response_header_into_buffer(&t_state.hdr_info.client_response, to_ua_buf); } else { @@ -6565,7 +6565,7 @@ HttpSM::kill_this() void HttpSM::update_stats() { - milestones.sm_finish = ink_get_hrtime(); + milestones.sm_finish = Thread::ink_get_hrtime(); if (t_state.cop_test_page && !t_state.http_config_param->record_cop_page) { DebugSM("http_seq", "Skipping cop heartbeat logging & stats due to config"); @@ -6599,7 +6599,7 @@ HttpSM::update_stats() // ua_close will not be assigned properly in some exceptional situation. // TODO: Assign ua_close with suitable value when HttpTunnel terminates abnormally. if (milestones.ua_close == 0 && milestones.ua_read_header_done > 0) - milestones.ua_close = ink_get_hrtime(); + milestones.ua_close = Thread::ink_get_hrtime(); // request_process_time = The time after the header is parsed to the completion of the transaction ink_hrtime request_process_time = milestones.ua_close - milestones.ua_read_header_done; diff --git a/proxy/http/HttpTransact.cc b/proxy/http/HttpTransact.cc index 66b32b66da1..5ac98b8dd70 100644 --- a/proxy/http/HttpTransact.cc +++ b/proxy/http/HttpTransact.cc @@ -8229,11 +8229,11 @@ ink_cluster_time(void) #ifdef DEBUG ink_mutex_acquire(&http_time_lock); - ink_time_t local_time = ink_get_hrtime() / HRTIME_SECOND; + ink_time_t local_time = Thread::ink_get_hrtime() / HRTIME_SECOND; last_http_local_time = local_time; ink_mutex_release(&http_time_lock); #else - ink_time_t local_time = ink_get_hrtime() / HRTIME_SECOND; + ink_time_t local_time = Thread::ink_get_hrtime() / HRTIME_SECOND; #endif highest_delta = (int)HttpConfig::m_master.cluster_time_delta; diff --git a/proxy/logging/Log.cc b/proxy/logging/Log.cc index 36a81c5a4f0..039c56c18e1 100644 --- a/proxy/logging/Log.cc +++ b/proxy/logging/Log.cc @@ -1128,11 +1128,11 @@ Log::flush_thread_main(void * /* args ATS_UNUSED */) // Time to work on periodic events?? // - now = ink_get_hrtime() / HRTIME_SECOND; + now = Thread::ink_get_hrtime() / HRTIME_SECOND; if (now >= last_time + PERIODIC_TASKS_INTERVAL) { Debug("log-preproc", "periodic tasks for %" PRId64, (int64_t)now); periodic_tasks(now); - last_time = ink_get_hrtime() / HRTIME_SECOND; + last_time = Thread::ink_get_hrtime() / HRTIME_SECOND; } // wait for more work; a spurious wake-up is ok since we'll just diff --git a/proxy/logging/LogObject.cc b/proxy/logging/LogObject.cc index be65070de9b..7c7024b957e 100644 --- a/proxy/logging/LogObject.cc +++ b/proxy/logging/LogObject.cc @@ -1411,7 +1411,7 @@ REGRESSION_TEST(LogObjectManager_Transfer)(RegressionTest *t, int /* atype ATS_U rprintf(t, "mgr1 has %d objects, mgr2 has %d objects\n", (int)mgr1.get_num_objects(), (int)mgr2.get_num_objects()); rprintf(t, "running Log::periodoc_tasks()\n"); - Log::periodic_tasks(ink_get_hrtime() / HRTIME_SECOND); + Log::periodic_tasks(Thread::ink_get_hrtime() / HRTIME_SECOND); rprintf(t, "Log::periodoc_tasks() done\n"); } From 4f08f9f760b211f51d64079aa433ea741a5128a7 Mon Sep 17 00:00:00 2001 From: Daniel Xu Date: Sun, 12 Apr 2015 23:59:35 -0500 Subject: [PATCH 2/4] TS-1774 Move gethrtime functions into Thread class Tested: Debian Jessie Testing Author: Daniel Xu Moved ink_get_hrtime() and ink_get_based_hrtime() into the Thread.cc class and made them static functions as well to support object free calling. Also changed all references in code base to these two functions to refer to Thread::ink_get_... instead. Also fixed my own tab spacing issue. --- iocore/eventsystem/Thread.cc | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/iocore/eventsystem/Thread.cc b/iocore/eventsystem/Thread.cc index 14296d707c0..fc4eb134f02 100644 --- a/iocore/eventsystem/Thread.cc +++ b/iocore/eventsystem/Thread.cc @@ -105,11 +105,11 @@ Thread::start(const char *name, size_t stacksize, ThreadFunction f, void *a) ink_hrtime Thread::ink_get_hrtime() { - return Thread::cur_time; + return Thread::cur_time; } ink_hrtime Thread::ink_get_based_hrtime() { - return Thread::cur_time; + return Thread::cur_time; } From d7d7e787b3ce01e041a879151bd2b0dc456ac406 Mon Sep 17 00:00:00 2001 From: Daniel Xu Date: Tue, 9 Jun 2015 01:52:49 +0000 Subject: [PATCH 3/4] TS-1774 Remove the 'ink' prefix Remove the 'ink' prefix on {get,get_based}_hrtime() functions --- iocore/aio/AIO.cc | 4 +- iocore/aio/test_AIO.cc | 6 +-- iocore/cache/CacheDir.cc | 4 +- iocore/cache/CacheRead.cc | 2 +- iocore/cache/CacheWrite.cc | 6 +-- iocore/cache/P_CacheInternal.h | 2 +- iocore/cache/P_CacheTest.h | 2 +- iocore/cluster/ClusterCache.cc | 18 ++++---- iocore/cluster/ClusterConfig.cc | 6 +-- iocore/cluster/ClusterHandler.cc | 26 ++++++------ iocore/cluster/ClusterLoadMonitor.cc | 4 +- iocore/cluster/ClusterProcessor.cc | 8 ++-- iocore/dns/DNS.cc | 14 +++---- iocore/dns/P_DNSProcessor.h | 8 ++-- iocore/eventsystem/I_Thread.h | 4 +- iocore/eventsystem/P_UnixEThread.h | 8 ++-- iocore/eventsystem/P_UnixEventProcessor.h | 4 +- iocore/eventsystem/Thread.cc | 4 +- iocore/eventsystem/UnixEThread.cc | 2 +- iocore/eventsystem/UnixEvent.cc | 4 +- iocore/hostdb/HostDB.cc | 6 +-- iocore/net/OCSPStapling.cc | 4 +- iocore/net/P_UnixNet.h | 8 ++-- iocore/net/P_UnixNetVConnection.h | 2 +- iocore/net/SSLNetVConnection.cc | 2 +- iocore/net/SSLNextProtocolAccept.cc | 2 +- iocore/net/UnixNet.cc | 2 +- iocore/net/UnixNetAccept.cc | 12 +++--- iocore/net/UnixNetPages.cc | 2 +- iocore/net/UnixNetProcessor.cc | 2 +- iocore/net/UnixNetVConnection.cc | 6 +-- proxy/ICP.cc | 10 ++--- proxy/ICP.h | 2 +- proxy/ICPConfig.cc | 8 ++-- proxy/InkAPI.cc | 4 +- proxy/InkIOCoreAPI.cc | 2 +- proxy/Main.cc | 2 +- proxy/PluginVC.cc | 6 +-- proxy/StatSystem.cc | 2 +- proxy/Update.cc | 4 +- proxy/congest/Congestion.cc | 2 +- proxy/congest/Congestion.h | 2 +- proxy/congest/CongestionDB.cc | 4 +- proxy/http/HttpSM.cc | 50 +++++++++++------------ proxy/http/HttpTransact.cc | 4 +- proxy/logging/Log.cc | 4 +- proxy/logging/LogObject.cc | 2 +- 47 files changed, 146 insertions(+), 146 deletions(-) diff --git a/iocore/aio/AIO.cc b/iocore/aio/AIO.cc index 64fa4d10d01..4e666988094 100644 --- a/iocore/aio/AIO.cc +++ b/iocore/aio/AIO.cc @@ -70,7 +70,7 @@ aio_stats_cb(const char * /* name ATS_UNUSED */, RecDataT data_type, RecData *da int64_t new_val = 0; int64_t diff = 0; int64_t count, sum; - ink_hrtime now = Thread::ink_get_hrtime(); + ink_hrtime now = Thread::get_hrtime(); // The RecGetGlobalXXX stat functions are cheaper than the // RecGetXXX functions. The Global ones are expensive // for increments and decrements. But for AIO stats we @@ -504,7 +504,7 @@ aio_thread_main(void *arg) op->thread->schedule_imm_signal(op); ink_mutex_acquire(&my_aio_req->aio_mutex); } while (1); - timespec timedwait_msec = ink_hrtime_to_timespec(Thread::ink_get_hrtime() + HRTIME_MSECONDS(net_config_poll_timeout)); + timespec timedwait_msec = ink_hrtime_to_timespec(Thread::get_hrtime() + HRTIME_MSECONDS(net_config_poll_timeout)); ink_cond_timedwait(&my_aio_req->aio_cond, &my_aio_req->aio_mutex, &timedwait_msec); } return 0; diff --git a/iocore/aio/test_AIO.cc b/iocore/aio/test_AIO.cc index eb8691f4f37..179e451a1dd 100644 --- a/iocore/aio/test_AIO.cc +++ b/iocore/aio/test_AIO.cc @@ -332,11 +332,11 @@ int AIO_Device::do_fd(int /* event ATS_UNUSED */, Event * /* e ATS_UNUSED */) { if (!time_start) { - time_start = ink_get_hrtime(); + time_start = Thread::get_hrtime(); fprintf(stderr, "Starting the aio_testing \n"); } - if ((ink_get_hrtime() - time_start) > (run_time * HRTIME_SECOND)) { - time_end = ink_get_hrtime(); + if ((Thread::get_hrtime() - time_start) > (run_time * HRTIME_SECOND)) { + time_end = Thread::get_hrtime(); ink_atomic_increment(&n_accessors, -1); if (n_accessors <= 0) dump_summary(); diff --git a/iocore/cache/CacheDir.cc b/iocore/cache/CacheDir.cc index 3288975d974..f2d35298150 100644 --- a/iocore/cache/CacheDir.cc +++ b/iocore/cache/CacheDir.cc @@ -1155,7 +1155,7 @@ CacheSync::mainEvent(int event, Event *e) } if (!vol->dir_sync_in_progress) - start_time = Thread::ink_get_hrtime(); + start_time = Thread::get_hrtime(); // recompute hit_evacuate_window vol->hit_evacuate_window = (vol->data_blocks * cache_config_hit_evacuate_percent) / 100; @@ -1234,7 +1234,7 @@ CacheSync::mainEvent(int event, Event *e) } else { vol->dir_sync_in_progress = 0; CACHE_INCREMENT_DYN_STAT(cache_directory_sync_count_stat); - CACHE_SUM_DYN_STAT(cache_directory_sync_time_stat, Thread::ink_get_hrtime() - start_time); + CACHE_SUM_DYN_STAT(cache_directory_sync_time_stat, Thread::get_hrtime() - start_time); start_time = 0; goto Ldone; } diff --git a/iocore/cache/CacheRead.cc b/iocore/cache/CacheRead.cc index ddbeae19258..200a1595e81 100644 --- a/iocore/cache/CacheRead.cc +++ b/iocore/cache/CacheRead.cc @@ -300,7 +300,7 @@ CacheVC::openReadFromWriter(int event, Event *e) // before the open_write, but the reader could not get the volume // lock. If we don't reset the clock here, we won't choose any writer // and hence fail the read request. - start_time = Thread::ink_get_hrtime(); + start_time = Thread::get_hrtime(); f.read_from_writer_called = 1; } cancel_trigger(); diff --git a/iocore/cache/CacheWrite.cc b/iocore/cache/CacheWrite.cc index 13fabe73554..10b6e2735db 100644 --- a/iocore/cache/CacheWrite.cc +++ b/iocore/cache/CacheWrite.cc @@ -166,7 +166,7 @@ CacheVC::updateVector(int /* event ATS_UNUSED */, Event * /* e ATS_UNUSED */) - total_len. The total number of bytes for the document so far. Doc->total_len and alternate's total len is set to this value. - first_key. Doc's first_key is set to this value. - - pin_in_cache. Doc's pinned value is set to this + Thread::ink_get_hrtime(). + - pin_in_cache. Doc's pinned value is set to this + Thread::get_hrtime(). - earliest_key. If f.use_first_key, Doc's key is set to this value. - key. If !f.use_first_key, Doc's key is set to this value. - blocks. Used only if write_len is set. Data to be written @@ -615,7 +615,7 @@ Vol::evacuateDocReadDone(int event, Event *e) } if (!b) goto Ldone; - if ((b->f.pinned && !b->readers) && doc->pinned < (uint32_t)(Thread::ink_get_based_hrtime() / HRTIME_SECOND)) + if ((b->f.pinned && !b->readers) && doc->pinned < (uint32_t)(Thread::get_based_hrtime() / HRTIME_SECOND)) goto Ldone; if (dir_head(&b->dir) && b->f.evacuate_head) { @@ -752,7 +752,7 @@ agg_copy(char *p, CacheVC *vc) doc->checksum = DOC_NO_CHECKSUM; if (vc->pin_in_cache) { dir_set_pinned(&vc->dir, 1); - doc->pinned = (uint32_t)(Thread::ink_get_based_hrtime() / HRTIME_SECOND) + vc->pin_in_cache; + doc->pinned = (uint32_t)(Thread::get_based_hrtime() / HRTIME_SECOND) + vc->pin_in_cache; } else { dir_set_pinned(&vc->dir, 0); doc->pinned = 0; diff --git a/iocore/cache/P_CacheInternal.h b/iocore/cache/P_CacheInternal.h index ba4f5c3e170..4e346df954a 100644 --- a/iocore/cache/P_CacheInternal.h +++ b/iocore/cache/P_CacheInternal.h @@ -559,7 +559,7 @@ new_CacheVC(Continuation *cont) c->_action = cont; c->initial_thread = t->tt == DEDICATED ? NULL : t; c->mutex = cont->mutex; - c->start_time = Thread::ink_get_hrtime(); + c->start_time = Thread::get_hrtime(); ink_assert(c->trigger == NULL); Debug("cache_new", "new %p", c); #ifdef CACHE_STAT_PAGES diff --git a/iocore/cache/P_CacheTest.h b/iocore/cache/P_CacheTest.h index 2369f72dfde..bf266b8a62e 100644 --- a/iocore/cache/P_CacheTest.h +++ b/iocore/cache/P_CacheTest.h @@ -94,7 +94,7 @@ struct CacheTestSM : public RegressionSM { void make_request() { - start_time = Thread::ink_get_hrtime(); + start_time = Thread::get_hrtime(); make_request_internal(); } virtual void make_request_internal() = 0; diff --git a/iocore/cluster/ClusterCache.cc b/iocore/cluster/ClusterCache.cc index 645ede8acff..502cc9a09c0 100644 --- a/iocore/cluster/ClusterCache.cc +++ b/iocore/cluster/ClusterCache.cc @@ -393,7 +393,7 @@ CacheContinuation::do_op(Continuation *c, ClusterMachine *mp, void *args, int us cc->mutex = c->mutex; cc->action = c; cc->action.cancelled = false; - cc->start_time = Thread::ink_get_hrtime(); + cc->start_time = Thread::get_hrtime(); cc->from = mp; cc->result = op_failure(opcode); SET_CONTINUATION_HANDLER(cc, (CacheContHandler)&CacheContinuation::remoteOpEvent); @@ -832,7 +832,7 @@ CacheContinuation::localVCsetupEvent(int event, ClusterVConnection *vc) } else if (((event == CLUSTER_EVENT_OPEN) || (event == CLUSTER_EVENT_OPEN_EXISTS)) && (((ptrdiff_t)timeout & (ptrdiff_t)1) == 0)) { ink_hrtime now; - now = Thread::ink_get_hrtime(); + now = Thread::get_hrtime(); CLUSTER_SUM_DYN_STAT(CLUSTER_OPEN_DELAY_TIME_STAT, now - start_time); LOG_EVENT_TIME(start_time, open_delay_time_dist, open_delay_events); if (read_op) { @@ -1046,7 +1046,7 @@ cache_op_ClusterFunction(ClusterHandler *ch, void *data, int len) MUTEX_TRY_LOCK(lock, c->mutex, this_ethread()); c->request_opcode = opcode; c->token.clear(); - c->start_time = Thread::ink_get_hrtime(); + c->start_time = Thread::get_hrtime(); c->ch = ch; SET_CONTINUATION_HANDLER(c, (CacheContHandler)&CacheContinuation::replyOpEvent); @@ -1556,7 +1556,7 @@ CacheContinuation::replyOpEvent(int event, VConnection *cvc) ink_assert(magicno == (int)MagicNo); Debug("cache_proto", "replyOpEvent(this=%p,event=%d,VC=%p)", this, event, cvc); ink_hrtime now; - now = Thread::ink_get_hrtime(); + now = Thread::get_hrtime(); CLUSTER_SUM_DYN_STAT(CLUSTER_CACHE_CALLBACK_TIME_STAT, now - start_time); LOG_EVENT_TIME(start_time, callback_time_dist, cache_callbacks); ink_release_assert(expect_cache_callback); @@ -1992,7 +1992,7 @@ cache_op_result_ClusterFunction(ClusterHandler *ch, void *d, int l) c->seq_number = msg->seq_number; c->target_ip = ch->machine->ip; SET_CONTINUATION_HANDLER(c, (CacheContHandler)&CacheContinuation::handleReplyEvent); - c->start_time = Thread::ink_get_hrtime(); + c->start_time = Thread::get_hrtime(); c->result = msg->result; if (event_is_open(msg->result)) c->token = msg->token; @@ -2094,11 +2094,11 @@ CacheContinuation::remoteOpEvent(int event_code, Event *e) res = rmsg->result; } if ((res == CACHE_EVENT_LOOKUP) || (res == CACHE_EVENT_LOOKUP_FAILED)) { - now = Thread::ink_get_hrtime(); + now = Thread::get_hrtime(); CLUSTER_SUM_DYN_STAT(CLUSTER_CACHE_LKRMT_CALLBACK_TIME_STAT, now - start_time); LOG_EVENT_TIME(start_time, lkrmt_callback_time_dist, lkrmt_cache_callbacks); } else { - now = Thread::ink_get_hrtime(); + now = Thread::get_hrtime(); CLUSTER_SUM_DYN_STAT(CLUSTER_CACHE_RMT_CALLBACK_TIME_STAT, now - start_time); LOG_EVENT_TIME(start_time, rmt_callback_time_dist, rmt_cache_callbacks); } @@ -2445,7 +2445,7 @@ CacheContinuation::do_remote_lookup(Continuation *cont, CacheKey *key, CacheCont c->url_md5 = msg->url_md5; c->action.cancelled = false; c->action = cont; - c->start_time = Thread::ink_get_hrtime(); + c->start_time = Thread::get_hrtime(); SET_CONTINUATION_HANDLER(c, (CacheContHandler)&CacheContinuation::remoteOpEvent); c->result = CACHE_EVENT_LOOKUP_FAILED; @@ -2562,7 +2562,7 @@ int CacheContinuation::replyLookupEvent(int event, void * /* d ATS_UNUSED */) { ink_hrtime now; - now = Thread::ink_get_hrtime(); + now = Thread::get_hrtime(); CLUSTER_SUM_DYN_STAT(CLUSTER_CACHE_CALLBACK_TIME_STAT, now - start_time); LOG_EVENT_TIME(start_time, callback_time_dist, cache_callbacks); diff --git a/iocore/cluster/ClusterConfig.cc b/iocore/cluster/ClusterConfig.cc index 1e439d140ea..16e5278b879 100644 --- a/iocore/cluster/ClusterConfig.cc +++ b/iocore/cluster/ClusterConfig.cc @@ -303,7 +303,7 @@ configuration_add_machine(ClusterConfiguration *c, ClusterMachine *m) cc->n_machines++; cc->link.next = c; - cc->changed = Thread::ink_get_hrtime(); + cc->changed = Thread::get_hrtime(); ink_assert(cc->n_machines < CLUSTER_MAX_MACHINES); build_cluster_hash_table(cc); @@ -335,7 +335,7 @@ configuration_remove_machine(ClusterConfiguration *c, ClusterMachine *m) ink_assert(cc->n_machines > 0); cc->link.next = c; - cc->changed = Thread::ink_get_hrtime(); + cc->changed = Thread::get_hrtime(); build_cluster_hash_table(cc); INK_MEMORY_BARRIER; // commit writes before freeing old hash table @@ -362,7 +362,7 @@ cluster_machine_at_depth(unsigned int hash, int *pprobe_depth, ClusterMachine ** #endif ClusterConfiguration *cc = this_cluster()->current_configuration(); ClusterConfiguration *next_cc = cc; - ink_hrtime now = Thread::ink_get_hrtime(); + ink_hrtime now = Thread::get_hrtime(); int fake_probe_depth = 0; int &probe_depth = pprobe_depth ? (*pprobe_depth) : fake_probe_depth; int tprobe_depth = probe_depth; diff --git a/iocore/cluster/ClusterHandler.cc b/iocore/cluster/ClusterHandler.cc index ce6120fba14..6e28916d4c1 100644 --- a/iocore/cluster/ClusterHandler.cc +++ b/iocore/cluster/ClusterHandler.cc @@ -285,7 +285,7 @@ ClusterHandler::close_ClusterVConnection(ClusterVConnection *vc) } clusterProcessor.invoke_remote(vc->ch, CLOSE_CHANNEL_CLUSTER_FUNCTION, data, len); } - ink_hrtime now = Thread::ink_get_hrtime(); + ink_hrtime now = Thread::get_hrtime(); CLUSTER_DECREMENT_DYN_STAT(CLUSTER_CONNECTIONS_OPEN_STAT); CLUSTER_SUM_DYN_STAT(CLUSTER_CON_TOTAL_TIME_STAT, now - vc->start_time); if (!local_channel(channel)) { @@ -395,7 +395,7 @@ ClusterHandler::build_initial_vector(bool read_flag) // This isn't used. // MIOBuffer *w; - ink_hrtime now = Thread::ink_get_hrtime(); + ink_hrtime now = Thread::get_hrtime(); ClusterState &s = (read_flag ? read : write); OutgoingControl *oc = s.msg.outgoing_control.head; IncomingControl *ic = incoming_control.head; @@ -879,7 +879,7 @@ ClusterHandler::process_small_control_msgs() read.msg.did_small_control_msgs = 1; } - ink_hrtime now = Thread::ink_get_hrtime(); + ink_hrtime now = Thread::get_hrtime(); char *p = (char *)&read.msg.descriptor[read.msg.count] + read.msg.control_data_offset; char *endp = (char *)&read.msg.descriptor[read.msg.count] + read.msg.control_bytes; @@ -1139,7 +1139,7 @@ ClusterHandler::process_incoming_callouts(ProxyMutex *m) //////////////////////////////// ink_assert(!clusterFunction[cluster_function_index].ClusterFunc); clusterFunction[cluster_function_index].pfn(this, p, len - sizeof(int32_t)); - now = Thread::ink_get_hrtime(); + now = Thread::get_hrtime(); CLUSTER_SUM_DYN_STAT(CLUSTER_CTRL_MSGS_RECV_TIME_STAT, now - ic->recognized_time); } else { Warning("2Bad cluster function index (small control)"); @@ -1160,7 +1160,7 @@ ClusterHandler::process_incoming_callouts(ProxyMutex *m) //////////////////////////////// ink_assert(!clusterFunction[cluster_function_index].ClusterFunc); clusterFunction[cluster_function_index].pfn(this, (void *)(ic->data + sizeof(int32_t)), ic->len - sizeof(int32_t)); - now = Thread::ink_get_hrtime(); + now = Thread::get_hrtime(); CLUSTER_SUM_DYN_STAT(CLUSTER_CTRL_MSGS_RECV_TIME_STAT, now - ic->recognized_time); } else { valid_index = false; @@ -1410,7 +1410,7 @@ ClusterHandler::update_channels_written() OutgoingControl *oc = write.msg.outgoing_control.dequeue(); oc->free_data(); oc->mutex = NULL; - now = Thread::ink_get_hrtime(); + now = Thread::get_hrtime(); CLUSTER_SUM_DYN_STAT(CLUSTER_CTRL_MSGS_SEND_TIME_STAT, now - oc->submit_time); LOG_EVENT_TIME(oc->submit_time, cluster_send_time_dist, cluster_send_events); oc->freeall(); @@ -1436,7 +1436,7 @@ ClusterHandler::update_channels_written() // Free descriptor hdr_oc->free_data(); hdr_oc->mutex = NULL; - now = Thread::ink_get_hrtime(); + now = Thread::get_hrtime(); CLUSTER_SUM_DYN_STAT(CLUSTER_CTRL_MSGS_SEND_TIME_STAT, now - hdr_oc->submit_time); LOG_EVENT_TIME(hdr_oc->submit_time, cluster_send_time_dist, cluster_send_events); hdr_oc->freeall(); @@ -1802,7 +1802,7 @@ ClusterHandler::add_small_controlmsg_descriptors() c->free_data(); c->mutex = NULL; p += c->len; - ink_hrtime now = Thread::ink_get_hrtime(); + ink_hrtime now = Thread::get_hrtime(); CLUSTER_SUM_DYN_STAT(CLUSTER_CTRL_MSGS_SEND_TIME_STAT, now - c->submit_time); LOG_EVENT_TIME(c->submit_time, cluster_send_time_dist, cluster_send_events); c->freeall(); @@ -2325,7 +2325,7 @@ int ClusterHandler::mainClusterEvent(int event, Event *e) { // Set global time - current_time = Thread::ink_get_hrtime(); + current_time = Thread::get_hrtime(); if (CacheClusterMonitorEnabled) { if ((current_time - last_trace_dump) > HRTIME_SECONDS(CacheClusterMonitorIntervalSecs)) { @@ -2457,7 +2457,7 @@ int ClusterHandler::process_read(ink_hrtime /* now ATS_UNUSED */) _n_read_start++; #endif read.msg.clear(); - read.start_time = Thread::ink_get_hrtime(); + read.start_time = Thread::get_hrtime(); if (build_initial_vector(CLUSTER_READ)) { read.state = ClusterState::READ_HEADER; } else { @@ -2708,7 +2708,7 @@ int ClusterHandler::process_read(ink_hrtime /* now ATS_UNUSED */) #ifdef CLUSTER_STATS _n_read_complete++; #endif - ink_hrtime rdmsg_end_time = Thread::ink_get_hrtime(); + ink_hrtime rdmsg_end_time = Thread::get_hrtime(); CLUSTER_SUM_DYN_STAT(CLUSTER_RDMSG_ASSEMBLE_TIME_STAT, rdmsg_end_time - read.start_time); read.start_time = HRTIME_MSECONDS(0); if (dump_msgs) @@ -2750,7 +2750,7 @@ ClusterHandler::process_write(ink_hrtime now, bool only_write_control_msgs) _n_write_start++; #endif write.msg.clear(); - write.last_time = Thread::ink_get_hrtime(); + write.last_time = Thread::get_hrtime(); pw_write_descriptors_built = -1; pw_freespace_descriptors_built = -1; pw_controldata_descriptors_built = -1; @@ -2898,7 +2898,7 @@ ClusterHandler::process_write(ink_hrtime now, bool only_write_control_msgs) _n_write_complete++; #endif write.state = ClusterState::WRITE_START; - ink_hrtime curtime = Thread::ink_get_hrtime(); + ink_hrtime curtime = Thread::get_hrtime(); if (!on_stolen_thread) { // diff --git a/iocore/cluster/ClusterLoadMonitor.cc b/iocore/cluster/ClusterLoadMonitor.cc index c24a3559268..19ab5005112 100644 --- a/iocore/cluster/ClusterLoadMonitor.cc +++ b/iocore/cluster/ClusterLoadMonitor.cc @@ -229,7 +229,7 @@ void ClusterLoadMonitor::recv_cluster_load_msg(cluster_load_ping_msg *m) { // We have received back our ping message. - ink_hrtime now = Thread::ink_get_hrtime(); + ink_hrtime now = Thread::get_hrtime(); if ((now >= m->send_time) && ((m->sequence_number >= cluster_load_msg_start_sequence_number) && (m->sequence_number < cluster_load_msg_sequence_number))) { @@ -285,7 +285,7 @@ ClusterLoadMonitor::cluster_load_periodic(int /* event ATS_UNUSED */, Event * /* } // Generate periodic ping messages. - ink_hrtime current_time = Thread::ink_get_hrtime(); + ink_hrtime current_time = Thread::get_hrtime(); if ((current_time - last_ping_message_sent) > HRTIME_MSECONDS(ping_message_send_msec_interval)) { send_cluster_load_msg(current_time); last_ping_message_sent = current_time; diff --git a/iocore/cluster/ClusterProcessor.cc b/iocore/cluster/ClusterProcessor.cc index 43f58a31f7a..65007a01739 100644 --- a/iocore/cluster/ClusterProcessor.cc +++ b/iocore/cluster/ClusterProcessor.cc @@ -91,7 +91,7 @@ ClusterProcessor::internal_invoke_remote(ClusterHandler *ch, int cluster_fn, voi c = OutgoingControl::alloc(); } CLUSTER_INCREMENT_DYN_STAT(CLUSTER_CTRL_MSGS_SENT_STAT); - c->submit_time = Thread::ink_get_hrtime(); + c->submit_time = Thread::get_hrtime(); if (malloced) { c->set_data((char *)data, len); @@ -184,7 +184,7 @@ ClusterProcessor::invoke_remote_data(ClusterHandler *ch, int cluster_fn, void *d mh.token = *token; OutgoingControl *chdr = OutgoingControl::alloc(); - chdr->submit_time = Thread::ink_get_hrtime(); + chdr->submit_time = Thread::get_hrtime(); chdr->len = sizeof(int32_t) + sizeof(mh); chdr->alloc_data(); *(int32_t *)chdr->data = -1; // always -1 for compound message @@ -243,7 +243,7 @@ ClusterProcessor::open_local(Continuation *cont, ClusterMachine * /* m ATS_UNUSE ProxyMutex *mutex = thread->mutex; ClusterVConnection *vc = clusterVCAllocator.alloc(); vc->new_connect_read = (options & CLUSTER_OPT_CONN_READ ? 1 : 0); - vc->start_time = Thread::ink_get_hrtime(); + vc->start_time = Thread::get_hrtime(); vc->last_activity_time = vc->start_time; vc->ch = ch; vc->token.alloc(); @@ -313,7 +313,7 @@ ClusterProcessor::connect_local(Continuation *cont, ClusterVCToken *token, int c ProxyMutex *mutex = thread->mutex; ClusterVConnection *vc = clusterVCAllocator.alloc(); vc->new_connect_read = (options & CLUSTER_OPT_CONN_READ ? 1 : 0); - vc->start_time = Thread::ink_get_hrtime(); + vc->start_time = Thread::get_hrtime(); vc->last_activity_time = vc->start_time; vc->ch = ch; vc->token = *token; diff --git a/iocore/dns/DNS.cc b/iocore/dns/DNS.cc index dfb9d885c9c..157e7165a0d 100644 --- a/iocore/dns/DNS.cc +++ b/iocore/dns/DNS.cc @@ -367,7 +367,7 @@ DNSEntry::init(const char *x, int len, int qtype_arg, Continuation *acont, DNSPr qtype = T_AAAA; } } - submit_time = Thread::ink_get_hrtime(); + submit_time = Thread::get_hrtime(); action = acont; submit_thread = acont->mutex->thread_holding; @@ -577,7 +577,7 @@ DNSHandler::retry_named(int ndx, ink_hrtime t, bool reopen) void DNSHandler::try_primary_named(bool reopen) { - ink_hrtime t = Thread::ink_get_hrtime(); + ink_hrtime t = Thread::get_hrtime(); if (reopen && ((t - last_primary_reopen) > DNS_PRIMARY_REOPEN_PERIOD)) { Debug("dns", "try_primary_named: reopening primary DNS connection"); last_primary_reopen = t; @@ -796,7 +796,7 @@ DNSHandler::mainEvent(int event, Event *e) { recv_dns(event, e); if (dns_ns_rr) { - ink_hrtime t = Thread::ink_get_hrtime(); + ink_hrtime t = Thread::get_hrtime(); if (t - last_primary_retry > DNS_PRIMARY_RETRY_PERIOD) { for (int i = 0; i < n_con; i++) { if (ns_down[i]) { @@ -993,7 +993,7 @@ write_dns_event(DNSHandler *h, DNSEntry *e) ++h->in_flight; DNS_INCREMENT_DYN_STAT(dns_in_flight_stat); - e->send_time = Thread::ink_get_hrtime(); + e->send_time = Thread::get_hrtime(); if (e->timeout) e->timeout->cancel(); @@ -1159,9 +1159,9 @@ dns_result(DNSHandler *h, DNSEntry *e, HostEnt *ent, bool retry) ent = NULL; if (!cancelled) { if (!ent) { - DNS_SUM_DYN_STAT(dns_fail_time_stat, Thread::ink_get_hrtime() - e->submit_time); + DNS_SUM_DYN_STAT(dns_fail_time_stat, Thread::get_hrtime() - e->submit_time); } else { - DNS_SUM_DYN_STAT(dns_success_time_stat, Thread::ink_get_hrtime() - e->submit_time); + DNS_SUM_DYN_STAT(dns_success_time_stat, Thread::get_hrtime() - e->submit_time); } } h->entries.remove(e); @@ -1298,7 +1298,7 @@ dns_process(DNSHandler *handler, HostEnt *buf, int len) --(handler->in_flight); DNS_DECREMENT_DYN_STAT(dns_in_flight_stat); - DNS_SUM_DYN_STAT(dns_response_time_stat, Thread::ink_get_hrtime() - e->send_time); + DNS_SUM_DYN_STAT(dns_response_time_stat, Thread::get_hrtime() - e->send_time); if (h->rcode != NOERROR || !h->ancount) { Debug("dns", "received rcode = %d", h->rcode); diff --git a/iocore/dns/P_DNSProcessor.h b/iocore/dns/P_DNSProcessor.h index 9f32a45bbcd..dd549c0fb43 100644 --- a/iocore/dns/P_DNSProcessor.h +++ b/iocore/dns/P_DNSProcessor.h @@ -229,7 +229,7 @@ struct DNSHandler : public Continuation { ++failover_number[name_server]; Debug("dns", "sent_one: failover_number for resolver %d is %d", name_server, failover_number[name_server]); if (failover_number[name_server] >= dns_failover_number && !crossed_failover_number[name_server]) - crossed_failover_number[name_server] = Thread::ink_get_hrtime(); + crossed_failover_number[name_server] = Thread::get_hrtime(); } bool @@ -238,16 +238,16 @@ struct DNSHandler : public Continuation { if (is_debug_tag_set("dns")) { Debug("dns", "failover_now: Considering immediate failover, target time is %" PRId64 "", (ink_hrtime)HRTIME_SECONDS(dns_failover_period)); - Debug("dns", "\tdelta time is %" PRId64 "", (Thread::ink_get_hrtime() - crossed_failover_number[i])); + Debug("dns", "\tdelta time is %" PRId64 "", (Thread::get_hrtime() - crossed_failover_number[i])); } - return (crossed_failover_number[i] && ((Thread::ink_get_hrtime() - crossed_failover_number[i]) > HRTIME_SECONDS(dns_failover_period))); + return (crossed_failover_number[i] && ((Thread::get_hrtime() - crossed_failover_number[i]) > HRTIME_SECONDS(dns_failover_period))); } bool failover_soon(int i) { return (crossed_failover_number[i] && - ((Thread::ink_get_hrtime() - crossed_failover_number[i]) > + ((Thread::get_hrtime() - crossed_failover_number[i]) > (HRTIME_SECONDS(dns_failover_try_period + failover_soon_number[i] * FAILOVER_SOON_RETRY)))); } diff --git a/iocore/eventsystem/I_Thread.h b/iocore/eventsystem/I_Thread.h index 5365b71f92e..ffad3618b36 100644 --- a/iocore/eventsystem/I_Thread.h +++ b/iocore/eventsystem/I_Thread.h @@ -156,8 +156,8 @@ class Thread { } - static ink_hrtime ink_get_hrtime(); - static ink_hrtime ink_get_based_hrtime(); + static ink_hrtime get_hrtime(); + static ink_hrtime get_based_hrtime(); }; extern Thread *this_thread(); diff --git a/iocore/eventsystem/P_UnixEThread.h b/iocore/eventsystem/P_UnixEThread.h index 19afaa4b161..f4a8265e62e 100644 --- a/iocore/eventsystem/P_UnixEThread.h +++ b/iocore/eventsystem/P_UnixEThread.h @@ -76,7 +76,7 @@ EThread::schedule_in(Continuation *cont, ink_hrtime t, int callback_event, void Event *e = ::eventAllocator.alloc(); e->callback_event = callback_event; e->cookie = cookie; - return schedule(e->init(cont, ink_get_based_hrtime() + t, 0)); + return schedule(e->init(cont, get_based_hrtime() + t, 0)); } TS_INLINE Event * @@ -85,7 +85,7 @@ EThread::schedule_every(Continuation *cont, ink_hrtime t, int callback_event, vo Event *e = ::eventAllocator.alloc(); e->callback_event = callback_event; e->cookie = cookie; - return schedule(e->init(cont, ink_get_based_hrtime() + t, t)); + return schedule(e->init(cont, get_based_hrtime() + t, t)); } TS_INLINE Event * @@ -126,7 +126,7 @@ EThread::schedule_in_local(Continuation *cont, ink_hrtime t, int callback_event, Event *e = EVENT_ALLOC(eventAllocator, this); e->callback_event = callback_event; e->cookie = cookie; - return schedule_local(e->init(cont, ink_get_based_hrtime() + t, 0)); + return schedule_local(e->init(cont, get_based_hrtime() + t, 0)); } TS_INLINE Event * @@ -135,7 +135,7 @@ EThread::schedule_every_local(Continuation *cont, ink_hrtime t, int callback_eve Event *e = EVENT_ALLOC(eventAllocator, this); e->callback_event = callback_event; e->cookie = cookie; - return schedule_local(e->init(cont, ink_get_based_hrtime() + t, t)); + return schedule_local(e->init(cont, get_based_hrtime() + t, t)); } TS_INLINE Event * diff --git a/iocore/eventsystem/P_UnixEventProcessor.h b/iocore/eventsystem/P_UnixEventProcessor.h index 4870a03c623..0b9601b77cc 100644 --- a/iocore/eventsystem/P_UnixEventProcessor.h +++ b/iocore/eventsystem/P_UnixEventProcessor.h @@ -129,7 +129,7 @@ EventProcessor::schedule_in(Continuation *cont, ink_hrtime t, EventType et, int ink_assert(et < MAX_EVENT_TYPES); e->callback_event = callback_event; e->cookie = cookie; - return schedule(e->init(cont, Thread::ink_get_based_hrtime() + t, 0), et); + return schedule(e->init(cont, Thread::get_based_hrtime() + t, 0), et); } TS_INLINE Event * @@ -144,7 +144,7 @@ EventProcessor::schedule_every(Continuation *cont, ink_hrtime t, EventType et, i if (t < 0) return schedule(e->init(cont, t, t), et); else - return schedule(e->init(cont, Thread::ink_get_based_hrtime() + t, t), et); + return schedule(e->init(cont, Thread::get_based_hrtime() + t, t), et); } diff --git a/iocore/eventsystem/Thread.cc b/iocore/eventsystem/Thread.cc index fc4eb134f02..1c85c6eaf9a 100644 --- a/iocore/eventsystem/Thread.cc +++ b/iocore/eventsystem/Thread.cc @@ -103,13 +103,13 @@ Thread::start(const char *name, size_t stacksize, ThreadFunction f, void *a) } ink_hrtime -Thread::ink_get_hrtime() +Thread::get_hrtime() { return Thread::cur_time; } ink_hrtime -Thread::ink_get_based_hrtime() +Thread::get_based_hrtime() { return Thread::cur_time; } diff --git a/iocore/eventsystem/UnixEThread.cc b/iocore/eventsystem/UnixEThread.cc index a30a4e3a57f..250b8e1e4ed 100644 --- a/iocore/eventsystem/UnixEThread.cc +++ b/iocore/eventsystem/UnixEThread.cc @@ -134,7 +134,7 @@ EThread::process_event(Event *e, int calling_code) if (e->period < 0) e->timeout_at = e->period; else { - cur_time = ink_get_based_hrtime(); + cur_time = get_based_hrtime(); e->timeout_at = cur_time + e->period; if (e->timeout_at < cur_time) e->timeout_at = cur_time; diff --git a/iocore/eventsystem/UnixEvent.cc b/iocore/eventsystem/UnixEvent.cc index 8c98bd1b106..fc8cb0e99df 100644 --- a/iocore/eventsystem/UnixEvent.cc +++ b/iocore/eventsystem/UnixEvent.cc @@ -69,7 +69,7 @@ Event::schedule_in(ink_hrtime atimeout_in, int acallback_event) ink_assert(ethread == this_ethread()); if (in_the_priority_queue) ethread->EventQueue.remove(this); - timeout_at = Thread::ink_get_based_hrtime() + atimeout_in; + timeout_at = Thread::get_based_hrtime() + atimeout_in; period = 0; immediate = false; mutex = continuation->mutex; @@ -88,7 +88,7 @@ Event::schedule_every(ink_hrtime aperiod, int acallback_event) if (aperiod < 0) { timeout_at = aperiod; } else { - timeout_at = Thread::ink_get_based_hrtime() + aperiod; + timeout_at = Thread::get_based_hrtime() + aperiod; } period = aperiod; immediate = false; diff --git a/iocore/hostdb/HostDB.cc b/iocore/hostdb/HostDB.cc index 0f4dda147af..d60cebdea79 100644 --- a/iocore/hostdb/HostDB.cc +++ b/iocore/hostdb/HostDB.cc @@ -388,7 +388,7 @@ int HostDBSyncer::sync_event(int, void *) { SET_HANDLER(&HostDBSyncer::wait_event); - start_time = Thread::ink_get_hrtime(); + start_time = Thread::get_hrtime(); hostDBProcessor.cache()->sync_partitions(this); return EVENT_DONE; } @@ -397,7 +397,7 @@ HostDBSyncer::sync_event(int, void *) int HostDBSyncer::wait_event(int, void *) { - ink_hrtime next_sync = HRTIME_SECONDS(hostdb_sync_frequency) - (Thread::ink_get_hrtime() - start_time); + ink_hrtime next_sync = HRTIME_SECONDS(hostdb_sync_frequency) - (Thread::get_hrtime() - start_time); SET_HANDLER(&HostDBSyncer::sync_event); if (next_sync > HRTIME_MSECONDS(100)) @@ -524,7 +524,7 @@ HostDBProcessor::start(int, size_t) // // Set up hostdb_current_interval // - hostdb_current_interval = (unsigned int)(Thread::ink_get_based_hrtime() / HOST_DB_TIMEOUT_INTERVAL); + hostdb_current_interval = (unsigned int)(Thread::get_based_hrtime() / HOST_DB_TIMEOUT_INTERVAL); HostDBContinuation *b = hostDBContAllocator.alloc(); SET_CONTINUATION_HANDLER(b, (HostDBContHandler)&HostDBContinuation::backgroundEvent); diff --git a/iocore/net/OCSPStapling.cc b/iocore/net/OCSPStapling.cc index f24f2f8d1b4..d3b19378b79 100644 --- a/iocore/net/OCSPStapling.cc +++ b/iocore/net/OCSPStapling.cc @@ -245,7 +245,7 @@ query_responder(BIO *b, char *host, char *path, OCSP_REQUEST *req, int req_timeo OCSP_REQ_CTX *ctx; int rv; - start = Thread::ink_get_hrtime(); + start = Thread::get_hrtime(); end = ink_hrtime_add(start, ink_hrtime_from_sec(req_timeout)); ctx = OCSP_sendreq_new(b, path, NULL, -1); @@ -255,7 +255,7 @@ query_responder(BIO *b, char *host, char *path, OCSP_REQUEST *req, int req_timeo do { rv = OCSP_sendreq_nbio(&resp, ctx); ink_hrtime_sleep(HRTIME_MSECONDS(1)); - } while ((rv == -1) && BIO_should_retry(b) && (Thread::ink_get_hrtime() < end)); + } while ((rv == -1) && BIO_should_retry(b) && (Thread::get_hrtime() < end)); OCSP_REQ_CTX_free(ctx); diff --git a/iocore/net/P_UnixNet.h b/iocore/net/P_UnixNet.h index 605432193fe..3285b3575c2 100644 --- a/iocore/net/P_UnixNet.h +++ b/iocore/net/P_UnixNet.h @@ -244,7 +244,7 @@ net_connections_to_throttle(ThrottleType t) TS_INLINE void check_shedding_warning() { - ink_hrtime t = Thread::ink_get_hrtime(); + ink_hrtime t = Thread::get_hrtime(); if (t - last_shedding_warning > NET_THROTTLE_MESSAGE_EVERY) { last_shedding_warning = t; RecSignalWarning(REC_SIGNAL_SYSTEM_ERROR, "number of connections reaching shedding limit"); @@ -274,7 +274,7 @@ check_net_throttle(ThrottleType t, ink_hrtime now) TS_INLINE void check_throttle_warning() { - ink_hrtime t = Thread::ink_get_hrtime(); + ink_hrtime t = Thread::get_hrtime(); if (t - last_throttle_warning > NET_THROTTLE_MESSAGE_EVERY) { last_throttle_warning = t; RecSignalWarning(REC_SIGNAL_SYSTEM_ERROR, "too many connections, throttling"); @@ -299,7 +299,7 @@ check_emergency_throttle(Connection &con) int emergency = fds_limit - EMERGENCY_THROTTLE; if (fd > emergency) { int over = fd - emergency; - emergency_throttle_time = Thread::ink_get_hrtime() + (over * over) * HRTIME_SECOND; + emergency_throttle_time = Thread::get_hrtime() + (over * over) * HRTIME_SECOND; RecSignalWarning(REC_SIGNAL_SYSTEM_ERROR, "too many open file descriptors, emergency throttling"); int hyper_emergency = fds_limit - HYPER_EMERGENCY_THROTTLE; if (fd > hyper_emergency) @@ -372,7 +372,7 @@ accept_error_seriousness(int res) TS_INLINE void check_transient_accept_error(int res) { - ink_hrtime t = Thread::ink_get_hrtime(); + ink_hrtime t = Thread::get_hrtime(); if (!last_transient_accept_error || t - last_transient_accept_error > TRANSIENT_ACCEPT_ERROR_MESSAGE_EVERY) { last_transient_accept_error = t; Warning("accept thread received transient error: errno = %d", -res); diff --git a/iocore/net/P_UnixNetVConnection.h b/iocore/net/P_UnixNetVConnection.h index 772b626b5e0..52436638f4a 100644 --- a/iocore/net/P_UnixNetVConnection.h +++ b/iocore/net/P_UnixNetVConnection.h @@ -311,7 +311,7 @@ UnixNetVConnection::set_inactivity_timeout(ink_hrtime timeout) Debug("socket", "Set inactive timeout=%" PRId64 ", for NetVC=%p", timeout, this); inactivity_timeout_in = timeout; #ifndef INACTIVITY_TIMEOUT - next_inactivity_timeout_at = Thread::ink_get_hrtime() + timeout; + next_inactivity_timeout_at = Thread::get_hrtime() + timeout; #else if (inactivity_timeout) inactivity_timeout->cancel_action(this); diff --git a/iocore/net/SSLNetVConnection.cc b/iocore/net/SSLNetVConnection.cc index 25a8e662aea..b86908dca1a 100644 --- a/iocore/net/SSLNetVConnection.cc +++ b/iocore/net/SSLNetVConnection.cc @@ -994,7 +994,7 @@ SSLNetVConnection::sslServerHandShakeEvent(int &err) sslHandShakeComplete = true; if (sslHandshakeBeginTime) { - const ink_hrtime ssl_handshake_time = Thread::ink_get_hrtime() - sslHandshakeBeginTime; + const ink_hrtime ssl_handshake_time = Thread::get_hrtime() - sslHandshakeBeginTime; Debug("ssl", "ssl handshake time:%" PRId64, ssl_handshake_time); sslHandshakeBeginTime = 0; SSL_INCREMENT_DYN_STAT_EX(ssl_total_handshake_time_stat, ssl_handshake_time); diff --git a/iocore/net/SSLNextProtocolAccept.cc b/iocore/net/SSLNextProtocolAccept.cc index 654882f817d..42c1f254c53 100644 --- a/iocore/net/SSLNextProtocolAccept.cc +++ b/iocore/net/SSLNextProtocolAccept.cc @@ -117,7 +117,7 @@ SSLNextProtocolAccept::mainEvent(int event, void *edata) { SSLNetVConnection *netvc = ssl_netvc_cast(event, edata); - netvc->sslHandshakeBeginTime = Thread::ink_get_hrtime(); + netvc->sslHandshakeBeginTime = Thread::get_hrtime(); Debug("ssl", "[SSLNextProtocolAccept:mainEvent] event %d netvc %p", event, netvc); switch (event) { diff --git a/iocore/net/UnixNet.cc b/iocore/net/UnixNet.cc index 2c520a4c009..7fa8e11e21e 100644 --- a/iocore/net/UnixNet.cc +++ b/iocore/net/UnixNet.cc @@ -59,7 +59,7 @@ class InactivityCop : public Continuation check_inactivity(int event, Event *e) { (void)event; - ink_hrtime now = Thread::ink_get_hrtime(); + ink_hrtime now = Thread::get_hrtime(); NetHandler &nh = *get_NetHandler(this_ethread()); total_connections_in = 0; // Copy the list and use pop() to catch any closes caused by callbacks. diff --git a/iocore/net/UnixNetAccept.cc b/iocore/net/UnixNetAccept.cc index 4cee327e04f..aaa4e40c8b9 100644 --- a/iocore/net/UnixNetAccept.cc +++ b/iocore/net/UnixNetAccept.cc @@ -54,7 +54,7 @@ send_throttle_message(NetAccept *na) afd.events = POLLIN; int n = 0; - while (check_net_throttle(ACCEPT, Thread::ink_get_hrtime()) && n < THROTTLE_AT_ONCE - 1 && (socketManager.poll(&afd, 1, 0) > 0)) { + while (check_net_throttle(ACCEPT, Thread::get_hrtime()) && n < THROTTLE_AT_ONCE - 1 && (socketManager.poll(&afd, 1, 0) > 0)) { int res = 0; if ((res = na->server.accept(&con[n])) < 0) return res; @@ -115,7 +115,7 @@ net_accept(NetAccept *na, void *ep, bool blockable) count++; na->alloc_cache = NULL; - vc->submit_time = Thread::ink_get_hrtime(); + vc->submit_time = Thread::get_hrtime(); ats_ip_copy(&vc->server_addr, &vc->con.addr); vc->mutex = new_ProxyMutex(); vc->action_ = *na->action_; @@ -240,7 +240,7 @@ NetAccept::do_blocking_accept(EThread *t) // do-while for accepting all the connections // added by YTS Team, yamsat do { - ink_hrtime now = Thread::ink_get_hrtime(); + ink_hrtime now = Thread::get_hrtime(); // Throttle accepts @@ -251,7 +251,7 @@ NetAccept::do_blocking_accept(EThread *t) } else if (send_throttle_message(this) < 0) { goto Lerror; } - now = Thread::ink_get_hrtime(); + now = Thread::get_hrtime(); } if ((res = server.accept(&con)) < 0) { @@ -359,7 +359,7 @@ NetAccept::acceptFastEvent(int event, void *ep) int loop = accept_till_done; do { - if (!backdoor && check_net_throttle(ACCEPT, Thread::ink_get_hrtime())) { + if (!backdoor && check_net_throttle(ACCEPT, Thread::get_hrtime())) { ifd = -1; return EVENT_CONT; } @@ -436,7 +436,7 @@ NetAccept::acceptFastEvent(int event, void *ep) NET_SUM_GLOBAL_DYN_STAT(net_connections_currently_open_stat, 1); vc->id = net_next_connection_number(); - vc->submit_time = Thread::ink_get_hrtime(); + vc->submit_time = Thread::get_hrtime(); ats_ip_copy(&vc->server_addr, &vc->con.addr); vc->set_is_transparent(server.f_inbound_transparent); vc->mutex = new_ProxyMutex(); diff --git a/iocore/net/UnixNetPages.cc b/iocore/net/UnixNetPages.cc index 08b14eeffef..1ddcd4b50b8 100644 --- a/iocore/net/UnixNetPages.cc +++ b/iocore/net/UnixNetPages.cc @@ -60,7 +60,7 @@ struct ShowNet : public ShowCont { return EVENT_DONE; } - ink_hrtime now = Thread::ink_get_hrtime(); + ink_hrtime now = Thread::get_hrtime(); forl_LL(UnixNetVConnection, vc, nh->open_list) { // uint16_t port = ats_ip_port_host_order(&addr.sa); diff --git a/iocore/net/UnixNetProcessor.cc b/iocore/net/UnixNetProcessor.cc index b2ea82a0956..ed91c80d5c0 100644 --- a/iocore/net/UnixNetProcessor.cc +++ b/iocore/net/UnixNetProcessor.cc @@ -213,7 +213,7 @@ UnixNetProcessor::connect_re_internal(Continuation *cont, sockaddr const *target NET_SUM_GLOBAL_DYN_STAT(net_connections_currently_open_stat, 1); vc->id = net_next_connection_number(); - vc->submit_time = Thread::ink_get_hrtime(); + vc->submit_time = Thread::get_hrtime(); vc->setSSLClientConnection(true); ats_ip_copy(&vc->server_addr, target); vc->mutex = cont->mutex; diff --git a/iocore/net/UnixNetVConnection.cc b/iocore/net/UnixNetVConnection.cc index 3cd4473b745..a622d5499b1 100644 --- a/iocore/net/UnixNetVConnection.cc +++ b/iocore/net/UnixNetVConnection.cc @@ -82,7 +82,7 @@ net_activity(UnixNetVConnection *vc, EThread *thread) } #else if (vc->inactivity_timeout_in) - vc->next_inactivity_timeout_at = Thread::ink_get_hrtime() + vc->inactivity_timeout_in; + vc->next_inactivity_timeout_at = Thread::get_hrtime() + vc->inactivity_timeout_in; else vc->next_inactivity_timeout_at = 0; #endif @@ -852,7 +852,7 @@ UnixNetVConnection::set_enabled(VIO *vio) } #else if (!next_inactivity_timeout_at && inactivity_timeout_in) - next_inactivity_timeout_at = Thread::ink_get_hrtime() + inactivity_timeout_in; + next_inactivity_timeout_at = Thread::get_hrtime() + inactivity_timeout_in; #endif } @@ -1069,7 +1069,7 @@ UnixNetVConnection::mainEvent(int event, Event *e) /* BZ 49408 */ // ink_assert(inactivity_timeout_in); // ink_assert(next_inactivity_timeout_at < ink_get_hrtime()); - if (!inactivity_timeout_in || next_inactivity_timeout_at > Thread::ink_get_hrtime()) + if (!inactivity_timeout_in || next_inactivity_timeout_at > Thread::get_hrtime()) return EVENT_CONT; signal_event = VC_EVENT_INACTIVITY_TIMEOUT; signal_timeout_at = &next_inactivity_timeout_at; diff --git a/proxy/ICP.cc b/proxy/ICP.cc index 674ecc7da07..66f071e208d 100644 --- a/proxy/ICP.cc +++ b/proxy/ICP.cc @@ -293,7 +293,7 @@ ICPPeerReadCont::init(ICPProcessor *ICPpr, Peer *p, int lookup_local) { PeerReadData *s = PeerReadDataAllocator.alloc(); s->init(); - s->_start_time = Thread::ink_get_hrtime(); + s->_start_time = Thread::get_hrtime(); s->_peer = p; s->_next_state = READ_ACTIVE; s->_cache_lookup_local = lookup_local; @@ -454,7 +454,7 @@ ICPPeerReadCont::ICPPeerQueryCont(int /* event ATS_UNUSED */, Event * /* e ATS_U SET_HANDLER((ICPPeerReadContHandler)&ICPPeerReadCont::ICPPeerQueryEvent); if (_state->_rICPmsg->un.query.URL && *_state->_rICPmsg->un.query.URL) { _state->_queryResult = ~CACHE_EVENT_LOOKUP_FAILED; - _start_time = Thread::ink_get_hrtime(); + _start_time = Thread::get_hrtime(); if (pluginFreshnessCalcFunc && _ICPpr->GetConfig()->globalConfig()->ICPStaleLookup()) { ////////////////////////////////////////////////////////////// // Note: _cache_lookup_local is ignored in this case, since @@ -906,7 +906,7 @@ ICPPeerReadCont::PeerReadStateMachine(PeerReadData *s, Event *e) MUTEX_UNTAKE_LOCK(ICPReqContMutex, ethread); if (request_start_time) { - ICP_SUM_DYN_STAT(total_icp_response_time_stat, (Thread::ink_get_hrtime() - request_start_time)); + ICP_SUM_DYN_STAT(total_icp_response_time_stat, (Thread::get_hrtime() - request_start_time)); } RECORD_ICP_STATE_CHANGE(s, 0, READ_NOT_ACTIVE); s->_next_state = READ_NOT_ACTIVE; @@ -931,7 +931,7 @@ ICPPeerReadCont::PeerReadStateMachine(PeerReadData *s, Event *e) } else { // Last read was valid, see if any more read data before exiting s->reset(); - s->_start_time = Thread::ink_get_hrtime(); + s->_start_time = Thread::get_hrtime(); s->_next_state = READ_ACTIVE; RECORD_ICP_STATE_CHANGE(s, 0, READ_ACTIVE); break; // restart @@ -1294,7 +1294,7 @@ ICPRequestCont::ICPStateMachine(int event, void *d) _cont->handleEvent(_ret_status, (void *)&_ret_sockaddr); } MUTEX_UNTAKE_LOCK(mutex, this_ethread()); - ICP_SUM_DYN_STAT(total_icp_request_time_stat, (Thread::ink_get_hrtime() - _start_time)); + ICP_SUM_DYN_STAT(total_icp_request_time_stat, (Thread::get_hrtime() - _start_time)); _next_state = ICP_WAIT_SEND_COMPLETE; break; // move to next_state diff --git a/proxy/ICP.h b/proxy/ICP.h index 6ad712c8fbb..aac4469ead3 100644 --- a/proxy/ICP.h +++ b/proxy/ICP.h @@ -1174,7 +1174,7 @@ class ICPRequestCont : public Continuation inline void SetRequestStartTime() { - _start_time = Thread::ink_get_hrtime(); + _start_time = Thread::get_hrtime(); } inline ink_hrtime GetRequestStartTime() diff --git a/proxy/ICPConfig.cc b/proxy/ICPConfig.cc index 6164129dfe2..02e9388297a 100644 --- a/proxy/ICPConfig.cc +++ b/proxy/ICPConfig.cc @@ -802,7 +802,7 @@ Peer::LogRecvMsg(ICPMsg_t *m, int valid) // Note: ICPMsg_t (m) is in native byte order // Note numerous stats on a per peer basis - _stats.last_receive = Thread::ink_get_hrtime(); + _stats.last_receive = Thread::get_hrtime(); if ((m->h.opcode >= ICP_OP_QUERY) && (m->h.opcode <= ICP_OP_LAST)) { _stats.recv[m->h.opcode]++; } else { @@ -959,7 +959,7 @@ ParentSiblingPeer::LogSendMsg(ICPMsg_t *m, sockaddr const * /* sa ATS_UNUSED */) // Note: ICPMsg_t (m) is in network byte order // Note numerous stats on a per peer basis - _stats.last_send = Thread::ink_get_hrtime(); + _stats.last_send = Thread::get_hrtime(); _stats.sent[m->h.opcode]++; _stats.total_sent++; } @@ -1086,7 +1086,7 @@ MultiCastPeer::LogSendMsg(ICPMsg_t *m, sockaddr const *sa) } else { // Note numerous stats on MultiCast peer and each member peer - _stats.last_send = Thread::ink_get_hrtime(); + _stats.last_send = Thread::get_hrtime(); _stats.sent[m->h.opcode]++; _stats.total_sent++; @@ -1270,7 +1270,7 @@ ICPPeriodicCont::DoReconfigAction(int event, Event *e) ink_hrtime ICPlog::GetElapsedTime() { - return (Thread::ink_get_hrtime() - _s->_start_time); + return (Thread::get_hrtime() - _s->_start_time); } sockaddr const * diff --git a/proxy/InkAPI.cc b/proxy/InkAPI.cc index 64e37afab52..4456242d306 100644 --- a/proxy/InkAPI.cc +++ b/proxy/InkAPI.cc @@ -1706,7 +1706,7 @@ TSdrandom() ink_hrtime TShrtime() { - return Thread::ink_get_based_hrtime(); + return Thread::get_based_hrtime(); } //////////////////////////////////////////////////////////////////// @@ -6277,7 +6277,7 @@ TSVConnFdCreate(int fd) vc->action_ = &a; vc->id = net_next_connection_number(); - vc->submit_time = Thread::ink_get_hrtime(); + vc->submit_time = Thread::get_hrtime(); vc->set_is_transparent(false); vc->mutex = new_ProxyMutex(); diff --git a/proxy/InkIOCoreAPI.cc b/proxy/InkIOCoreAPI.cc index 29b07be5ba8..ac18a997de1 100644 --- a/proxy/InkIOCoreAPI.cc +++ b/proxy/InkIOCoreAPI.cc @@ -352,7 +352,7 @@ TSVIOMutexGet(TSVIO viop) ink_hrtime INKBasedTimeGet() { - return Thread::ink_get_based_hrtime(); + return Thread::get_based_hrtime(); } /* UDP Connection Interface */ diff --git a/proxy/Main.cc b/proxy/Main.cc index 11d79a0a5d8..0e8d7828861 100644 --- a/proxy/Main.cc +++ b/proxy/Main.cc @@ -592,7 +592,7 @@ cmd_check_internal(char * /* cmd ATS_UNUSED */, bool fix = false) printf("%s\n\n", n); - hostdb_current_interval = (Thread::ink_get_based_hrtime() / HRTIME_MINUTE); + hostdb_current_interval = (Thread::get_based_hrtime() / HRTIME_MINUTE); #if 0 printf("Host Database\n"); diff --git a/proxy/PluginVC.cc b/proxy/PluginVC.cc index 0347870ce3b..357b4d9a085 100644 --- a/proxy/PluginVC.cc +++ b/proxy/PluginVC.cc @@ -188,7 +188,7 @@ PluginVC::main_handler(int event, void *data) if (call_event == active_event) { process_timeout(&active_event, VC_EVENT_ACTIVE_TIMEOUT); } else if (call_event == inactive_event) { - if (inactive_timeout_at && inactive_timeout_at < Thread::ink_get_hrtime()) { + if (inactive_timeout_at && inactive_timeout_at < Thread::get_hrtime()) { process_timeout(&inactive_event, VC_EVENT_INACTIVITY_TIMEOUT); call_event->cancel(); } @@ -770,7 +770,7 @@ PluginVC::update_inactive_time() if (inactive_event && inactive_timeout) { // inactive_event->cancel(); // inactive_event = eventProcessor.schedule_in(this, inactive_timeout); - inactive_timeout_at = Thread::ink_get_hrtime() + inactive_timeout; + inactive_timeout_at = Thread::get_hrtime() + inactive_timeout; } } @@ -827,7 +827,7 @@ PluginVC::set_inactivity_timeout(ink_hrtime timeout_in) { inactive_timeout = timeout_in; if (inactive_timeout != 0) { - inactive_timeout_at = Thread::ink_get_hrtime() + inactive_timeout; + inactive_timeout_at = Thread::get_hrtime() + inactive_timeout; if (inactive_event == NULL) { inactive_event = eventProcessor.schedule_every(this, HRTIME_SECONDS(1)); } diff --git a/proxy/StatSystem.cc b/proxy/StatSystem.cc index f0d2fa9ebc9..ed905292f0e 100644 --- a/proxy/StatSystem.cc +++ b/proxy/StatSystem.cc @@ -308,7 +308,7 @@ take_rusage_snap() continue; Note("getrusage [%d %s]", errno, strerror(errno)); } else - rusage_snap_time = Thread::ink_get_hrtime(); + rusage_snap_time = Thread::get_hrtime(); break; } Debug("rusage", "took rusage snap %" PRId64 "", rusage_snap_time); diff --git a/proxy/Update.cc b/proxy/Update.cc index e1bb4ef5ecd..83a4a16172b 100644 --- a/proxy/Update.cc +++ b/proxy/Update.cc @@ -523,7 +523,7 @@ UpdateEntry::ComputeScheduleTime() } } - ht = Thread::ink_get_based_hrtime(); + ht = Thread::get_based_hrtime(); cur_time = ht / HRTIME_SECOND; if (!_start_time) { @@ -1250,7 +1250,7 @@ UpdateScheduler::ScheduleEvent(int event, void *e) // Scan entry list and schedule expired updates /////////////////////////////////////////////////////// - ink_hrtime ht = Thread::ink_get_based_hrtime(); + ink_hrtime ht = Thread::get_based_hrtime(); time_t cur_time = ht / HRTIME_SECOND; Queue no_action_q; int time_expired; diff --git a/proxy/congest/Congestion.cc b/proxy/congest/Congestion.cc index 26ae5e24b79..f7e088396fd 100644 --- a/proxy/congest/Congestion.cc +++ b/proxy/congest/Congestion.cc @@ -618,7 +618,7 @@ CongestionEntry::sprint(char *buf, int buflen, int format) ink_hrtime timestamp = 0; char state; if (pRecord->max_connection >= 0 && m_num_connections >= pRecord->max_connection) { - timestamp = ink_hrtime_to_sec(Thread::ink_get_hrtime()); + timestamp = ink_hrtime_to_sec(Thread::get_hrtime()); state = 'M'; } else { timestamp = m_last_congested; diff --git a/proxy/congest/Congestion.h b/proxy/congest/Congestion.h index 29c2037cd9b..760eae524c7 100644 --- a/proxy/congest/Congestion.h +++ b/proxy/congest/Congestion.h @@ -288,7 +288,7 @@ CongestionEntry::client_retry_after() { int prat = 0; if (F_congested()) { - prat = pRecord->proxy_retry_interval + m_history.last_event - ink_hrtime_to_sec(Thread::ink_get_hrtime()); + prat = pRecord->proxy_retry_interval + m_history.last_event - ink_hrtime_to_sec(Thread::get_hrtime()); if (prat < 0) prat = 0; } diff --git a/proxy/congest/CongestionDB.cc b/proxy/congest/CongestionDB.cc index cce4a7bb558..eedd853fad8 100644 --- a/proxy/congest/CongestionDB.cc +++ b/proxy/congest/CongestionDB.cc @@ -128,7 +128,7 @@ static long congestEntryGCTime = 0; void preCongestEntryGC(void) { - congestEntryGCTime = (long)ink_hrtime_to_sec(Thread::ink_get_hrtime()); + congestEntryGCTime = (long)ink_hrtime_to_sec(Thread::get_hrtime()); } // if the entry contains useful info, return false -- keep it @@ -315,7 +315,7 @@ CongestionDBCont::GC(int /* event ATS_UNUSED */, Event * /* e ATS_UNUSED */) { MUTEX_TRY_LOCK(lock, bucket_mutex, this_ethread()); if (lock.is_locked()) { - ink_hrtime now = Thread::ink_get_hrtime(); + ink_hrtime now = Thread::get_hrtime(); now = ink_hrtime_to_sec(now); theCongestionDB->RunTodoList(CDBC_pid); Iter it; diff --git a/proxy/http/HttpSM.cc b/proxy/http/HttpSM.cc index b04fb956697..6d84f1cf27a 100644 --- a/proxy/http/HttpSM.cc +++ b/proxy/http/HttpSM.cc @@ -347,7 +347,7 @@ HttpSM::destroy() void HttpSM::init() { - milestones.sm_start = Thread::ink_get_hrtime(); + milestones.sm_start = Thread::get_hrtime(); magic = HTTP_SM_MAGIC_ALIVE; sm_id = 0; @@ -498,7 +498,7 @@ HttpSM::start_sub_sm() void HttpSM::attach_client_session(HttpClientSession *client_vc, IOBufferReader *buffer_reader) { - milestones.ua_begin = Thread::ink_get_hrtime(); + milestones.ua_begin = Thread::get_hrtime(); ink_assert(client_vc != NULL); ua_session = client_vc; @@ -627,7 +627,7 @@ HttpSM::state_read_client_request_header(int event, void *data) // the accept timeout by the HttpClientSession // if (client_request_hdr_bytes == 0) { - milestones.ua_first_read = Thread::ink_get_hrtime(); + milestones.ua_first_read = Thread::get_hrtime(); ua_session->get_netvc()->set_inactivity_timeout(HRTIME_SECONDS(t_state.txn_conf->transaction_no_activity_timeout_in)); } ///////////////////// @@ -690,7 +690,7 @@ HttpSM::state_read_client_request_header(int event, void *data) } http_parser_clear(&http_parser); ua_entry->vc_handler = &HttpSM::state_watch_for_client_abort; - milestones.ua_read_header_done = Thread::ink_get_hrtime(); + milestones.ua_read_header_done = Thread::get_hrtime(); } switch (state) { @@ -856,7 +856,7 @@ HttpSM::state_watch_for_client_abort(int event, void *data) ua_entry->read_vio->nbytes = ua_entry->read_vio->ndone; } mark_server_down_on_client_abort(); - milestones.ua_close = Thread::ink_get_hrtime(); + milestones.ua_close = Thread::get_hrtime(); set_ua_abort(HttpTransact::ABORTED, event); terminate_sm = true; break; @@ -997,7 +997,7 @@ HttpSM::state_read_push_response_header(int event, void *data) // Disable further IO ua_entry->read_vio->nbytes = ua_entry->read_vio->ndone; http_parser_clear(&http_parser); - milestones.server_read_header_done = Thread::ink_get_hrtime(); + milestones.server_read_header_done = Thread::get_hrtime(); } switch (state) { @@ -1031,7 +1031,7 @@ HttpSM::state_raw_http_server_open(int event, void *data) { STATE_ENTER(&HttpSM::state_raw_http_server_open, event); ink_assert(server_entry == NULL); - milestones.server_connect_end = Thread::ink_get_hrtime(); + milestones.server_connect_end = Thread::get_hrtime(); NetVConnection *netvc = NULL; pending_action = NULL; @@ -1587,7 +1587,7 @@ HttpSM::state_http_server_open(int event, void *data) // TODO decide whether to uncomment after finish testing redirect // ink_assert(server_entry == NULL); pending_action = NULL; - milestones.server_connect_end = Thread::ink_get_hrtime(); + milestones.server_connect_end = Thread::get_hrtime(); HttpServerSession *session; switch (event) { @@ -1720,7 +1720,7 @@ HttpSM::state_read_server_response_header(int event, void *data) // the connect timeout when we set up to read the header // if (server_response_hdr_bytes == 0) { - milestones.server_first_read = Thread::ink_get_hrtime(); + milestones.server_first_read = Thread::get_hrtime(); if (t_state.api_txn_no_activity_timeout_value != -1) { server_session->get_netvc()->set_inactivity_timeout(HRTIME_MSECONDS(t_state.api_txn_no_activity_timeout_value)); @@ -1757,7 +1757,7 @@ HttpSM::state_read_server_response_header(int event, void *data) // Disable further IO server_entry->read_vio->nbytes = server_entry->read_vio->ndone; http_parser_clear(&http_parser); - milestones.server_read_header_done = Thread::ink_get_hrtime(); + milestones.server_read_header_done = Thread::get_hrtime(); } switch (state) { @@ -2083,7 +2083,7 @@ HttpSM::process_hostdb_info(HostDBInfo *r) ink_assert(!t_state.host_db_info.round_robin); } - milestones.dns_lookup_end = Thread::ink_get_hrtime(); + milestones.dns_lookup_end = Thread::get_hrtime(); if (is_debug_tag_set("http_timeout")) { if (t_state.api_txn_dns_timeout_value != -1) { @@ -2350,7 +2350,7 @@ int HttpSM::state_cache_open_write(int event, void *data) { STATE_ENTER(&HttpSM : state_cache_open_write, event); - milestones.cache_open_write_end = Thread::ink_get_hrtime(); + milestones.cache_open_write_end = Thread::get_hrtime(); pending_action = NULL; switch (event) { @@ -2441,7 +2441,7 @@ int HttpSM::state_cache_open_read(int event, void *data) { STATE_ENTER(&HttpSM::state_cache_open_read, event); - milestones.cache_open_read_end = Thread::ink_get_hrtime(); + milestones.cache_open_read_end = Thread::get_hrtime(); ink_assert(server_entry == NULL); ink_assert(t_state.cache_info.object_read == 0); @@ -2824,7 +2824,7 @@ HttpSM::tunnel_handler_server(int event, HttpTunnelProducer *p) { STATE_ENTER(&HttpSM::tunnel_handler_server, event); - milestones.server_close = Thread::ink_get_hrtime(); + milestones.server_close = Thread::get_hrtime(); bool close_connection = false; @@ -3064,7 +3064,7 @@ HttpSM::tunnel_handler_ua(int event, HttpTunnelConsumer *c) STATE_ENTER(&HttpSM::tunnel_handler_ua, event); ink_assert(c->vc == ua_session); - milestones.ua_close = Thread::ink_get_hrtime(); + milestones.ua_close = Thread::get_hrtime(); switch (event) { case VC_EVENT_EOS: @@ -3921,7 +3921,7 @@ HttpSM::do_hostdb_lookup() ink_assert(t_state.dns_info.lookup_name != NULL); ink_assert(pending_action == NULL); - milestones.dns_lookup_begin = Thread::ink_get_hrtime(); + milestones.dns_lookup_begin = Thread::get_hrtime(); bool use_srv_records = t_state.srv_lookup; if (use_srv_records) { @@ -4347,7 +4347,7 @@ HttpSM::do_cache_lookup_and_read() HTTP_INCREMENT_TRANS_STAT(http_cache_lookups_stat); - milestones.cache_open_read_begin = Thread::ink_get_hrtime(); + milestones.cache_open_read_begin = Thread::get_hrtime(); t_state.cache_lookup_result = HttpTransact::CACHE_LOOKUP_NONE; t_state.cache_info.lookup_count++; // YTS Team, yamsat Plugin @@ -4408,7 +4408,7 @@ HttpSM::do_cache_prepare_write() { // statistically no need to retry when we are trying to lock // LOCK_URL_SECOND url because the server's behavior is unlikely to change - milestones.cache_open_write_begin = Thread::ink_get_hrtime(); + milestones.cache_open_write_begin = Thread::get_hrtime(); bool retry = (t_state.api_lock_url == HttpTransact::LOCK_URL_FIRST); do_cache_prepare_action(&cache_sm, t_state.cache_info.object_read, retry); } @@ -4538,7 +4538,7 @@ HttpSM::do_http_server_open(bool raw) DebugSM("http_seq", "[HttpSM::do_http_server_open] Sending request to server"); - milestones.server_connect = Thread::ink_get_hrtime(); + milestones.server_connect = Thread::get_hrtime(); if (milestones.server_first_connect == 0) { milestones.server_first_connect = milestones.server_connect; } @@ -4819,7 +4819,7 @@ HttpSM::do_api_callout_internal() break; case HttpTransact::SM_ACTION_API_SEND_RESPONSE_HDR: cur_hook_id = TS_HTTP_SEND_RESPONSE_HDR_HOOK; - milestones.ua_begin_write = Thread::ink_get_hrtime(); + milestones.ua_begin_write = Thread::get_hrtime(); break; case HttpTransact::SM_ACTION_API_SM_SHUTDOWN: if (callout_state == HTTP_API_IN_CALLOUT || callout_state == HTTP_API_DEFERED_SERVER_ERROR) { @@ -4961,7 +4961,7 @@ HttpSM::mark_server_down_on_client_abort() if (milestones.server_first_connect != 0 && milestones.server_first_read == 0) { // Check to see if client waited for the threshold // to declare the origin server as down - ink_hrtime wait = Thread::ink_get_hrtime() - milestones.server_first_connect; + ink_hrtime wait = Thread::get_hrtime() - milestones.server_first_connect; if (wait < 0) { wait = 0; } @@ -5659,7 +5659,7 @@ HttpSM::setup_server_send_request() DebugSM("http_ss", "Setting server session to private for authorization header"); set_server_session_private(true); } - milestones.server_begin_write = Thread::ink_get_hrtime(); + milestones.server_begin_write = Thread::get_hrtime(); server_entry->write_vio = server_entry->vc->do_io_write(this, hdr_length, buf_start); } @@ -6323,7 +6323,7 @@ HttpSM::setup_blind_tunnel(bool send_response_hdr) IOBufferReader *r_from = from_ua_buf->alloc_reader(); IOBufferReader *r_to = to_ua_buf->alloc_reader(); - milestones.server_begin_write = Thread::ink_get_hrtime(); + milestones.server_begin_write = Thread::get_hrtime(); if (send_response_hdr) { client_response_hdr_bytes = write_response_header_into_buffer(&t_state.hdr_info.client_response, to_ua_buf); } else { @@ -6565,7 +6565,7 @@ HttpSM::kill_this() void HttpSM::update_stats() { - milestones.sm_finish = Thread::ink_get_hrtime(); + milestones.sm_finish = Thread::get_hrtime(); if (t_state.cop_test_page && !t_state.http_config_param->record_cop_page) { DebugSM("http_seq", "Skipping cop heartbeat logging & stats due to config"); @@ -6599,7 +6599,7 @@ HttpSM::update_stats() // ua_close will not be assigned properly in some exceptional situation. // TODO: Assign ua_close with suitable value when HttpTunnel terminates abnormally. if (milestones.ua_close == 0 && milestones.ua_read_header_done > 0) - milestones.ua_close = Thread::ink_get_hrtime(); + milestones.ua_close = Thread::get_hrtime(); // request_process_time = The time after the header is parsed to the completion of the transaction ink_hrtime request_process_time = milestones.ua_close - milestones.ua_read_header_done; diff --git a/proxy/http/HttpTransact.cc b/proxy/http/HttpTransact.cc index 5ac98b8dd70..3a6862efca1 100644 --- a/proxy/http/HttpTransact.cc +++ b/proxy/http/HttpTransact.cc @@ -8229,11 +8229,11 @@ ink_cluster_time(void) #ifdef DEBUG ink_mutex_acquire(&http_time_lock); - ink_time_t local_time = Thread::ink_get_hrtime() / HRTIME_SECOND; + ink_time_t local_time = Thread::get_hrtime() / HRTIME_SECOND; last_http_local_time = local_time; ink_mutex_release(&http_time_lock); #else - ink_time_t local_time = Thread::ink_get_hrtime() / HRTIME_SECOND; + ink_time_t local_time = Thread::get_hrtime() / HRTIME_SECOND; #endif highest_delta = (int)HttpConfig::m_master.cluster_time_delta; diff --git a/proxy/logging/Log.cc b/proxy/logging/Log.cc index 039c56c18e1..2b6a1d9e5df 100644 --- a/proxy/logging/Log.cc +++ b/proxy/logging/Log.cc @@ -1128,11 +1128,11 @@ Log::flush_thread_main(void * /* args ATS_UNUSED */) // Time to work on periodic events?? // - now = Thread::ink_get_hrtime() / HRTIME_SECOND; + now = Thread::get_hrtime() / HRTIME_SECOND; if (now >= last_time + PERIODIC_TASKS_INTERVAL) { Debug("log-preproc", "periodic tasks for %" PRId64, (int64_t)now); periodic_tasks(now); - last_time = Thread::ink_get_hrtime() / HRTIME_SECOND; + last_time = Thread::get_hrtime() / HRTIME_SECOND; } // wait for more work; a spurious wake-up is ok since we'll just diff --git a/proxy/logging/LogObject.cc b/proxy/logging/LogObject.cc index 7c7024b957e..e3e85898b95 100644 --- a/proxy/logging/LogObject.cc +++ b/proxy/logging/LogObject.cc @@ -1411,7 +1411,7 @@ REGRESSION_TEST(LogObjectManager_Transfer)(RegressionTest *t, int /* atype ATS_U rprintf(t, "mgr1 has %d objects, mgr2 has %d objects\n", (int)mgr1.get_num_objects(), (int)mgr2.get_num_objects()); rprintf(t, "running Log::periodoc_tasks()\n"); - Log::periodic_tasks(Thread::ink_get_hrtime() / HRTIME_SECOND); + Log::periodic_tasks(Thread::get_hrtime() / HRTIME_SECOND); rprintf(t, "Log::periodoc_tasks() done\n"); } From 0f33ab73a16e977219dfd5354f4bfa578df1bdef Mon Sep 17 00:00:00 2001 From: Daniel Xu Date: Thu, 11 Jun 2015 16:58:30 +0000 Subject: [PATCH 4/4] Change all related function calls after merge Code was added in some source files that used the 'old' get_hrtime() functions after my initial refactoring. After the merge, some changes needed to be made. --- iocore/eventsystem/I_Lock.h | 8 ++++---- proxy/http/HttpSM.cc | 8 ++++---- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/iocore/eventsystem/I_Lock.h b/iocore/eventsystem/I_Lock.h index ec3d7c25341..acb648c2537 100644 --- a/iocore/eventsystem/I_Lock.h +++ b/iocore/eventsystem/I_Lock.h @@ -302,7 +302,7 @@ Mutex_trylock( #ifdef DEBUG m->srcloc = location; m->handler = ahandler; - m->hold_time = ink_get_hrtime(); + m->hold_time = Thread::get_hrtime(); #ifdef MAX_LOCK_TAKEN m->taken++; #endif // MAX_LOCK_TAKEN @@ -351,7 +351,7 @@ Mutex_trylock_spin( #ifdef DEBUG m->srcloc = location; m->handler = ahandler; - m->hold_time = ink_get_hrtime(); + m->hold_time = Thread::get_hrtime(); #ifdef MAX_LOCK_TAKEN m->taken++; #endif // MAX_LOCK_TAKEN @@ -384,7 +384,7 @@ Mutex_lock( #ifdef DEBUG m->srcloc = location; m->handler = ahandler; - m->hold_time = ink_get_hrtime(); + m->hold_time = Thread::get_hrtime(); #ifdef MAX_LOCK_TAKEN m->taken++; #endif // MAX_LOCK_TAKEN @@ -409,7 +409,7 @@ Mutex_unlock(ProxyMutex *m, EThread *t) m->nthread_holding--; if (!m->nthread_holding) { #ifdef DEBUG - if (ink_get_hrtime() - m->hold_time > MAX_LOCK_TIME) + if (Thread::get_hrtime() - m->hold_time > MAX_LOCK_TIME) lock_holding(m->srcloc, m->handler); #ifdef MAX_LOCK_TAKEN if (m->taken > MAX_LOCK_TAKEN) diff --git a/proxy/http/HttpSM.cc b/proxy/http/HttpSM.cc index 9e4308d137d..14da28d04fa 100644 --- a/proxy/http/HttpSM.cc +++ b/proxy/http/HttpSM.cc @@ -94,7 +94,7 @@ milestone_update_api_time(TransactionMilestones &milestones, ink_hrtime &api_tim bool active = api_timer >= 0; if (!active) api_timer = -api_timer; - delta = ink_get_hrtime() - api_timer; + delta = Thread::get_hrtime() - api_timer; api_timer = 0; // Exactly zero is a problem because we want to signal *something* happened // vs. no API activity at all. This can happen when the API time is less than @@ -1313,7 +1313,7 @@ HttpSM::state_api_callout(int event, void *data) plugin_lock = MUTEX_TAKE_TRY_LOCK(cur_hook->m_cont->mutex, mutex->thread_holding); if (!plugin_lock) { - api_timer = -ink_get_hrtime(); + api_timer = -Thread::get_hrtime(); HTTP_SM_SET_DEFAULT_HANDLER(&HttpSM::state_api_callout); ink_assert(pending_action == NULL); pending_action = mutex->thread_holding->schedule_in(this, HRTIME_MSECONDS(10)); @@ -1329,11 +1329,11 @@ HttpSM::state_api_callout(int event, void *data) APIHook *hook = cur_hook; cur_hook = cur_hook->next(); - api_timer = ink_get_hrtime(); + api_timer = Thread::get_hrtime(); hook->invoke(TS_EVENT_HTTP_READ_REQUEST_HDR + cur_hook_id, this); if (api_timer > 0) { milestone_update_api_time(milestones, api_timer); - api_timer = -ink_get_hrtime(); // set in order to track non-active callout duration + api_timer = -Thread::get_hrtime(); // set in order to track non-active callout duration // which means that if we get back from the invoke with api_timer < 0 we're already // tracking a non-complete callout from a chain so just let it ride. It will get cleaned // up in state_api_callback.