diff options
author | Henning Baldersheim <balder@yahoo-inc.com> | 2022-05-13 16:25:17 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-05-13 16:25:17 +0200 |
commit | 3effe175adc0a60759444b90593532db857f7bbb (patch) | |
tree | 23141401b6318ac663a1fcfb8cb5055645f4edc5 /config-model/src/main/java | |
parent | 6c2853cc2e2b2c5777c8fe99e9e311d365b0d549 (diff) | |
parent | a72489b5f0ada8c24bbe40053d83a6c998f4b57d (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.java | 4 | ||||
-rw-r--r-- | config-model/src/main/java/com/yahoo/vespa/model/search/SearchNode.java | 24 |
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) { |