]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
Merge commit 'c00eaf7446cbe456aa93bf8b05cf0a224dedca49' into wip-bring-in-dmclock 19345/head
authorJ. Eric Ivancich <ivancich@redhat.com>
Tue, 5 Dec 2017 15:28:49 +0000 (10:28 -0500)
committerJ. Eric Ivancich <ivancich@redhat.com>
Tue, 5 Dec 2017 15:28:49 +0000 (10:28 -0500)
Signed-off-by: J. Eric Ivancich <ivancich@redhat.com>
1  2 
src/dmclock/src/dmclock_recs.h

index f7a5aaadb1007802c6579741aafabdd37e1b596f,0000000000000000000000000000000000000000..50b129f67fc8c08313e042f5aaafa8fd6e4213fc
mode 100644,000000..100644
--- /dev/null
@@@ -1,61 -1,0 +1,61 @@@
-     enum class PhaseType { reservation, priority };
 +// -*- 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 <ostream>
 +#include <assert.h>
 +
 +
 +namespace crimson {
 +  namespace dmclock {
 +    using Counter = uint64_t;
 +
++    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
 +  }
 +}