Skip to content
This repository has been archived by the owner on Oct 2, 2023. It is now read-only.

Latest commit

 

History

History
66 lines (46 loc) · 2.07 KB

README.md

File metadata and controls

66 lines (46 loc) · 2.07 KB

Coreschedtool

A tool to manage core scheduling for linux tasks. This is achived by manipulating the task cookie using the prctl() function.

created by Marco Santimaria as part of his bachelor degree's thesis, supervised by Dario Faggioli and Enrico bini.

Compile the tool

this will compile the tool.

$ make coreschedtool

Install

this will install the compiled software into the /usr/bin folder. it is also possible to install to a custom folder by adding the parameter DESTDIR=<target_folder> to the command or by using the localinstall target

$ make install

Uninstall

this will remove the compiled software from the /usr/bin folder

$ make uninstall

Usage

$coreschedtool [-v] [<list of taskId> | -add <list of taskid>  -to <taskid> | -c <list of task id>] [<executable>] 

Parameter description:

  • : if no parameters are given, a new core scheduling group will be created with all task id listed separated by a space;

  • -r : If -r is set inside the , then a range of tasks will be used, calculated from to ;

  • -add -to : will be added to core scheduling group;

  • -c : remove the from the core scheduling group wich is currently inserted into;

  • -v: a verbose output will be shown;

  • will run the executable command with core scheduling enabled

Examples

$coreschedtool -v 1234 5678

This command will set core scheduling for tasks id 1234 and 5678 and will print verbose option

$coreschedtool -v -add 1011 -to 1234 

This command will add the task with tid 1011 to the task group of which 1234 is a member

$corechedtool -peek 1234

This command will show the core scheduling cookie assiged to task id 1234. If 0 is shown, no core scheduling is set for given task

$coreschedtool -v ping github.com

This command will run the command "ping github.com" with core scheduling enabled!