Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Q3: Should we consider the possibility of async. syscall mechanism (e.g., FlexSC, Linux Syslets, etc.)?

...

Q4: What if we have too many threads blocking in the syscalls at the same time? Should we try to cap the size of the thread pool?

Q5: Is the scheduling class going to be notified when threads are blocked on syscalls and woken?

The scheduling class interface `sched_class` is defined at: http://lxr.free-electrons.com/source/kernel/sched/sched.h?v=4.7#L1193. `dequeue_task` and `task_woken` will be called respectively when a task goes to sleep and when it's woken up.

SCHEDULING POLICIES IN KERNEL

Scheduling policies currently available in Linux 4.7 are defined at: http://lxr.free-electrons.com/source/include/uapi/linux/sched.h?v=4.7#L35

...

Code Block
void Arachne::MainLoop() {
	while (1) {
    	while (!relinquishThisCore() && !yieldToUnblockedSibling()) {
			// Pick the next Arachne user thread to run
			// and switch to its context; this function
			// returns when the Arachne user thread
			// decides to yield the control
        	schedule_next_thread();
 		}
			// If this thread have been downgraded and
			// lost its binding to the core, just exit the
			// the main loop and terminate gracefully
			if (!boundToThisCore()) return;
		}
    	sched_yield();
	}
}


(DYNAMIC) FULL CORE ISOLATION

...