1
0
Fork 0
mirror of https://git.rwth-aachen.de/acs/public/villas/node/ synced 2025-03-09 00:00:00 +01:00

make number of huge pages configurable

This commit is contained in:
Steffen Vogel 2017-03-11 23:39:00 -03:00
parent 0f395a1756
commit f00d332bf2
8 changed files with 13 additions and 10 deletions

View file

@ -22,6 +22,7 @@
struct cfg {
int priority; /**< Process priority (lower is better) */
int affinity; /**< Process affinity of the server and all created threads */
int hugepages; /**< Number of hugepages to reserve. */
double stats; /**< Interval for path statistics. Set to 0 to disable them. */
struct list nodes;

View file

@ -42,7 +42,7 @@ struct memzone {
};
/** Initilialize memory subsystem */
int memory_init();
int memory_init(int hugepages);
/** Allocate \p len bytes memory of type \p m.
*

View file

@ -16,17 +16,18 @@
#include "log.h"
#include "memory.h"
#include "utils.h"
int memory_init()
int memory_init(int hugepages)
{
#ifdef __linux__
info("Initialize memory sub-system");
int nr = kernel_get_nr_hugepages();
if (nr < DEFAULT_NR_HUGEPAGES) { INDENT
kernel_set_nr_hugepages(DEFAULT_NR_HUGEPAGES);
debug(LOG_MEM | 2, "Reserve %d hugepages (was %d)", DEFAULT_NR_HUGEPAGES, nr);
if (nr < hugepages) { INDENT
kernel_set_nr_hugepages(hugepages);
debug(LOG_MEM | 2, "Reserved %d hugepages (was %d)", hugepages, nr);
}
#endif
return 0;

View file

@ -13,6 +13,7 @@
#include <villas/cfg.h>
#include <villas/timing.h>
#include <villas/utils.h>
#include <villas/memory.h>
#include <villas/nodes/fpga.h>
#include <villas/kernel/rt.h>
#include <villas/kernel/pci.h>
@ -70,7 +71,7 @@ int main(int argc, char *argv[])
rt_init(cfg.priority, cfg.affinity);
info("Initialize memory system");
memory_init();
memory_init(cfg.hugepages);
/* Initialize VILLASfpga card */
ret = fpga_init(argc, argv, config_root_setting(&cfg.cfg));

View file

@ -99,7 +99,7 @@ int main(int argc, char *argv[])
rt_init(-1, 50);
info("Initialize memory system");
memory_init();
memory_init(DEFAULT_NR_HUGEPAGES);
ret = pool_init(&pool, 10 * cnt, SAMPLE_LEN(DEFAULT_VALUES), &memtype_hugepage);
if (ret)

View file

@ -205,7 +205,7 @@ int main(int argc, char *argv[])
signals_init(quit);
cfg_parse(&cfg, argv[1]);
rt_init(cfg.priority, cfg.affinity);
memory_init();
memory_init(cfg.hugepages);
/* Initialize node */
node = list_lookup(&cfg.nodes, argv[2]);

View file

@ -72,7 +72,7 @@ int main(int argc, char *argv[])
cfg_parse(&cfg, argv[1]);
signals_init(quit);
rt_init(cfg.priority, cfg.affinity);
memory_init();
memory_init(cfg.hugepages);
node = list_lookup(&cfg.nodes, argv[3]);
if (!node)

View file

@ -17,7 +17,7 @@ int main(int argc, char *argv[]) {
struct log log;
log_init(&log, V, LOG_ALL);
memory_init();
memory_init(DEFAULT_NR_HUGEPAGES);
int result = 0;
if (criterion_handle_args(argc, argv, true))