[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
vDSO? (was: [SCM] Web pages branch, master, updated. 357bc0213f1d4049d6
From: |
Thomas Schwinge |
Subject: |
vDSO? (was: [SCM] Web pages branch, master, updated. 357bc0213f1d4049d6ce0c80122987c760c5e506) |
Date: |
Sun, 7 Apr 2013 01:21:51 +0200 |
User-agent: |
Notmuch/0.9-101-g81dad07 (http://notmuchmail.org) Emacs/23.4.1 (i486-pc-linux-gnu) |
Hi!
On Sat, 06 Apr 2013 23:13:53 +0000, Thomas Schwinge <thomas@schwinge.name>
wrote:
> commit e4ca7c575ff06479bb634cf64cd9abe36a25e3e8
> Author: Thomas Schwinge <thomas@codesourcery.com>
> Date: Sun Apr 7 01:03:54 2013 +0200
>
> open_issues/vdso: New.
What are your thoughts?
| Evaluate whether or not usage of vDSOs (virtual dynamically linked shared
| objects; [[!wikipedia vDSO]]) can be useful in a GNU Hurd system.
|
| Explanation and example for the Linux kernel: [Creating a vDSO: the Colonel's
| Other
|
Chicken](http://www.linuxjournal.com/content/creating-vdso-colonels-other-chicken),
| Matt Davis, 2012-02-06. The *Resources* given are also worth reading.
| Basically, this is useful for exporting data from the kernel (generally, or
| given a process context ([[Unix]]), or task/thread context, and so on).
|
| On a GNU Hurd system, parts of the data that makes up a process context
doesn't
| actually live inside the kernel, but instead is directly held in glibc. For
| example `sysdeps/mach/hurd/getpid.c:__getpid` does a mere `return _hurd_pid`.
| For this reason, vDSOs might not be as useful on GNU Hurd as they are with the
| Linux kernel. Or, put another way, as GNU Hurd system doesn't have many
| [[system_call]]s, also there aren't many that could be replaced.
|
| Generally only *real* [[system_call]]s should be candidates for implementation
| with vDSO code, because otherwise that'd break the ([[RPC]]) system's inherent
| [[/virtualization]] capabilities.
|
| Having vDSO code might be useful for:
|
| * `mach_*_self`: `mach_host_self`, `mach_task_self`, `mach_thread_self`?
|
| *
[[mapped-time_interface|master/microkernel/mach/gnumach/interface/device/time]]
|
| Every application can then use that via the regular
| `gettimeofday`/`clock_gettime` and similar calls instead of using the
| special [[hurd/libshouldbeinlibc]]'s `<maptime.h>` interface.
|
| Can implement [[`clock_gettime` stuff|clock_gettime]] more easily that
way,
| for example for nanosecond precision?
|
| Now, the [[mapped-time_interface]] is virtualizable -- the question is
| whether there is a way so that we can make a compromise here?
Grüße,
Thomas
pgp8sU2i5t_u2.pgp
Description: PGP signature
- vDSO? (was: [SCM] Web pages branch, master, updated. 357bc0213f1d4049d6ce0c80122987c760c5e506),
Thomas Schwinge <=