#ifndef CEPH_DEBUG_H
#define CEPH_DEBUG_H
+#include "common/likely.h"
#include "include/assert.h"
#include "Mutex.h"
#include "Clock.h"
-#include <ostream>
+#include <iosfwd>
using std::ostream;
// the streams
static inline void _dout_check_log() {
_dout_lock.Lock();
- if (_dout_need_open)
+ if (unlikely(_dout_need_open))
_dout_open_log();
_dout_lock.Unlock();
}
static inline void _dout_begin_line() {
_dout_lock.Lock();
- if (_dout_need_open)
+ if (unlikely(_dout_need_open))
_dout_open_log();
*_dout << g_clock.now() << " " << std::hex << pthread_self() << std::dec << " ";
}
--- /dev/null
+// -*- mode:C++; tab-width:8; c-basic-offset:2; indent-tabs-mode:t -*-
+// vim: ts=8 sw=2 smarttab
+/*
+ * Ceph - scalable distributed file system
+ *
+ * Copyright (C) 2010 Dreamhost
+ *
+ * This is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License version 2.1, as published by the Free Software
+ * Foundation. See file COPYING.
+ *
+ */
+
+#ifndef CEPH_LIKELY_DOT_H
+#define CEPH_LIKELY_DOT_H
+
+/*
+ * Likely / Unlikely macros
+ */
+#define likely(x) __builtin_expect((x),1)
+#define unlikely(x) __builtin_expect((x),0)
+
+#endif