event_loop.c 2.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. // SPDX-License-Identifier: GPL-3.0-or-later
  2. #include <daemon/main.h>
  3. #include "event_loop.h"
  4. // Register workers
  5. void register_libuv_worker_jobs() {
  6. static __thread bool registered = false;
  7. if(likely(registered))
  8. return;
  9. registered = true;
  10. worker_register("LIBUV");
  11. worker_register_job_name(UV_EVENT_READ_PAGE_CB, "read page cb");
  12. worker_register_job_name(UV_EVENT_READ_EXTENT_CB, "read extent cb");
  13. worker_register_job_name(UV_EVENT_COMMIT_PAGE_CB, "commit cb");
  14. worker_register_job_name(UV_EVENT_FLUSH_PAGES_CB, "flush cb");
  15. worker_register_job_name(UV_EVENT_PAGE_LOOKUP, "page lookup");
  16. worker_register_job_name(UV_EVENT_PAGE_POPULATION, "populate page");
  17. worker_register_job_name(UV_EVENT_EXT_DECOMPRESSION, "extent decompression");
  18. worker_register_job_name(UV_EVENT_READ_MMAP_EXTENT, "read extent (mmap)");
  19. worker_register_job_name(UV_EVENT_EXTENT_PROCESSING, "extent processing");
  20. worker_register_job_name(UV_EVENT_METADATA_STORE, "store host metadata");
  21. worker_register_job_name(UV_EVENT_JOURNAL_INDEX_WAIT, "journal v2 wait");
  22. worker_register_job_name(UV_EVENT_JOURNAL_INDEX, "journal v2 indexing");
  23. worker_register_job_name(UV_EVENT_SCHEDULE_CMD, "schedule command");
  24. worker_register_job_name(UV_EVENT_METADATA_CLEANUP, "metadata cleanup");
  25. worker_register_job_name(UV_EVENT_EXTENT_CACHE, "extent cache");
  26. worker_register_job_name(UV_EVENT_EXTENT_MMAP, "extent mmap");
  27. worker_register_job_name(UV_EVENT_PAGE_DISPATCH, "dispatch page list");
  28. worker_register_job_name(UV_EVENT_FLUSH_CALLBACK, "flush callback");
  29. worker_register_job_name(UV_EVENT_FLUSH_MAIN, "flush main");
  30. worker_register_job_name(UV_EVENT_FLUSH_OPEN, "flush open");
  31. worker_register_job_name(UV_EVENT_EVICT_MAIN, "evict main");
  32. worker_register_job_name(UV_EVENT_DELETING_FILE, "delete datafiles");
  33. worker_register_job_name(UV_EVENT_ANALYZE_V2, "analyze journalfile");
  34. worker_register_job_name(UV_EVENT_RETENTION_V2, "calculate retention");
  35. worker_register_job_name(UV_EVENT_RETENTION_UPDATE, "update retention");
  36. worker_register_job_name(UV_EVENT_DATAFILE_ACQUIRE, "datafile acquire");
  37. worker_register_job_name(UV_EVENT_DATAFILE_DELETE, "datafile deletion");
  38. worker_register_job_name(UV_EVENT_FLUSHED_TO_OPEN, "flushed to open");
  39. worker_register_job_name(UV_EVENT_PREP_QUERY, "prep query");
  40. worker_register_job_name(UV_EVENT_WORKER_INIT, "worker init");
  41. uv_thread_set_name_np(pthread_self(), "LIBUV_WORKER");
  42. }