Skip to content

Commit

Permalink
shm: Add size to UnmanagedRegion debug output
Browse files Browse the repository at this point in the history
  • Loading branch information
rbx committed Feb 2, 2022
1 parent ad894c7 commit 4f9aeda
Show file tree
Hide file tree
Showing 3 changed files with 8 additions and 4 deletions.
5 changes: 4 additions & 1 deletion fairmq/shmem/Common.h
Original file line number Diff line number Diff line change
Expand Up @@ -58,19 +58,22 @@ struct RegionInfo
: fPath("", alloc)
, fCreationFlags(0)
, fUserFlags(0)
, fSize(0)
, fDestroyed(false)
{}

RegionInfo(const char* path, const int flags, const uint64_t userFlags, const VoidAlloc& alloc)
RegionInfo(const char* path, int flags, uint64_t userFlags, uint64_t size, const VoidAlloc& alloc)
: fPath(path, alloc)
, fCreationFlags(flags)
, fUserFlags(userFlags)
, fSize(size)
, fDestroyed(false)
{}

Str fPath;
int fCreationFlags;
uint64_t fUserFlags;
uint64_t fSize;
bool fDestroyed;
};

Expand Down
1 change: 1 addition & 0 deletions fairmq/shmem/Monitor.cxx
Original file line number Diff line number Diff line change
Expand Up @@ -267,6 +267,7 @@ bool Monitor::PrintShm(const ShmId& shmId)
ss << "\n unmanaged regions:";
for (const auto& r : *shmRegions) {
ss << "\n [" << r.first << "]: " << (r.second.fDestroyed ? "destroyed" : "alive");
ss << ", size: " << r.second.fSize;

try {
boost::interprocess::message_queue q(open_only, std::string("fmq_" + std::string(shmId) + "_rgq_" + to_string(r.first)).c_str());
Expand Down
6 changes: 3 additions & 3 deletions fairmq/shmem/UnmanagedRegion.h
Original file line number Diff line number Diff line change
Expand Up @@ -119,7 +119,7 @@ struct UnmanagedRegion
}

if (!remote) {
Register(shmId, cfg);
Register(shmId, cfg, size);
}

LOG(trace) << "shmem: initialized region: " << fName << " (" << (remote ? "remote" : "local") << ")";
Expand Down Expand Up @@ -223,7 +223,7 @@ struct UnmanagedRegion
return regionCfg;
}

static void Register(const std::string& shmId, RegionConfig& cfg)
static void Register(const std::string& shmId, RegionConfig& cfg, uint64_t size)
{
using namespace boost::interprocess;
managed_shared_memory mngSegment(open_or_create, std::string("fmq_" + shmId + "_mng").c_str(), 6553600);
Expand All @@ -236,7 +236,7 @@ struct UnmanagedRegion
eventCounter = mngSegment.construct<EventCounter>(unique_instance)(0);
}

bool newShmRegionCreated = shmRegions->emplace(cfg.id.value(), RegionInfo(cfg.path.c_str(), cfg.creationFlags, cfg.userFlags, alloc)).second;
bool newShmRegionCreated = shmRegions->emplace(cfg.id.value(), RegionInfo(cfg.path.c_str(), cfg.creationFlags, cfg.userFlags, size, alloc)).second;
if (newShmRegionCreated) {
(eventCounter->fCount)++;
}
Expand Down

0 comments on commit 4f9aeda

Please sign in to comment.