Hi! On Sat, 06 Apr 2013 23:13:53 +0000, Thomas Schwinge <tho...@schwinge.name> wrote: > commit e4ca7c575ff06479bb634cf64cd9abe36a25e3e8 > Author: Thomas Schwinge <tho...@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
pgpopDSFugBBc.pgp
Description: PGP signature