Project

General

Profile

Actions

Feature #7805

closed

want faster clock_gettime

Added by Patrick Mooney over 6 years ago. Updated over 6 years ago.

Status:
Closed
Priority:
Normal
Category:
kernel
Start date:
2017-01-25
Due date:
% Done:

100%

Estimated time:
Difficulty:
Medium
Tags:
needs-triage
Gerrit CR:
External Bug:

Description

There is a large body of software today which calls clock_gettime() with extremely high frequency. On many operating systems, this functionality is implemented in such a way that it's performed entirely in userspace (via the vDSO on Linux), cutting down on the cost. This is not the case for illumos, which relies on the normal syscall path. On modern x86 hardware, clock_gettime() takes 30-50ns on Linux whereas on illumos, it's closer to 250ns+.

In order for software which heavily relies on frequent clock access, it would be nice to have access to the time via a userspace-only mechanism.
This has been implemented in SmartOS as OS-5192.
Various fixes and updates have been made to it in subsequent tickets.


Related issues

Related to illumos gate - Feature #11275: gettimeofday should use comm pageClosedPatrick Mooney

Actions
Related to illumos gate - Feature #12345: comm page should fallback to syscall after excessive migrationClosedPatrick Mooney

Actions
Actions #1

Updated by Patrick Mooney over 6 years ago

The to-be-upstreamed wad will be comprised of changes from the following SmartOS tickets:

    OS-5192 need faster clock_gettime
    OS-5515 segumap_fault can race for loaded mapping
    OS-5572 seg_umap should load mapping for F_SOFTLOCK
    OS-5637 lxbrand vdso busts golang stack budget
    OS-5451 comm page should not break i86xpv
    OS-5601 comm page symbols need ctf augmentation

Actions #2

Updated by Electric Monk over 6 years ago

  • Status changed from New to Closed
  • % Done changed from 0 to 100

git commit 2428aad8462660fad2b105777063fea6f4192308

commit  2428aad8462660fad2b105777063fea6f4192308
Author: Patrick Mooney <pmooney@pfmooney.com>
Date:   2017-02-27T19:49:06.000Z

    7805 want faster clock_gettime
    Reviewed by: Jerry Jelinek <jerry.jelinek@joyent.com>
    Reviewed by: Robert Mustacchi <rm@joyent.com>
    Reviewed by: Joshua M. Clulow <jmc@joyent.com>
    Reviewed by: Ryan Zezeski <rpz@joyent.com>
    Reviewed by: Dan McDonald <danmcd@omniti.com>
    Approved by: Garrett D'Amore <garrett@damore.org>

Actions #3

Updated by Electric Monk over 6 years ago

git commit aa3c82a1eb83308d262b03dbffe9969658c7045b

commit  aa3c82a1eb83308d262b03dbffe9969658c7045b
Author: Yuri Pankov <yuri.pankov@nexenta.com>
Date:   2017-03-06T15:13:07.000Z

    7805 want faster clock_gettime (fix clean)

Actions #4

Updated by Joshua M. Clulow over 3 years ago

Actions #5

Updated by Patrick Mooney over 3 years ago

  • Related to Feature #12345: comm page should fallback to syscall after excessive migration added
Actions

Also available in: Atom PDF