struct lru_item lru_head;
-struct process *runner, *victim;
+struct process *victim;
void process_init(int n, int spare) {
processes = calloc(n, sizeof(struct process));
}
void process_run(struct process *process) {
- int blocks, runner_core_blocks;
+ int blocks, process_core_blocks;
int swap_base, core_base;
int paras;
#ifndef INDIRECT_CORE
blocks = process->swap_blocks;
// add to core pool
- runner = process;
- runner_core_blocks = 0;
+ process_core_blocks = 0;
#ifndef INDIRECT_CORE
rassert(
pool_alloc(
assert(process->swap_blocks);
// victim, take over the dedicated pool items
- runner = victim;
- runner_core_blocks =
+ process_core_blocks =
#ifndef INDIRECT_CORE
victim->core_item.limit - victim->core_item.base;
#else /* INDIRECT_CORE */
pool_alloc(
&core_table,
&process->core_item,
- runner_core_blocks + blocks,
+ process_core_blocks + blocks,
POOL_ALLOC_MODE_MOVEABLE |
POOL_ALLOC_MODE_REALLOC
)
#else /* INDIRECT_CORE */
core_base = process->core_item.limit - process->swap_blocks;
#endif /* INDIRECT_CORE */
- runner_core_blocks += blocks;
+ process_core_blocks += blocks;
process->swap_blocks -= blocks;
paras = blocks << BLOCK_PARAS_SHIFT;
#endif /* INDIRECT_CORE */
} while (process->swap_blocks);
}
- runner = NULL;
// insert at head of LRU list
process->lru_item.prev = &lru_head;
extern struct lru_item lru_head;
-extern struct process *runner, *victim;
+extern struct process *victim;
void process_init(int n, int spare);
bool process_alloc(struct process *process, int para, int paras);