Timing Subsystem in deep
- IT & Software
- Jan 06, 2025

Timing Subsystem in deep, available at $59.99, has an average rating of 4.5, with 98 lectures, based on 15 reviews, and has 479 subscribers.
You will learn about Programming timing in user space Timing Hardware Jiffies Low resolution & High resolution timers POSIX Clocks This course is ideal for individuals who are Linux Kernel Developers interested in gaining deep knowledge about timing subsystem It is particularly useful for Linux Kernel Developers interested in gaining deep knowledge about timing subsystem.
Enroll now: Timing Subsystem in deep
Summary
Title: Timing Subsystem in deep
Price: $59.99
Average Rating: 4.5
Number of Lectures: 98
Number of Published Lectures: 98
Number of Curriculum Items: 98
Number of Published Curriculum Objects: 98
Original Price: $119.99
Quality Status: approved
Status: Live
What You Will Learn
Who Should Attend
Target Audiences
Timing Measurements in Linux Kernel
Many computer activities are based on timing measurements.
E.g. Your Computer display is turned off, if you have not pressed a key or moved your mouse for a particular time.
Linux timing subsystem mainly handles two types of timing activities
1. Keeping the current time and date
a. time() , gettimeofday() and clock_gettime()
b. Time stamps for files and network packets
2. Maintaining Timers
a. Mechanisms to notify kernel and user space (ex. alarm()) that a certain interval of time has elapsed.
Hardware Devices
Linux depends on hardware devices to maintain time. These devices can be basically classified into two types:
1. Clocks/Counters: provide precise time measurements
Used to keep track of current time of day
2. Timers: Issue interrupts at fixed, predefined frequency.
Used for implementing software timers
What will you learn from this course?
Various timing commands: date, uptime
POSIX Clocks: CLOCK_BOOTTIME, CLOCK_MONOTONIC_RAW, CLOCK_REALTIME, CLOCK_PROCESS_CPUTIME_ID, CLOCK_THREAD_CPUTIME_ID
Timing System calls: ctime, gettimeofday, clock_gettime, clock_settime, clock_getres, times, getrusage
Setting time from userspace
How to measure time for a particular instruction
Hardware Devices used in timing measurement: RTC, TSC, Programmable Interval Timer, APIC, High Precision Event Timer
Jiffies
Low Resolution and High Resolution Timers
This course comes with a 30 day money back guaranteed!.If you are not satisfied with the course, you’ll get your money back
So what are you waiting for, enroll now and take the next step in learning Timing subsystem in Linux Kernel
Course Curriculum
Chapter 1: Programming timing in user space
Lecture 1: date command
Lecture 2: uptime command
Lecture 3: Epoch time
Lecture 4: ctime
Lecture 5: gettimeofday
Lecture 6: Can gettimeofday() be used for measured elapsed time
Lecture 7: Monotonic clock
Lecture 8: CLOCK_BOOTTIME
Lecture 9: CLOCK_MONOTONIC_RAW
Lecture 10: CLOCK_REALTIME
Lecture 11: CLOCK_PROCESS_CPUTIME_ID
Lecture 12: Example to calculate time taken to increment
Lecture 13: Another Example using clock_gettime
Lecture 14: CLOCK_MONOTONIC vs CLOCK_PROCESS_CPUTIME_ID
Lecture 15: CLOCK_THREAD_CPUTIME_ID
Lecture 16: clock_settime
Lecture 17: clock_getres
Lecture 18: times
Lecture 19: getrusage
Chapter 2: Hardware devices used in timing measurement
Lecture 1: Timing Measurements in Linux Kernel
Lecture 2: RTC
Lecture 3: Kernel module example reading RTC
Lecture 4: RTC Interrupts
Lecture 5: RTC IOCTL Interface
Lecture 6: RTC Periodic Interrupts
Lecture 7: RTC Alarm Interrupt
Lecture 8: Why RTC is not used after computer is powered on
Lecture 9: TSC
Lecture 10: Reading TSC from kernel space
Lecture 11: RDTSCP
Lecture 12: Issues using TSC with multiprocessor systems
Lecture 13: Kernel functions for TSC
Lecture 14: Programmable Interval Timer
Lecture 15: Local APIC
Lecture 16: High Precision Event Timer
Lecture 17: Linux Abstraction
Chapter 3: Jiffies
Lecture 1: HZ
Lecture 2: jiffies
Lecture 3: What is the size of jiffies
Lecture 4: Why is jiffies not declared as 64-bit on x86
Lecture 5: Jiffies Wraparound
Lecture 6: What is the initial value of jiffies on boot
Lecture 7: INITIAL_JIFFIES
Lecture 8: Why double casting is needed for INITIAL_JIFFIES macro
Lecture 9: Convert jiffies to seconds milliseconds
Lecture 10: Measuring module loaded time using jiffies
Lecture 11: Can we update jiffies
Lecture 12: Timer Interrupt processing
Lecture 13: Busy looping using jiffies
Lecture 14: Jiffies conversions
Lecture 15: How are busy loops implemented
Lecture 16: What is disadvantage of having periodic interrupts in Linux Kernel
Lecture 17: Configuration of clock interrupts
Chapter 4: Low Resolution TImers
Lecture 1: Introduction to timers
Lecture 2: Implementation of low resolution timers
Lecture 3: Specifying an expiration time
Lecture 4: Which context timer handler runs
Lecture 5: Timer implementation
Lecture 6: Are interrupts disabled while running timer handler
Lecture 7: Whether timer handler runs in softirq or hardirq
Lecture 8: Whether kernel checks all timer entries on each raise softirq
Lecture 9: Deactivate a timer
Lecture 10: del_timer_sync
Lecture 11: timer_pending
Lecture 12: Periodic timers
Lecture 13: Synchronize between process context and timer handler
Lecture 14: Run timer handler every one second
Lecture 15: Timer Flags
Lecture 16: How schedule_timeout works
Lecture 17: Problems with low resolution timers
Chapter 5: ktime_t
Lecture 1: Introduction to high resolution timers
Lecture 2: ktime_t
Lecture 3: Macros and functions for ktime_t
Lecture 4: Macros and functions for add sub ktime_t
Lecture 5: ktime_t conversion functions
Lecture 6: Example of conversion functions
Lecture 7: ktime accessors
Lecture 8: ktime accessors part 2
Lecture 9: ktime accessors part 3
Lecture 10: nanosecond output
Lecture 11: timespec output
Lecture 12: seconds output
Lecture 13: How uptime is implemented
Lecture 14: How gettimeofday is implemented
Lecture 15: How clock_gettime is implemented
Lecture 16: coarse variants
Lecture 17: Why are coarse variants faster
Chapter 6: HRTimers
Lecture 1: Introduction
Lecture 2: Cancel a timer
Lecture 3: Return value of callback timer
Lecture 4: hrtimer_forward_now
Lecture 5: Measuring clock cycles
Lecture 6: Examples of clocks and modes
Lecture 7: hrtimer_callback_running
Instructors

