Currently, I want to dive into the Linux scheduling. I have a test setup with lubuntu and a 4.10.0-37-generic Kernel. I want to know how long the minimum time of execution with a CFS task could be without self yielding. Here a good overview is given how to tweak the scheduler. I think the sysctl parameter kernel.sched_min_granularity_ns (setup = 1.500.000) is the right place to look at. But I do not find any reference on the scheduler frequency. In the CFS documentation (CFS doc) the independence of scheduling and the jiffies (counted from system timer interrupt with the 1/HZ period). But in some documentation I can't find anymore it was noted that all frequencies in the Kernel rely on this HZ value. My current HZ value is 250 (default), so if the scheduler is called within the jiffy timer interrupt only ever 4 ms a reschedule can happen. This is in contrast to the 1.5 ms sched_min_granularity_ns. How the scheduler could be faster than the system interrupt?
Where is the linux scheduler triggered?
646 Views Asked by user3191169 At
1
There are 1 best solutions below
Related Questions in LINUX
- Is there some way to use printf to print a horizontal list of decrementing hex digits in NASM assembly on Linux
- Why does Hugo generate different taxonomy-related HTML on different OS's?
- Writes in io_uring do not advance the file offset
- Why `set -o pipefail` gives different output even though the pipe is not failing
- what really controls the permissions: UID or eUID?
- Compiling eBPF program in Docker fails due to missing '__u64' type
- Docker container unable to make HTTPS requests to external API
- Whow to use callback_query_handler in Python 3.10
- Create kea runtime directory at startup in Yocto image
- Problem on CPU scheduling algorithms in OS
- How to copy files into the singularity sandbox?
- Android kernel error: undefined reference to `get_hw_version_platform'
- Is there a need for BPF Linux namespace?
- Error when trying to execute a binary compiled in a Kali Linux machine on an Ubuntu system
- Issue with launching application after updating ElectronJs to version 28.0.0 on Windows and Linux
Related Questions in SCHEDULER
- How to schedule the execution of broadcast tasks from a queue of to be broadcasted data with a one second delay in between each broadcast invocation?
- I can't make the last line spread across in my display
- Swiss Scheduling System for Ping-Pong league
- What factors will affect the thread scheduling latency in the system?
- Spring customization of scheduler
- My scheduler in my Flask smart home app with a micro service architecture is not working as intended
- What is the difference between the class attribute schedule and the object attribute data of celery.beat.Scheduler in Celery?
- How can I reload the URL data within python script, or re-run the script hourly?
- xv6 scheduler kernel trap
- How to calculate cpu utilization on DVFS CPU with multi-cores
- Setting up a Cron Job to Trigger on the Y-th Day Every Month, Handling Non-Existent Dates
- How to get the results of execution from ThreadPoolTaskScheduler
- SGD optimizer, lr value with loop over batch and epoch, in pytorch
- Interpreting Quartz Scheduler job_data using java JPA. How to represent Bytea in JPA?
- Date Formatting On Kendo UI React Scheduler
Related Questions in GRANULARITY
- Getting issue with Snapchat Marketing API for granularity as DAY and TOTAL
- Building dimensional model from multiple sources
- Confusion in Granularity for Time Series Data
- why do pipeline constraints of Coarse-grained multithreading and Fine-grained multithreading differ?
- How to create a custom grid on a Folium Map?
- Fragmentation-Does Anyone know what the alignment of _alloca() is?
- tables daily granularity left join monthly granularity
- Breakdown data-frame into second-by-second time-series
- How to aggregate to group level, order and enumerate groups chronologically? (in SQL Server)
- Tableau desktop average line granularity error
- Change granularity of function plot to make plot look smooth
- how do i convert the working hours to Boolean?
- Aggregate values according to date granularity
- best practices for protecting a production database when using entity framework
- firebase analytics hourly granularity reports
Related Questions in CFS
- Linux Kernel CFS CPU Usage explained
- How is rebalance_domains() synchronized below NUMA level?
- How to change the process scheduler in the Kernel?
- Who calls fair.c for a process to run on linux?
- Why does CFS implement 100 Realtime runqueues?
- Do small .NET Core async continuations on Linux with CFS qoutas end up slotting directly into time slices?
- How qnx schedule threads
- Why Linux distributes threads among NUMA nodes almost equally?
- the running time is small than TICK_time ,why it seized by barad_agent?
- change CFS scheduler variables
- Kubernetes CPU quotas and process scheduling behavior
- Does every single CPU core own a red-black tree for CFS?
- How to get delta percentage from /proc/schedstat
- docker-compose spec says cpus option is deprecated but docker run says use --cpus
- Is switching between threads much more efficient than processes in Linux?
Trending Questions
- UIImageView Frame Doesn't Reflect Constraints
- Is it possible to use adb commands to click on a view by finding its ID?
- How to create a new web character symbol recognizable by html/javascript?
- Why isn't my CSS3 animation smooth in Google Chrome (but very smooth on other browsers)?
- Heap Gives Page Fault
- Connect ffmpeg to Visual Studio 2008
- Both Object- and ValueAnimator jumps when Duration is set above API LvL 24
- How to avoid default initialization of objects in std::vector?
- second argument of the command line arguments in a format other than char** argv or char* argv[]
- How to improve efficiency of algorithm which generates next lexicographic permutation?
- Navigating to the another actvity app getting crash in android
- How to read the particular message format in android and store in sqlite database?
- Resetting inventory status after order is cancelled
- Efficiently compute powers of X in SSE/AVX
- Insert into an external database using ajax and php : POST 500 (Internal Server Error)
Popular # Hahtags
Popular Questions
- How do I undo the most recent local commits in Git?
- How can I remove a specific item from an array in JavaScript?
- How do I delete a Git branch locally and remotely?
- Find all files containing a specific text (string) on Linux?
- How do I revert a Git repository to a previous commit?
- How do I create an HTML button that acts like a link?
- How do I check out a remote Git branch?
- How do I force "git pull" to overwrite local files?
- How do I list all files of a directory?
- How to check whether a string contains a substring in JavaScript?
- How do I redirect to another webpage?
- How can I iterate over rows in a Pandas DataFrame?
- How do I convert a String to an int in Java?
- Does Python have a string 'contains' substring method?
- How do I check if a string contains a specific word?
See commit 8f4d37ec073c, "sched: high-res preemption tick", found via this comment in a thread about the change: https://lwn.net/Articles/549754/ .
When hrtimers are available (and only when), the CPU scheduler will use them to interrupt more frequently. Note, this also allows it to interrupt less frequently if it wants, which can be more efficient.
hrtimers should be available on most systems.
(If you look
Kconfig.hzin the commit, don't worry that SCHED_HRTICK depends on X86. That requirement seems to have been dropped in some more recent commit).