mirror of
https://github.com/schoebel/mars
synced 2024-12-17 20:24:52 +00:00
main: improve prosumer preallocation
This commit is contained in:
parent
f0304dd7cd
commit
aba543090f
@ -740,9 +740,6 @@ void set_brick_mem_freelist_max(int max, int order)
|
||||
{
|
||||
if (max > brick_mem_freelist_max[order]) {
|
||||
brick_mem_freelist_max[order] = max;
|
||||
} else if (max < brick_mem_freelist_max[order] / 2 &&
|
||||
brick_mem_freelist_max[order] > 0) {
|
||||
brick_mem_freelist_max[order]--;
|
||||
}
|
||||
}
|
||||
#else
|
||||
|
@ -254,6 +254,8 @@ void _crashme(int mode, bool do_sync)
|
||||
|
||||
int nr_affected_resources;
|
||||
int tmp_nr_affected_resources;
|
||||
int nr_prosumer_resources;
|
||||
int tmp_nr_prosumer_resources;
|
||||
|
||||
void update_brick_mem_freelist_max(void)
|
||||
{
|
||||
@ -264,7 +266,8 @@ void update_brick_mem_freelist_max(void)
|
||||
int max = 0;
|
||||
|
||||
if (order == MARS_MEMRESERVE_ORDER) {
|
||||
max = nr_affected_resources * MEMRESERVE_FACTOR_5;
|
||||
max = nr_affected_resources + nr_prosumer_resources;
|
||||
max *= MEMRESERVE_FACTOR_5;
|
||||
}
|
||||
set_brick_mem_freelist_max(max, order);
|
||||
}
|
||||
@ -6215,6 +6218,7 @@ int make_dev(struct mars_dent *dent)
|
||||
MARS_DBG("nothing to do\n");
|
||||
goto err;
|
||||
}
|
||||
tmp_nr_prosumer_resources++;
|
||||
if (!rot->trans_brick) {
|
||||
MARS_DBG("transaction logger does not exist\n");
|
||||
goto done;
|
||||
@ -7569,6 +7573,8 @@ static int _main_thread(void *data)
|
||||
/* swizzle indicator */
|
||||
nr_affected_resources = tmp_nr_affected_resources;
|
||||
tmp_nr_affected_resources = 0;
|
||||
nr_prosumer_resources = tmp_nr_prosumer_resources;
|
||||
tmp_nr_prosumer_resources = 0;
|
||||
|
||||
/* Static memlimit */
|
||||
if (mars_mem_percent < 0)
|
||||
|
Loading…
Reference in New Issue
Block a user