summaryrefslogtreecommitdiffstats
path: root/config-model/src/main/java
diff options
context:
space:
mode:
authorHenning Baldersheim <balder@yahoo-inc.com>2022-05-13 16:25:17 +0200
committerGitHub <noreply@github.com>2022-05-13 16:25:17 +0200
commit3effe175adc0a60759444b90593532db857f7bbb (patch)
tree23141401b6318ac663a1fcfb8cb5055645f4edc5 /config-model/src/main/java
parent6c2853cc2e2b2c5777c8fe99e9e311d365b0d549 (diff)
parenta72489b5f0ada8c24bbe40053d83a6c998f4b57d (diff)
Merge pull request #22592 from vespa-engine/balder/add-library-for-loading-code-in-huge-pages
Balder/add library for loading code in huge pages
Diffstat (limited to 'config-model/src/main/java')
-rw-r--r--config-model/src/main/java/com/yahoo/vespa/model/content/ContentSearchCluster.java4
-rw-r--r--config-model/src/main/java/com/yahoo/vespa/model/search/SearchNode.java24
2 files changed, 13 insertions, 15 deletions
diff --git a/config-model/src/main/java/com/yahoo/vespa/model/content/ContentSearchCluster.java b/config-model/src/main/java/com/yahoo/vespa/model/content/ContentSearchCluster.java
index 82321216519..8b9f32fa135 100644
--- a/config-model/src/main/java/com/yahoo/vespa/model/content/ContentSearchCluster.java
+++ b/config-model/src/main/java/com/yahoo/vespa/model/content/ContentSearchCluster.java
@@ -273,8 +273,8 @@ public class ContentSearchCluster extends AbstractConfigProducer<SearchCluster>
Optional<Tuning> tuning = Optional.ofNullable(this.tuning);
if (element == null) {
searchNode = SearchNode.create(parent, "" + node.getDistributionKey(), node.getDistributionKey(), spec,
- clusterName, node, flushOnShutdown, tuning, resourceLimits, parentGroup.isHosted(),
- fractionOfMemoryReserved);
+ clusterName, node, flushOnShutdown, tuning, resourceLimits, deployState.isHosted(),
+ deployState.featureFlags().loadCodeAsHugePages(), fractionOfMemoryReserved);
searchNode.setHostResource(node.getHostResource());
searchNode.initService(deployState);
diff --git a/config-model/src/main/java/com/yahoo/vespa/model/search/SearchNode.java b/config-model/src/main/java/com/yahoo/vespa/model/search/SearchNode.java
index 6e3f3e1ebf5..e7c0968f99e 100644
--- a/config-model/src/main/java/com/yahoo/vespa/model/search/SearchNode.java
+++ b/config-model/src/main/java/com/yahoo/vespa/model/search/SearchNode.java
@@ -95,8 +95,9 @@ public class SearchNode extends AbstractService implements
@Override
protected SearchNode doBuild(DeployState deployState, AbstractConfigProducer ancestor, Element producerSpec) {
- return new SearchNode(ancestor, name, contentNode.getDistributionKey(), nodeSpec, clusterName, contentNode,
- flushOnShutdown, tuning, resourceLimits, deployState.isHosted(), fractionOfMemoryReserved);
+ return SearchNode.create(ancestor, name, contentNode.getDistributionKey(), nodeSpec, clusterName, contentNode,
+ flushOnShutdown, tuning, resourceLimits, deployState.isHosted(),
+ deployState.featureFlags().loadCodeAsHugePages(), fractionOfMemoryReserved);
}
}
@@ -104,26 +105,22 @@ public class SearchNode extends AbstractService implements
public static SearchNode create(AbstractConfigProducer parent, String name, int distributionKey, NodeSpec nodeSpec,
String clusterName, AbstractService serviceLayerService, boolean flushOnShutdown,
Optional<Tuning> tuning, Optional<ResourceLimits> resourceLimits, boolean isHostedVespa,
- double fractionOfMemoryReserved) {
+ boolean loadCodeAsHugePages, double fractionOfMemoryReserved) {
return new SearchNode(parent, name, distributionKey, nodeSpec, clusterName, serviceLayerService, flushOnShutdown,
- tuning, resourceLimits, isHostedVespa, fractionOfMemoryReserved);
+ tuning, resourceLimits, isHostedVespa, loadCodeAsHugePages, fractionOfMemoryReserved);
}
private SearchNode(AbstractConfigProducer parent, String name, int distributionKey, NodeSpec nodeSpec,
String clusterName, AbstractService serviceLayerService, boolean flushOnShutdown,
Optional<Tuning> tuning, Optional<ResourceLimits> resourceLimits, boolean isHostedVespa,
- double fractionOfMemoryReserved) {
- this(parent, name, nodeSpec, clusterName, flushOnShutdown, tuning, resourceLimits, isHostedVespa, fractionOfMemoryReserved);
+ boolean loadCodeAsHugePages, double fractionOfMemoryReserved) {
+ super(parent, name);
this.distributionKey = distributionKey;
this.serviceLayerService = serviceLayerService;
- setPropertiesElastic(clusterName, distributionKey);
- }
-
- private SearchNode(AbstractConfigProducer parent, String name, NodeSpec nodeSpec, String clusterName,
- boolean flushOnShutdown, Optional<Tuning> tuning, Optional<ResourceLimits> resourceLimits, boolean isHostedVespa,
- double fractionOfMemoryReserved) {
- super(parent, name);
this.isHostedVespa = isHostedVespa;
+ if (loadCodeAsHugePages) {
+ addEnvironmentVariable("VESPA_LOAD_CODE_AS_HUGEPAGES", "true");
+ }
this.fractionOfMemoryReserved = fractionOfMemoryReserved;
this.nodeSpec = nodeSpec;
this.clusterName = clusterName;
@@ -136,6 +133,7 @@ public class SearchNode extends AbstractService implements
// Properties are set in DomSearchBuilder
this.tuning = tuning;
this.resourceLimits = resourceLimits;
+ setPropertiesElastic(clusterName, distributionKey);
}
private void setPropertiesElastic(String clusterName, int distributionKey) {