mirror of
https://github.com/ceph/ceph
synced 2025-02-06 02:14:01 +00:00
msg/async/EventKqueue.cc: set logging from Kqueue higher
Signed-off-by: Willem Jan Withagen <wjw@digiware.nl>
This commit is contained in:
parent
dee4f31cab
commit
c4616aaf6f
@ -209,7 +209,7 @@ int EventCenter::create_file_event(int fd, int mask, EventCallbackRef ctxt)
|
||||
int new_size = nevent << 2;
|
||||
while (fd > new_size)
|
||||
new_size <<= 2;
|
||||
ldout(cct, 10) << __func__ << " event count exceed " << nevent << ", expand to " << new_size << dendl;
|
||||
ldout(cct, 20) << __func__ << " event count exceed " << nevent << ", expand to " << new_size << dendl;
|
||||
r = driver->resize_events(new_size);
|
||||
if (r < 0) {
|
||||
lderr(cct) << __func__ << " event count is exceed." << dendl;
|
||||
@ -241,7 +241,7 @@ int EventCenter::create_file_event(int fd, int mask, EventCallbackRef ctxt)
|
||||
if (mask & EVENT_WRITABLE) {
|
||||
event->write_cb = ctxt;
|
||||
}
|
||||
ldout(cct, 10) << __func__ << " create event end fd=" << fd << " mask=" << mask
|
||||
ldout(cct, 20) << __func__ << " create event end fd=" << fd << " mask=" << mask
|
||||
<< " original mask is " << event->mask << dendl;
|
||||
return 0;
|
||||
}
|
||||
@ -255,7 +255,7 @@ void EventCenter::delete_file_event(int fd, int mask)
|
||||
return ;
|
||||
}
|
||||
EventCenter::FileEvent *event = _get_file_event(fd);
|
||||
ldout(cct, 20) << __func__ << " delete event started fd=" << fd << " mask=" << mask
|
||||
ldout(cct, 30) << __func__ << " delete event started fd=" << fd << " mask=" << mask
|
||||
<< " original mask is " << event->mask << dendl;
|
||||
if (!event->mask)
|
||||
return ;
|
||||
@ -274,7 +274,7 @@ void EventCenter::delete_file_event(int fd, int mask)
|
||||
}
|
||||
|
||||
event->mask = event->mask & (~mask);
|
||||
ldout(cct, 10) << __func__ << " delete event end fd=" << fd << " mask=" << mask
|
||||
ldout(cct, 30) << __func__ << " delete event end fd=" << fd << " mask=" << mask
|
||||
<< " original mask is " << event->mask << dendl;
|
||||
}
|
||||
|
||||
@ -283,7 +283,7 @@ uint64_t EventCenter::create_time_event(uint64_t microseconds, EventCallbackRef
|
||||
assert(in_thread());
|
||||
uint64_t id = time_event_next_id++;
|
||||
|
||||
ldout(cct, 10) << __func__ << " id=" << id << " trigger after " << microseconds << "us"<< dendl;
|
||||
ldout(cct, 30) << __func__ << " id=" << id << " trigger after " << microseconds << "us"<< dendl;
|
||||
EventCenter::TimeEvent event;
|
||||
clock_type::time_point expire = clock_type::now() + std::chrono::microseconds(microseconds);
|
||||
event.id = id;
|
||||
@ -298,7 +298,7 @@ uint64_t EventCenter::create_time_event(uint64_t microseconds, EventCallbackRef
|
||||
void EventCenter::delete_time_event(uint64_t id)
|
||||
{
|
||||
assert(in_thread());
|
||||
ldout(cct, 10) << __func__ << " id=" << id << dendl;
|
||||
ldout(cct, 30) << __func__ << " id=" << id << dendl;
|
||||
if (id >= time_event_next_id || id == 0)
|
||||
return ;
|
||||
|
||||
@ -318,7 +318,7 @@ void EventCenter::wakeup()
|
||||
if (!pollers.empty() || !driver->need_wakeup())
|
||||
return ;
|
||||
|
||||
ldout(cct, 2) << __func__ << dendl;
|
||||
ldout(cct, 20) << __func__ << dendl;
|
||||
char buf = 'c';
|
||||
// wake up "event_wait"
|
||||
int n = write(notify_send_fd, &buf, sizeof(buf));
|
||||
@ -334,7 +334,7 @@ int EventCenter::process_time_events()
|
||||
{
|
||||
int processed = 0;
|
||||
clock_type::time_point now = clock_type::now();
|
||||
ldout(cct, 10) << __func__ << " cur time is " << now << dendl;
|
||||
ldout(cct, 30) << __func__ << " cur time is " << now << dendl;
|
||||
|
||||
while (!time_events.empty()) {
|
||||
auto it = time_events.begin();
|
||||
@ -344,7 +344,7 @@ int EventCenter::process_time_events()
|
||||
uint64_t id = e.id;
|
||||
time_events.erase(it);
|
||||
event_map.erase(id);
|
||||
ldout(cct, 10) << __func__ << " process time event: id=" << id << dendl;
|
||||
ldout(cct, 30) << __func__ << " process time event: id=" << id << dendl;
|
||||
processed++;
|
||||
cb->do_request(id);
|
||||
} else {
|
||||
@ -375,7 +375,7 @@ int EventCenter::process_events(int timeout_microseconds)
|
||||
shortest = now + std::chrono::microseconds(timeout_microseconds);
|
||||
|
||||
if (it != time_events.end() && shortest >= it->first) {
|
||||
ldout(cct, 10) << __func__ << " shortest is " << shortest << " it->first is " << it->first << dendl;
|
||||
ldout(cct, 30) << __func__ << " shortest is " << shortest << " it->first is " << it->first << dendl;
|
||||
shortest = it->first;
|
||||
trigger_time = true;
|
||||
if (shortest > now) {
|
||||
@ -390,7 +390,7 @@ int EventCenter::process_events(int timeout_microseconds)
|
||||
tv.tv_usec = timeout_microseconds % 1000000;
|
||||
}
|
||||
|
||||
ldout(cct, 10) << __func__ << " wait second " << tv.tv_sec << " usec " << tv.tv_usec << dendl;
|
||||
ldout(cct, 30) << __func__ << " wait second " << tv.tv_sec << " usec " << tv.tv_usec << dendl;
|
||||
vector<FiredFileEvent> fired_events;
|
||||
numevents = driver->event_wait(fired_events, &tv);
|
||||
for (int j = 0; j < numevents; j++) {
|
||||
@ -415,7 +415,7 @@ int EventCenter::process_events(int timeout_microseconds)
|
||||
}
|
||||
}
|
||||
|
||||
ldout(cct, 20) << __func__ << " event_wq process is " << fired_events[j].fd << " mask is " << fired_events[j].mask << dendl;
|
||||
ldout(cct, 30) << __func__ << " event_wq process is " << fired_events[j].fd << " mask is " << fired_events[j].mask << dendl;
|
||||
}
|
||||
|
||||
if (trigger_time)
|
||||
@ -429,7 +429,7 @@ int EventCenter::process_events(int timeout_microseconds)
|
||||
external_lock.unlock();
|
||||
while (!cur_process.empty()) {
|
||||
EventCallbackRef e = cur_process.front();
|
||||
ldout(cct, 20) << __func__ << " do " << e << dendl;
|
||||
ldout(cct, 30) << __func__ << " do " << e << dendl;
|
||||
e->do_request(0);
|
||||
cur_process.pop_front();
|
||||
numevents++;
|
||||
@ -454,5 +454,5 @@ void EventCenter::dispatch_event_external(EventCallbackRef e)
|
||||
if (!in_thread() && wake)
|
||||
wakeup();
|
||||
|
||||
ldout(cct, 20) << __func__ << " " << e << " pending " << num << dendl;
|
||||
ldout(cct, 30) << __func__ << " " << e << " pending " << num << dendl;
|
||||
}
|
||||
|
@ -38,12 +38,12 @@ int KqueueDriver::restore_events() {
|
||||
struct kevent ke[2];
|
||||
int i;
|
||||
|
||||
ldout(cct,10) << __func__ << " on kqfd = " << kqfd << dendl;
|
||||
ldout(cct,30) << __func__ << " on kqfd = " << kqfd << dendl;
|
||||
for(i=0;i<size;i++) {
|
||||
int num = 0;
|
||||
if (sav_events[i].mask == 0 )
|
||||
continue;
|
||||
ldout(cct,10) << __func__ << " restore kqfd = " << kqfd
|
||||
ldout(cct,30) << __func__ << " restore kqfd = " << kqfd
|
||||
<< " fd = " << i << " mask " << sav_events[i].mask << dendl;
|
||||
if (sav_events[i].mask & EVENT_READABLE)
|
||||
EV_SET(&ke[num++], i, EVFILT_READ, EV_ADD, 0, 0, NULL);
|
||||
@ -66,7 +66,7 @@ int KqueueDriver::test_thread_change(const char* funcname) {
|
||||
int oldkqfd = kqfd;
|
||||
|
||||
if (!pthread_equal(mythread, pthread_self())) {
|
||||
ldout(cct,10) << funcname << " We changed thread from " << mythread
|
||||
ldout(cct,20) << funcname << " We changed thread from " << mythread
|
||||
<< " to " << pthread_self() << dendl;
|
||||
mythread = pthread_self();
|
||||
kqfd = -1;
|
||||
@ -80,7 +80,7 @@ int KqueueDriver::test_thread_change(const char* funcname) {
|
||||
}
|
||||
if (kqfd == -1) {
|
||||
kqfd = kqueue();
|
||||
ldout(cct,10) << funcname << " kqueue: new kqfd = " << kqfd
|
||||
ldout(cct,30) << funcname << " kqueue: new kqfd = " << kqfd
|
||||
<< " (was: " << oldkqfd << ")"
|
||||
<< dendl;
|
||||
if (kqfd < 0) {
|
||||
@ -135,7 +135,7 @@ int KqueueDriver::add_event(int fd, int cur_mask, int add_mask)
|
||||
struct kevent ke[2];
|
||||
int num = 0;
|
||||
|
||||
ldout(cct,20) << __func__ << " add event kqfd = " << kqfd << " fd = " << fd
|
||||
ldout(cct,30) << __func__ << " add event kqfd = " << kqfd << " fd = " << fd
|
||||
<< " cur_mask = " << cur_mask << " add_mask = " << add_mask
|
||||
<< dendl;
|
||||
|
||||
@ -168,7 +168,7 @@ int KqueueDriver::del_event(int fd, int cur_mask, int del_mask)
|
||||
int num = 0;
|
||||
int mask = cur_mask & del_mask;
|
||||
|
||||
ldout(cct,20) << __func__ << " delete event kqfd = " << kqfd
|
||||
ldout(cct,30) << __func__ << " delete event kqfd = " << kqfd
|
||||
<< " fd = " << fd << " cur_mask = " << cur_mask
|
||||
<< " del_mask = " << del_mask << dendl;
|
||||
|
||||
@ -196,7 +196,7 @@ int KqueueDriver::del_event(int fd, int cur_mask, int del_mask)
|
||||
|
||||
int KqueueDriver::resize_events(int newsize)
|
||||
{
|
||||
ldout(cct,10) << __func__ << " kqfd = " << kqfd << "newsize = " << newsize
|
||||
ldout(cct,30) << __func__ << " kqfd = " << kqfd << "newsize = " << newsize
|
||||
<< dendl;
|
||||
if(newsize > sav_max) {
|
||||
sav_events = (struct SaveEvent*)realloc( sav_events,
|
||||
@ -232,7 +232,7 @@ int KqueueDriver::event_wait(vector<FiredFileEvent> &fired_events, struct timeva
|
||||
<< dendl;
|
||||
retval = kevent(kqfd, NULL, 0, res_events, size, &timeout);
|
||||
} else {
|
||||
ldout(cct,20) << __func__ << " event_wait: " << " NULL" << dendl;
|
||||
ldout(cct,30) << __func__ << " event_wait: " << " NULL" << dendl;
|
||||
retval = kevent(kqfd, NULL, 0, res_events, size, KEVENT_NOWAIT);
|
||||
}
|
||||
|
||||
|
@ -140,7 +140,7 @@ void NetworkStack::start()
|
||||
|
||||
Worker* NetworkStack::get_worker()
|
||||
{
|
||||
ldout(cct, 10) << __func__ << dendl;
|
||||
ldout(cct, 30) << __func__ << dendl;
|
||||
|
||||
// start with some reasonably large number
|
||||
unsigned min_load = std::numeric_limits<int>::max();
|
||||
@ -198,7 +198,7 @@ class C_drain : public EventCallback {
|
||||
|
||||
void NetworkStack::drain()
|
||||
{
|
||||
ldout(cct, 10) << __func__ << " started." << dendl;
|
||||
ldout(cct, 30) << __func__ << " started." << dendl;
|
||||
pthread_t cur = pthread_self();
|
||||
pool_spin.lock();
|
||||
C_drain drain(num_workers);
|
||||
@ -208,5 +208,5 @@ void NetworkStack::drain()
|
||||
}
|
||||
pool_spin.unlock();
|
||||
drain.wait();
|
||||
ldout(cct, 10) << __func__ << " end." << dendl;
|
||||
ldout(cct, 30) << __func__ << " end." << dendl;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user