diff options
author | kib <kib@FreeBSD.org> | 2015-11-23 07:09:35 +0000 |
---|---|---|
committer | kib <kib@FreeBSD.org> | 2015-11-23 07:09:35 +0000 |
commit | e0c4faece4ce54570904909a5ede55c60f35fe5f (patch) | |
tree | 86f12545db0b9e76efce54eb215d79ed458d2be6 /lib/libc | |
parent | d427e0a9ba651eeab98ce6516fef233ea7041714 (diff) | |
download | FreeBSD-src-e0c4faece4ce54570904909a5ede55c60f35fe5f.zip FreeBSD-src-e0c4faece4ce54570904909a5ede55c60f35fe5f.tar.gz |
Split kerne timekeep ABI structure vdso_sv_tk out of the struct
sysentvec. This allows the timekeep data to be shared between similar
ABIs which cannot share sysentvec.
Make the timekeep_push_vdso() tick callback to the timekeep structures
instead of sysentvecs. If several sysentvec share the vdso_sv_tk
structure, we would update the userspace data several times on each
tick, without the change.
Only allocate vdso_sv_tk in the exec_sysvec_init() sysinit when
sysentvec is marked with the new SV_TIMEKEEP flag. This saves
allocation and update of unneeded vdso_sv_tk for ABIs which do not
provide userspace gettimeofday yet, which are PowerPCs arches right
now.
Make vdso_sv_tk allocator public, namely split out and export
alloc_sv_tk() and alloc_sv_tk_compat32(). ABIs which share timekeep
data now can allocate it manually and share as appropriate.
Requested by: nwhitehorn
Tested by: nwhitehorn, pho
Sponsored by: The FreeBSD Foundation
MFC after: 2 weeks
Diffstat (limited to 'lib/libc')
0 files changed, 0 insertions, 0 deletions