0
0
Fork 0
mirror of https://github.com/matrix-construct/construct synced 2024-12-26 07:23:53 +01:00

ircd: Rename perf:: to prof::.

This commit is contained in:
Jason Volk 2019-04-02 11:09:37 -07:00
parent 96ce15b4d9
commit 63c850b123
8 changed files with 35 additions and 27 deletions

View file

@ -32,6 +32,7 @@ namespace ircd::ctx::prof
enum class event :uint8_t;
struct ticker;
uint64_t cycles();
string_view reflect(const event &);
// totals
@ -95,3 +96,10 @@ struct ircd::ctx::prof::ticker
// monotonic counters for events
std::array<uint64_t, num_of<prof::event>()> event {{0}};
};
inline uint64_t
__attribute__((flatten, always_inline, gnu_inline, artificial))
ircd::ctx::prof::cycles()
{
return ircd::prof::cycles();
}

View file

@ -47,7 +47,7 @@
#include "magics.h"
#include "conf.h"
#include "stats.h"
#include "perf.h"
#include "prof.h"
#include "fs/fs.h"
#include "ios.h"
#include "ctx/ctx.h"

View file

@ -9,9 +9,9 @@
// full license for this software is available in the LICENSE file.
#pragma once
#define HAVE_IRCD_PERF_H
#define HAVE_IRCD_PROF_H
namespace ircd::perf
namespace ircd::prof
{
struct init;
@ -26,10 +26,10 @@ namespace ircd::perf
namespace ircd
{
using perf::cycles;
using prof::cycles;
}
struct ircd::perf::init
struct ircd::prof::init
{
init();
~init() noexcept;
@ -37,21 +37,21 @@ struct ircd::perf::init
inline uint64_t
__attribute__((flatten, always_inline, gnu_inline, artificial))
ircd::perf::cycles()
ircd::prof::cycles()
{
return perf::rdtsc();
return prof::rdtsc();
}
#if defined(__x86_64__) || defined(__i386__)
inline unsigned long long
__attribute__((always_inline, gnu_inline, artificial))
ircd::perf::rdtsc()
ircd::prof::rdtsc()
{
return __builtin_ia32_rdtsc();
}
#else
inline unsigned long long
ircd::perf::rdtsc()
ircd::prof::rdtsc()
{
static_assert(false, "TODO: Implement fallback here");
return 0;
@ -61,14 +61,14 @@ ircd::perf::rdtsc()
#if defined(__x86_64__) || defined(__i386__)
inline unsigned long long
__attribute__((always_inline, gnu_inline, artificial))
ircd::perf::rdtscp()
ircd::prof::rdtscp()
{
uint32_t ia32_tsc_aux;
return __builtin_ia32_rdtscp(&ia32_tsc_aux);
}
#else
inline unsigned long long
ircd::perf::rdtscp()
ircd::prof::rdtscp()
{
static_assert(false, "TODO: Implement fallback here");
return 0;
@ -78,13 +78,13 @@ ircd::perf::rdtscp()
#if defined(__x86_64__) || defined(__i386__)
inline unsigned long long
__attribute__((always_inline, gnu_inline, artificial))
ircd::perf::rdpmc(const uint &c)
ircd::prof::rdpmc(const uint &c)
{
return __builtin_ia32_rdpmc(c);
}
#else
inline unsigned long long
ircd::perf::rdpmc(const uint &c)
ircd::prof::rdpmc(const uint &c)
{
static_assert(false, "TODO: Implement fallback here");
return 0;

View file

@ -116,7 +116,7 @@ libircd_la_SOURCES = \
logger.cc \
magic.cc \
stats.cc \
perf.cc \
prof.cc \
fs.cc \
sodium.cc \
openssl.cc \

View file

@ -872,7 +872,7 @@ ircd::ctx::this_ctx::slice_usage_warning::slice_usage_warning(const string_view
// Set the start value to the total number of cycles accrued by this
// context including the current time slice.
!current?
perf::cycles():
prof::cycles():
~cur().flags & context::SLICE_EXEMPT?
cur().profile.cycles + prof::cur_slice_cycles():
0
@ -898,7 +898,7 @@ noexcept
{
current?
cur().profile.cycles + prof::cur_slice_cycles():
perf::cycles()
prof::cycles()
};
assert(stop >= start);
@ -1663,13 +1663,13 @@ ircd::ctx::prof::handle_cur_continue()
void
ircd::ctx::prof::slice_enter()
{
_slice_start = perf::cycles();
_slice_start = cycles();
}
void
ircd::ctx::prof::slice_leave()
{
_slice_stop = perf::cycles();
_slice_stop = cycles();
auto &c(cur());
assert(_slice_stop >= _slice_start);
@ -1811,7 +1811,7 @@ ircd::ctx::prof::slice_exceeded_warning(const ulong &cycles)
ulong
ircd::ctx::prof::cur_slice_cycles()
{
return perf::cycles() - cur_slice_start();
return cycles() - cur_slice_start();
}
const ulong &

View file

@ -208,7 +208,7 @@ ircd::ios::handler::fault(handler *const &handler)
// needs to be tied off here instead.
if(!ret)
{
stats.slice_last = perf::cycles() - handler->slice_start;
stats.slice_last = cycles() - handler->slice_start;
stats.slice_total += stats.slice_last;
assert(handler::current == handler);
@ -226,7 +226,7 @@ ircd::ios::handler::leave(handler *const &handler)
assert(descriptor.stats);
auto &stats(*descriptor.stats);
stats.slice_last = perf::cycles() - handler->slice_start;
stats.slice_last = cycles() - handler->slice_start;
stats.slice_total += stats.slice_last;
assert(handler::current == handler);
@ -245,7 +245,7 @@ ircd::ios::handler::enter(handler *const &handler)
assert(!handler::current);
handler::current = handler;
handler->slice_start = perf::cycles();
handler->slice_start = cycles();
}
bool

View file

@ -202,7 +202,7 @@ noexcept try
// more appropriate.
fs::init _fs_; // Local filesystem
perf::init _perf_; // Profiling related
prof::init _prof_; // Profiling related
magic::init _magic_; // libmagic
ctx::ole::init _ole_; // Thread OffLoad Engine
nacl::init _nacl_; // nacl crypto

View file

@ -17,24 +17,24 @@
//
#ifdef HAVE_LINUX_PERF_EVENT_H
ircd::perf::init::init()
ircd::prof::init::init()
{
}
#else
ircd::perf::init::init()
ircd::prof::init::init()
{
}
#endif
#ifdef HAVE_LINUX_PERF_EVENT_H
ircd::perf::init::~init()
ircd::prof::init::~init()
noexcept
{
}
#else
ircd::perf::init::~init()
ircd::prof::init::~init()
noexcept
{
}