Code Monkey home page Code Monkey logo

modifying-cfs-scheduler's Introduction

Modifiying-CFS-Scheduler

Sneha Sinha - 2016098 & Ritu Kumari - 2016078

Part 1: Compiling the source code

The linux 3.19.0 source code is downloaded and it's extracted.

  • cd to that directory
  • do 'cp /boot/config-$(uname -r) .config' to copy the kernel's .config file then followed by 'make menuconfig'
  • use 'sudo make -j 4 && sudo make modules_install -j 4 && sudo make install -j 4'.The kernel and modules are compiled.
  • do 'update-initramfs -c -k 3.19.0' to update the kernel, and 'update-grub' to add it to the grub.

Part 2: Modifying CFS

  • Updated /include/linux/sched.h task struct to include srt flags and requirements.
  • Updated /kernel/sched/fair.c to include the required scheduling policy for SRT tasks.

Part 3: Making 'rtnice' System Call

  • Made info directory in the kernel.
  • 'info' directory includes:

1. rtnice.c - C code for System call implementation.
2. rtnice.h - header file.
3. Makefile - Makefile for c code.
  • Updated arch/x86/syscalls/syscall64.tbl to include the 'rtnice' system call.
  • Updated Linux kernel main Makefile to include the 'rtnice' system call.

Part 4: Testing

  • rtnicetest.c tests the rtnice system call and the modified cfs scheduler.

ERRORS:

1. if no task with given PID exists.
2. if timeslice < 1 or greater than a certain value.
PS: Patch can be applied to the linux-kernel 3.19 on Ubuntu Server 14.04.4. (Kernel may go into panic mode. Apply patch on your own risk)

modifying-cfs-scheduler's People

Contributors

28ritu avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.