You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@mnemonic.apache.org by ga...@apache.org on 2017/09/28 21:51:51 UTC
incubator-mnemonic git commit: MNEMONIC-379: Identify the ADMA
feature that is supported by memory service
Repository: incubator-mnemonic
Updated Branches:
refs/heads/master e767d0c26 -> 50e2a574b
MNEMONIC-379: Identify the ADMA feature that is supported by memory service
Project: http://git-wip-us.apache.org/repos/asf/incubator-mnemonic/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-mnemonic/commit/50e2a574
Tree: http://git-wip-us.apache.org/repos/asf/incubator-mnemonic/tree/50e2a574
Diff: http://git-wip-us.apache.org/repos/asf/incubator-mnemonic/diff/50e2a574
Branch: refs/heads/master
Commit: 50e2a574b7eff8690c1a32435676bad7d556f359
Parents: e767d0c
Author: Wang, Gang(Gary) <ga...@intel.com>
Authored: Thu Sep 28 14:51:25 2017 -0700
Committer: Wang, Gang(Gary) <ga...@intel.com>
Committed: Thu Sep 28 14:51:25 2017 -0700
----------------------------------------------------------------------
.../main/java/org/apache/mnemonic/CommonAllocator.java | 13 +++++++++++--
.../org/apache/mnemonic/NonVolatileMemAllocator.java | 3 +--
.../java/org/apache/mnemonic/VolatileMemAllocator.java | 3 +--
.../mnemonic/service/memory/MemoryServiceFeature.java | 3 ++-
4 files changed, 15 insertions(+), 7 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-mnemonic/blob/50e2a574/mnemonic-core/src/main/java/org/apache/mnemonic/CommonAllocator.java
----------------------------------------------------------------------
diff --git a/mnemonic-core/src/main/java/org/apache/mnemonic/CommonAllocator.java b/mnemonic-core/src/main/java/org/apache/mnemonic/CommonAllocator.java
index 643704c..3ca8a7b 100644
--- a/mnemonic-core/src/main/java/org/apache/mnemonic/CommonAllocator.java
+++ b/mnemonic-core/src/main/java/org/apache/mnemonic/CommonAllocator.java
@@ -17,10 +17,12 @@
package org.apache.mnemonic;
-import java.nio.ByteBuffer;
-
+import org.apache.mnemonic.service.memory.MemoryServiceFeature;
import org.flowcomputing.commons.resgc.ResCollector;
+import java.nio.ByteBuffer;
+import java.util.Set;
+
/**
* an abstract common class for memory allocator to provide common
* functionalities.
@@ -34,6 +36,13 @@ public abstract class CommonAllocator<A extends CommonAllocator<A>> implements A
protected ResCollector<MemChunkHolder<A>, Long> m_chunkcollector = null;
protected ResCollector<MemBufferHolder<A>, ByteBuffer> m_bufcollector = null;
+ protected Set<MemoryServiceFeature> m_features = null;
+ protected boolean m_absaddr = false;
+
+ public boolean useAbstractAddressing() {
+ return m_absaddr;
+ }
+
/**
* set a reclaimer to reclaim memory buffer
*
http://git-wip-us.apache.org/repos/asf/incubator-mnemonic/blob/50e2a574/mnemonic-core/src/main/java/org/apache/mnemonic/NonVolatileMemAllocator.java
----------------------------------------------------------------------
diff --git a/mnemonic-core/src/main/java/org/apache/mnemonic/NonVolatileMemAllocator.java b/mnemonic-core/src/main/java/org/apache/mnemonic/NonVolatileMemAllocator.java
index ca466b3..d81dabb 100644
--- a/mnemonic-core/src/main/java/org/apache/mnemonic/NonVolatileMemAllocator.java
+++ b/mnemonic-core/src/main/java/org/apache/mnemonic/NonVolatileMemAllocator.java
@@ -27,7 +27,6 @@ import org.flowcomputing.commons.resgc.ResCollector;
import org.flowcomputing.commons.resgc.ResReclaim;
import java.nio.ByteBuffer;
-import java.util.Set;
import static org.apache.mnemonic.service.memory.MemoryServiceFeature.QUERYABLE;
@@ -45,7 +44,6 @@ public class NonVolatileMemAllocator extends RestorableAllocator<NonVolatileMemA
private long[][] m_ttable;
private NonVolatileMemoryAllocatorService m_nvmasvc = null;
private Queryable m_querable = null;
- private Set<MemoryServiceFeature> m_features = null;
/**
* Constructor, it initializes and allocate a memory pool from specified uri
@@ -74,6 +72,7 @@ public class NonVolatileMemAllocator extends RestorableAllocator<NonVolatileMemA
if (!m_features.contains(MemoryServiceFeature.NONVOLATILE)) {
throw new ConfigurationException("The specified memory service does not support non-volatile feature");
}
+ m_absaddr = m_features.contains(MemoryServiceFeature.ABSTRACTADDRESSING);
if (isnew && capacity <= 0) {
throw new IllegalArgumentException("NonVolatileMemAllocator cannot be initialized with capacity <= 0.");
}
http://git-wip-us.apache.org/repos/asf/incubator-mnemonic/blob/50e2a574/mnemonic-core/src/main/java/org/apache/mnemonic/VolatileMemAllocator.java
----------------------------------------------------------------------
diff --git a/mnemonic-core/src/main/java/org/apache/mnemonic/VolatileMemAllocator.java b/mnemonic-core/src/main/java/org/apache/mnemonic/VolatileMemAllocator.java
index dbe06db..7fa493c 100644
--- a/mnemonic-core/src/main/java/org/apache/mnemonic/VolatileMemAllocator.java
+++ b/mnemonic-core/src/main/java/org/apache/mnemonic/VolatileMemAllocator.java
@@ -27,7 +27,6 @@ import org.flowcomputing.commons.resgc.ResCollector;
import org.flowcomputing.commons.resgc.ResReclaim;
import java.nio.ByteBuffer;
-import java.util.Set;
import static org.apache.mnemonic.service.memory.MemoryServiceFeature.QUERYABLE;
@@ -44,7 +43,6 @@ public class VolatileMemAllocator extends RestorableAllocator<VolatileMemAllocat
private long[][] m_ttable;
private VolatileMemoryAllocatorService m_vmasvc = null;
private Queryable m_querable = null;
- private Set<MemoryServiceFeature> m_features = null;
/**
* Constructor, it initializes and allocate a memory pool from specified uri
@@ -70,6 +68,7 @@ public class VolatileMemAllocator extends RestorableAllocator<VolatileMemAllocat
if (!m_features.contains(MemoryServiceFeature.VOLATILE)) {
throw new ConfigurationException("The specified memory service does not support volatile feature");
}
+ m_absaddr = m_features.contains(MemoryServiceFeature.ABSTRACTADDRESSING);
if (capacity <= 0) {
throw new IllegalArgumentException("VolatileMemAllocator cannot be initialized with capacity <= 0.");
}
http://git-wip-us.apache.org/repos/asf/incubator-mnemonic/blob/50e2a574/mnemonic-core/src/main/java/org/apache/mnemonic/service/memory/MemoryServiceFeature.java
----------------------------------------------------------------------
diff --git a/mnemonic-core/src/main/java/org/apache/mnemonic/service/memory/MemoryServiceFeature.java b/mnemonic-core/src/main/java/org/apache/mnemonic/service/memory/MemoryServiceFeature.java
index 1fa6ab8..1adb625 100644
--- a/mnemonic-core/src/main/java/org/apache/mnemonic/service/memory/MemoryServiceFeature.java
+++ b/mnemonic-core/src/main/java/org/apache/mnemonic/service/memory/MemoryServiceFeature.java
@@ -21,7 +21,8 @@ public enum MemoryServiceFeature {
VOLATILE(1),
NONVOLATILE(2),
TRANSACTABLE(3),
- QUERYABLE(4);
+ QUERYABLE(4),
+ ABSTRACTADDRESSING(5);
private int value;