Changeset f760d4895a5e1b4ab500749f7274fc84c215cfa7
- Timestamp:
- 11/17/11 22:52:04
(2 years ago)
- Author:
- Theo Schlossnagle <jesus@omniti.com>
- git-committer:
- Theo Schlossnagle <jesus@omniti.com> 1321570324 -0500
- git-parent:
[69739f12f01572a70dba9670fdeb6952668ea0f5]
- git-author:
- Theo Schlossnagle <jesus@omniti.com> 1321570324 -0500
- Message:
dtrace probes in the eventer
-
Files:
-
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
| r69739f1 |
rf760d48 |
|
| 14 | 14 | src/*.dSYM |
|---|
| 15 | 15 | src/dtrace_probes.h |
|---|
| | 16 | src/eventer/dtrace_probes.h |
|---|
| 16 | 17 | src/lua/src/lua |
|---|
| 17 | 18 | src/modules/*.dSYM |
|---|
| r06601a4 |
rf760d48 |
|
| 19 | 19 | all: libeventer.a |
|---|
| 20 | 20 | |
|---|
| 21 | | libeventer.a: $(OBJS) |
|---|
| | 21 | @DTRACEOBJ@: $(OBJS) |
|---|
| | 22 | @-test -n "@DTRACE@" && \ |
|---|
| | 23 | @DTRACE@ @DTRACEFLAGS@ -G -s dtrace_probes.d -o @DTRACEOBJ@ $(OBJS) |
|---|
| | 24 | |
|---|
| | 25 | noit_log.o: @DTRACEHDR@ |
|---|
| | 26 | |
|---|
| | 27 | @DTRACEHDR@: dtrace_probes.d |
|---|
| | 28 | @-test -z "@DTRACE@" && cp ./@DTRACEHDR@.stock ./@DTRACEHDR@ |
|---|
| | 29 | @-test -n "@DTRACE@" && @DTRACE@ -h -s dtrace_probes.d |
|---|
| | 30 | |
|---|
| | 31 | libeventer.a: $(OBJS) @DTRACEOBJ@ |
|---|
| 22 | 32 | @rm -f $@ |
|---|
| 23 | | @$(AR) cq $@ $(OBJS) |
|---|
| | 33 | @$(AR) cq $@ $(OBJS) @DTRACEOBJ@ |
|---|
| 24 | 34 | @echo "- archiving $@" |
|---|
| 25 | 35 | @$(RANLIB) $@ |
|---|
| | 36 | |
|---|
| | 37 | $(OBJS): @DTRACEHDR@ |
|---|
| 26 | 38 | |
|---|
| 27 | 39 | .c.o: |
|---|
| rcd97caa |
rf760d48 |
|
| 36 | 36 | #include "utils/noit_skiplist.h" |
|---|
| 37 | 37 | #include "utils/noit_log.h" |
|---|
| | 38 | #include "eventer/dtrace_probes.h" |
|---|
| 38 | 39 | |
|---|
| 39 | 40 | #include <errno.h> |
|---|
| … | … | |
| 199 | 200 | noitLT(eventer_deb, &__now, "epoll: fire on %d/%x to %s(%p)\n", |
|---|
| 200 | 201 | fd, mask, cbname?cbname:"???", e->callback); |
|---|
| | 202 | EVENTER_CALLBACK_ENTRY(e->callback, cbname, fd, e->mask, mask); |
|---|
| 201 | 203 | newmask = e->callback(e, mask, e->closure, &__now); |
|---|
| | 204 | EVENTER_CALLBACK_RETURN(e->callback, cbname, newmask); |
|---|
| 202 | 205 | |
|---|
| 203 | 206 | if(newmask) { |
|---|
| ra335d72 |
rf760d48 |
|
| 35 | 35 | #include "utils/noit_log.h" |
|---|
| 36 | 36 | #include "utils/noit_skiplist.h" |
|---|
| | 37 | #include "eventer/dtrace_probes.h" |
|---|
| 37 | 38 | #include <pthread.h> |
|---|
| 38 | 39 | #include <errno.h> |
|---|
| … | … | |
| 248 | 249 | while(max_timed_events_to_process-- > 0) { |
|---|
| 249 | 250 | int newmask; |
|---|
| | 251 | const char *cbname = NULL; |
|---|
| 250 | 252 | eventer_t timed_event; |
|---|
| 251 | 253 | |
|---|
| … | … | |
| 267 | 269 | pthread_mutex_unlock(&te_lock); |
|---|
| 268 | 270 | if(timed_event == NULL) break; |
|---|
| 269 | | if(EVENTER_DEBUGGING) { |
|---|
| 270 | | const char *cbname; |
|---|
| | 271 | if(EVENTER_DEBUGGING || |
|---|
| | 272 | EVENTER_CALLBACK_ENTRY_ENABLED() || |
|---|
| | 273 | EVENTER_CALLBACK_RETURN_ENABLED()) { |
|---|
| 271 | 274 | cbname = eventer_name_for_callback(timed_event->callback); |
|---|
| 272 | 275 | noitLT(eventer_deb, now, "debug: timed dispatch(%s)\n", |
|---|
| … | … | |
| 274 | 277 | } |
|---|
| 275 | 278 | /* Make our call */ |
|---|
| | 279 | EVENTER_CALLBACK_ENTRY(timed_event->callback, cbname, -1, |
|---|
| | 280 | timed_event->mask, EVENTER_TIMER); |
|---|
| 276 | 281 | newmask = timed_event->callback(timed_event, EVENTER_TIMER, |
|---|
| 277 | 282 | timed_event->closure, now); |
|---|
| | 283 | EVENTER_CALLBACK_RETURN(timed_event->callback, cbname, newmask); |
|---|
| 278 | 284 | if(newmask) |
|---|
| 279 | 285 | eventer_add_timed(timed_event); |
|---|
| r1593acf |
rf760d48 |
|
| 35 | 35 | #include "utils/noit_atomic.h" |
|---|
| 36 | 36 | #include "eventer/eventer.h" |
|---|
| | 37 | #include "eventer/dtrace_probes.h" |
|---|
| 37 | 38 | #include <errno.h> |
|---|
| 38 | 39 | #include <setjmp.h> |
|---|
| … | … | |
| 263 | 264 | * one's soul out. |
|---|
| 264 | 265 | */ |
|---|
| 265 | | if(my_precious) |
|---|
| | 266 | if(my_precious) { |
|---|
| | 267 | EVENTER_CALLBACK_ENTRY(my_precious->callback, NULL, |
|---|
| | 268 | my_precious->fd, my_precious->mask, |
|---|
| | 269 | EVENTER_ASYNCH_CLEANUP); |
|---|
| 266 | 270 | my_precious->callback(my_precious, EVENTER_ASYNCH_CLEANUP, |
|---|
| 267 | 271 | my_precious->closure, &job->finish_time); |
|---|
| | 272 | EVENTER_CALLBACK_RETURN(my_precious->callback, NULL, -1); |
|---|
| | 273 | } |
|---|
| 268 | 274 | } |
|---|
| 269 | 275 | jobcopy = malloc(sizeof(*jobcopy)); |
|---|
| … | … | |
| 290 | 296 | while((job = eventer_jobq_dequeue_nowait(jobq)) != NULL) { |
|---|
| 291 | 297 | int newmask; |
|---|
| | 298 | EVENTER_CALLBACK_ENTRY(job->fd_event->callback, NULL, |
|---|
| | 299 | job->fd_event->fd, job->fd_event->mask, |
|---|
| | 300 | job->fd_event->mask); |
|---|
| 292 | 301 | newmask = job->fd_event->callback(job->fd_event, job->fd_event->mask, |
|---|
| 293 | 302 | job->fd_event->closure, now); |
|---|
| | 303 | EVENTER_CALLBACK_RETURN(job->fd_event->callback, NULL, newmask); |
|---|
| 294 | 304 | if(!newmask) eventer_free(job->fd_event); |
|---|
| 295 | 305 | else { |
|---|
| … | … | |
| 362 | 372 | (float)diff2.tv_sec + (float)diff2.tv_usec/1000000.0); |
|---|
| 363 | 373 | pthread_mutex_unlock(&job->lock); |
|---|
| | 374 | EVENTER_CALLBACK_ENTRY(job->fd_event->callback, NULL, |
|---|
| | 375 | job->fd_event->fd, job->fd_event->mask, |
|---|
| | 376 | EVENTER_ASYNCH_CLEANUP); |
|---|
| 364 | 377 | job->fd_event->callback(job->fd_event, EVENTER_ASYNCH_CLEANUP, |
|---|
| 365 | 378 | job->fd_event->closure, &job->finish_time); |
|---|
| | 379 | EVENTER_CALLBACK_RETURN(job->fd_event->callback, NULL, -1); |
|---|
| 366 | 380 | eventer_jobq_enqueue(jobq->backq, job); |
|---|
| 367 | 381 | continue; |
|---|
| rcd97caa |
rf760d48 |
|
| 36 | 36 | #include "utils/noit_skiplist.h" |
|---|
| 37 | 37 | #include "utils/noit_log.h" |
|---|
| | 38 | #include "eventer/dtrace_probes.h" |
|---|
| 38 | 39 | |
|---|
| 39 | 40 | #include <errno.h> |
|---|
| … | … | |
| 266 | 267 | noitLT(eventer_deb, &__now, "kqueue: fire on %d/%x to %s(%p)\n", |
|---|
| 267 | 268 | fd, masks[fd], cbname?cbname:"???", e->callback); |
|---|
| | 269 | EVENTER_CALLBACK_ENTRY(e->callback, cbname, fd, e->mask, mask); |
|---|
| 268 | 270 | newmask = e->callback(e, mask, e->closure, &__now); |
|---|
| | 271 | EVENTER_CALLBACK_RETURN(e->callback, cbname, newmask); |
|---|
| 269 | 272 | |
|---|
| 270 | 273 | if(newmask) { |
|---|
| r672bbf3 |
rf760d48 |
|
| 36 | 36 | #include "utils/noit_skiplist.h" |
|---|
| 37 | 37 | #include "utils/noit_log.h" |
|---|
| | 38 | #include "eventer/dtrace_probes.h" |
|---|
| 38 | 39 | |
|---|
| 39 | 40 | #include <errno.h> |
|---|
| … | … | |
| 204 | 205 | noitLT(eventer_deb, &__now, "ports: fire on %d/%x to %s(%p)\n", |
|---|
| 205 | 206 | fd, mask, cbname?cbname:"???", e->callback); |
|---|
| | 207 | EVENTER_CALLBACK_ENTRY(e->callback, cbname, fd, e->mask, mask); |
|---|
| 206 | 208 | newmask = e->callback(e, mask, e->closure, &__now); |
|---|
| | 209 | EVENTER_CALLBACK_RETURN(e->callback, cbname, newmask); |
|---|
| 207 | 210 | |
|---|
| 208 | 211 | if(newmask) { |
|---|