From: J. Eric Ivancich Date: Tue, 5 Dec 2017 15:28:49 +0000 (-0500) Subject: Merge commit 'c00eaf7446cbe456aa93bf8b05cf0a224dedca49' into wip-bring-in-dmclock X-Git-Tag: v13.0.2~837^2 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=db758056284892c1d941bae3561f13a4933590dc;p=ceph.git Merge commit 'c00eaf7446cbe456aa93bf8b05cf0a224dedca49' into wip-bring-in-dmclock Signed-off-by: J. Eric Ivancich --- db758056284892c1d941bae3561f13a4933590dc diff --cc src/dmclock/src/dmclock_recs.h index f7a5aaadb100,000000000000..50b129f67fc8 mode 100644,000000..100644 --- a/src/dmclock/src/dmclock_recs.h +++ b/src/dmclock/src/dmclock_recs.h @@@ -1,61 -1,0 +1,61 @@@ +// -*- mode:C++; tab-width:8; c-basic-offset:2; indent-tabs-mode:t -*- +// vim: ts=8 sw=2 smarttab + +/* + * Copyright (C) 2017 Red Hat Inc. + */ + + +#pragma once + + +#include +#include + + +namespace crimson { + namespace dmclock { + using Counter = uint64_t; + - enum class PhaseType { reservation, priority }; ++ enum class PhaseType : uint8_t { reservation, priority }; + + inline std::ostream& operator<<(std::ostream& out, const PhaseType& phase) { + out << (PhaseType::reservation == phase ? "reservation" : "priority"); + return out; + } + + struct ReqParams { + // count of all replies since last request; MUSTN'T BE 0 + uint32_t delta; + + // count of reservation replies since last request; MUSTN'T BE 0 + uint32_t rho; + + ReqParams(uint32_t _delta, uint32_t _rho) : + delta(_delta), + rho(_rho) + { + assert(0 != delta && 0 != rho && rho <= delta); + } + + ReqParams() : + ReqParams(1, 1) + { + // empty + } + + ReqParams(const ReqParams& other) : + delta(other.delta), + rho(other.rho) + { + // empty + } + + friend std::ostream& operator<<(std::ostream& out, const ReqParams& rp) { + out << "ReqParams{ delta:" << rp.delta << + ", rho:" << rp.rho << " }"; + return out; + } + }; // class ReqParams + } +}