Linux Trainer
Trainer at Linux Weekend Learning
Rating Distribution
Frequently Asked Questions
How long do I have access to the course materials?
You can view and review the lecture materials indefinitely, like an on-demand channel.
Can I take my courses with me wherever I go?
Definitely! If you have an internet connection, courses on Udemy are available on any device at any time. If you don’t have an internet connection, some instructors also let their students download course lectures. That’s up to the instructor though, so make sure you get on their good side!
- Random Picks
- Popular
- Hot Reviews
- Learning Modernizr A Definitive Modernizr Course
- Keyword Research From Scratch. Unlock New SEO Opportunities
- Fundamentals of Quality Assurance Engineer
- Life Insurance Annuity Ultimate Buyer’s Guide
- 3DS Max Tutorial. Learn The Art of Modelling and Animation
- Personal Finance
- The Beginner Forex Trading Playbook
- Hydrogen Energy Masterclass- Fundamentals Applications
- 1YouTube Masterclass The Best Guide to YouTube Success
- 2Photoshop CC- Adjustement Layers, Blending Modes Masks
- 3Personal Finance
- 4SolidWorks Essential Training ( 2023 2024 )
- 5The Architecture of Oscar Niemeyer
- 6Advanced Photoshop Manipulations Tutorials Bundle
- 7Polymer Clay Jewelry Making Techniques for Beginners
- 8ZB Trading Cryptocurrency Price Action Course
- 1Linux Performance Monitoring Analysis Hands On !!
- 2Content Writing Mastery 1- Content Writing For Beginners
- 3Media Training for PrintOnline Interviews-Get Great Quotes
- 4Learn Facebook Ads from Scratch Get more Leads and Sales
- 5The Complete Digital Marketing Course Learn From Scratch
- 6C#- Start programming with C# (for complete beginners)
- 7[FREE] How to code 10 times faster with Emmet
- 8Driving Results through Data Storytelling