Skip to content

Commit

Permalink
Minor code brush up
Browse files Browse the repository at this point in the history
  • Loading branch information
KIwabuchi committed Dec 11, 2023
1 parent 427b255 commit e20d240
Show file tree
Hide file tree
Showing 3 changed files with 21 additions and 27 deletions.
39 changes: 16 additions & 23 deletions include/metall/ext/privateer.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -26,11 +26,8 @@
#include <metall/detail/file.hpp>
#include <metall/detail/mmap.hpp>
#include <metall/detail/utilities.hpp>
#include <metall/detail/time.hpp>
#include <metall/defs.hpp>
#include <metall/basic_manager.hpp>
#include <metall/logger.hpp>
#include <metall/version.hpp>
#include <metall/kernel/segment_header.hpp>

namespace metall {
Expand Down Expand Up @@ -269,7 +266,8 @@ class privateer_segment_storage {
void sync(const bool sync) { priv_sync_segment(sync); }

void free_region(const std::ptrdiff_t, const std::size_t) {
// MEMO: Privateer does not free file region
// Do nothing
// Privateer does not free file region
}

void *get_segment() const { return m_segment; }
Expand All @@ -291,14 +289,11 @@ class privateer_segment_storage {
bool is_open() const { return !!m_privateer; }

bool check_sanity() const {
// FIXME: implement
// TODO: implement
return true;
}

private:
static std::string priv_make_file_name(const std::string &base_path) {
return base_path + "_privateer_datastore";
}

std::size_t priv_aligment() const {
// FIXME
Expand All @@ -319,8 +314,12 @@ class privateer_segment_storage {
}

bool priv_inited() const {
return (m_system_page_size > 0 && m_vm_region_size > 0 &&
m_current_segment_size > 0 && m_segment && !m_base_path.empty());
if (m_privateer) {
assert (m_system_page_size > 0 && m_vm_region_size > 0 &&
m_current_segment_size > 0 && m_segment && !m_base_path.empty());
return true;
}
return false;
}

bool priv_create_and_map_file(const std::string &file_name,
Expand Down Expand Up @@ -355,8 +354,6 @@ class privateer_segment_storage {
assert(!path.empty());
assert(addr);

// MEMO: one of the following options does not work on /tmp?

void *data =
read_only
? m_privateer->open_read_only(addr, m_privateer_version_name.c_str())
Expand Down Expand Up @@ -385,13 +382,14 @@ class privateer_segment_storage {

void priv_release() {
if (!priv_inited()) return;
// priv_unmap_file();
if (m_privateer != nullptr) {
delete m_privateer;
m_privateer = nullptr;
}
mdtl::map_with_prot_none(m_segment, m_vm_region_size);

delete m_privateer;
m_privateer = nullptr;

// Just erase segment header
mdtl::map_with_prot_none(m_vm_region, m_vm_region_size);
mdtl::munmap(m_vm_region, m_vm_region_size, false);

priv_reset();
}

Expand Down Expand Up @@ -424,11 +422,6 @@ class privateer_segment_storage {
m_privateer->msync();
}

bool priv_free_region(const std::ptrdiff_t, const std::size_t) {
// MEMO: Privateer cannot free file region
return true;
}

bool priv_load_system_page_size() {
m_system_page_size = mdtl::get_page_size();
if (m_system_page_size == -1) {
Expand Down
3 changes: 2 additions & 1 deletion include/metall/kernel/segment_header.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -9,8 +9,9 @@
namespace metall::kernel {

struct segment_header {
void *manager_kernel_address;
void *manager_kernel_address{nullptr};

manager_kernel_address = default;
~segment_header() noexcept { manager_kernel_address = nullptr; }
};

Expand Down
6 changes: 3 additions & 3 deletions include/metall/kernel/segment_storage.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -203,11 +203,11 @@ class segment_storage {
return *reinterpret_cast<const segment_header_type *>(m_vm_region);
}

/// \brief Returns the current size.
/// \brief Returns the current segment size.
/// \return The current segment size.
std::size_t size() const { return m_current_segment_size; }

/// \brief Returns the page size.
/// \brief Returns the underlying page size.
/// \return The page size of the system.
std::size_t page_size() const { return m_system_page_size; }

Expand All @@ -220,7 +220,7 @@ class segment_storage {
/// \return Returns true if there is a segment already open.
bool is_open() const { return priv_is_open(); }

/// \brief Checks the sanity.
/// \brief Checks the sanity of the instance.
/// \return Returns true if there is no issue; otherwise, returns false.
/// If false is returned, the instance of this class cannot be used anymore.
bool check_sanity() const { return !m_broken; }
Expand Down

0 comments on commit e20d240

Please sign in to comment.