HOME > IT & Software > Timing Subsystem in deep

Timing Subsystem in deep

SynopsisTiming Subsystem in deep, available at $59.99, has an average...
Timing Subsystem in deep  No.1

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

  • Programming timing in user space
  • Timing Hardware
  • Jiffies
  • Low resolution & High resolution timers
  • POSIX Clocks
  • Who Should Attend

  • Linux Kernel Developers interested in gaining deep knowledge about timing subsystem
  • Target Audiences

  • Linux Kernel Developers interested in gaining deep knowledge about timing subsystem
  • 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

  • Timing Subsystem in deep  No.2
    Linux Trainer
    Trainer at Linux Weekend Learning
  • Rating Distribution

  • 1 stars: 0 votes
  • 2 stars: 0 votes
  • 3 stars: 1 votes
  • 4 stars: 8 votes
  • 5 stars: 6 votes
  • 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!