util: move os_time.[ch] to src/util

Reviewed-by: Marek Olšák <marek.olsak@amd.com>
This commit is contained in:
Nicolai Hähnle 2017-10-22 17:38:44 +02:00
parent f76a6cb337
commit 222a2fb998
57 changed files with 76 additions and 78 deletions

View file

@ -83,8 +83,6 @@ C_SOURCES := \
os/os_process.c \ os/os_process.c \
os/os_process.h \ os/os_process.h \
os/os_thread.h \ os/os_thread.h \
os/os_time.c \
os/os_time.h \
pipebuffer/pb_buffer_fenced.c \ pipebuffer/pb_buffer_fenced.c \
pipebuffer/pb_buffer_fenced.h \ pipebuffer/pb_buffer_fenced.h \
pipebuffer/pb_buffer.h \ pipebuffer/pb_buffer.h \

View file

@ -32,7 +32,7 @@
#include "util/u_debug.h" #include "util/u_debug.h"
#include "util/u_memory.h" #include "util/u_memory.h"
#include "util/simple_list.h" #include "util/simple_list.h"
#include "os/os_time.h" #include "util/os_time.h"
#include "lp_bld.h" #include "lp_bld.h"
#include "lp_bld_debug.h" #include "lp_bld_debug.h"
#include "lp_bld_misc.h" #include "lp_bld_misc.h"

View file

@ -29,7 +29,7 @@
*/ */
#include "hud/hud_private.h" #include "hud/hud_private.h"
#include "os/os_time.h" #include "util/os_time.h"
#include "os/os_thread.h" #include "os/os_thread.h"
#include "util/u_memory.h" #include "util/u_memory.h"
#include "util/u_queue.h" #include "util/u_queue.h"

View file

@ -35,7 +35,7 @@
#include "hud/hud_private.h" #include "hud/hud_private.h"
#include "util/list.h" #include "util/list.h"
#include "os/os_time.h" #include "util/os_time.h"
#include "os/os_thread.h" #include "os/os_thread.h"
#include "util/u_memory.h" #include "util/u_memory.h"
#include <stdio.h> #include <stdio.h>

View file

@ -34,7 +34,7 @@
#include "hud/hud_private.h" #include "hud/hud_private.h"
#include "util/list.h" #include "util/list.h"
#include "os/os_time.h" #include "util/os_time.h"
#include "os/os_thread.h" #include "os/os_thread.h"
#include "util/u_memory.h" #include "util/u_memory.h"
#include <stdio.h> #include <stdio.h>

View file

@ -33,7 +33,7 @@
#include "hud/hud_private.h" #include "hud/hud_private.h"
#include "pipe/p_screen.h" #include "pipe/p_screen.h"
#include "os/os_time.h" #include "util/os_time.h"
#include "util/u_math.h" #include "util/u_math.h"
#include "util/u_memory.h" #include "util/u_memory.h"
#include <stdio.h> #include <stdio.h>

View file

@ -29,7 +29,7 @@
*/ */
#include "hud/hud_private.h" #include "hud/hud_private.h"
#include "os/os_time.h" #include "util/os_time.h"
#include "util/u_memory.h" #include "util/u_memory.h"
struct fps_info { struct fps_info {

View file

@ -34,7 +34,7 @@
#include "hud/hud_private.h" #include "hud/hud_private.h"
#include "util/list.h" #include "util/list.h"
#include "os/os_time.h" #include "util/os_time.h"
#include "os/os_thread.h" #include "os/os_thread.h"
#include "util/u_memory.h" #include "util/u_memory.h"
#include <stdio.h> #include <stdio.h>

View file

@ -31,7 +31,7 @@
#include "hud/hud_private.h" #include "hud/hud_private.h"
#include "util/list.h" #include "util/list.h"
#include "os/os_time.h" #include "util/os_time.h"
#include "os/os_thread.h" #include "os/os_thread.h"
#include "util/u_memory.h" #include "util/u_memory.h"
#include <stdio.h> #include <stdio.h>

View file

@ -103,8 +103,6 @@ files_libgallium = files(
'os/os_process.c', 'os/os_process.c',
'os/os_process.h', 'os/os_process.h',
'os/os_thread.h', 'os/os_thread.h',
'os/os_time.c',
'os/os_time.h',
'pipebuffer/pb_buffer_fenced.c', 'pipebuffer/pb_buffer_fenced.c',
'pipebuffer/pb_buffer_fenced.h', 'pipebuffer/pb_buffer_fenced.h',
'pipebuffer/pb_buffer.h', 'pipebuffer/pb_buffer.h',

View file

@ -38,7 +38,7 @@
#include "pipe/p_config.h" #include "pipe/p_config.h"
#include "os/os_time.h" #include "util/os_time.h"
#include "pipe/p_compiler.h" #include "pipe/p_compiler.h"

View file

@ -35,7 +35,7 @@
#include "util/u_memory.h" #include "util/u_memory.h"
#include "tgsi/tgsi_parse.h" #include "tgsi/tgsi_parse.h"
#include "tgsi/tgsi_scan.h" #include "tgsi/tgsi_scan.h"
#include "os/os_time.h" #include "util/os_time.h"
#include <inttypes.h> #include <inttypes.h>

View file

@ -25,7 +25,7 @@
* Christian Gmeiner <christian.gmeiner@gmail.com> * Christian Gmeiner <christian.gmeiner@gmail.com>
*/ */
#include "os/os_time.h" #include "util/os_time.h"
#include "pipe/p_state.h" #include "pipe/p_state.h"
#include "util/u_memory.h" #include "util/u_memory.h"
#include "util/u_string.h" #include "util/u_string.h"

View file

@ -38,7 +38,7 @@
#include "etnaviv_resource.h" #include "etnaviv_resource.h"
#include "etnaviv_translate.h" #include "etnaviv_translate.h"
#include "os/os_time.h" #include "util/os_time.h"
#include "util/u_math.h" #include "util/u_math.h"
#include "util/u_memory.h" #include "util/u_memory.h"
#include "util/u_string.h" #include "util/u_string.h"

View file

@ -30,7 +30,7 @@
#include "util/u_string.h" #include "util/u_string.h"
#include "util/u_memory.h" #include "util/u_memory.h"
#include "util/u_inlines.h" #include "util/u_inlines.h"
#include "os/os_time.h" #include "util/os_time.h"
#include "freedreno_query_sw.h" #include "freedreno_query_sw.h"
#include "freedreno_context.h" #include "freedreno_context.h"

View file

@ -38,7 +38,7 @@
#include "util/u_string.h" #include "util/u_string.h"
#include "util/u_debug.h" #include "util/u_debug.h"
#include "os/os_time.h" #include "util/os_time.h"
#include <stdio.h> #include <stdio.h>
#include <errno.h> #include <errno.h>

View file

@ -33,7 +33,7 @@
#include "draw/draw_context.h" #include "draw/draw_context.h"
#include "pipe/p_defines.h" #include "pipe/p_defines.h"
#include "util/u_memory.h" #include "util/u_memory.h"
#include "os/os_time.h" #include "util/os_time.h"
#include "lp_context.h" #include "lp_context.h"
#include "lp_flush.h" #include "lp_flush.h"
#include "lp_fence.h" #include "lp_fence.h"

View file

@ -34,7 +34,7 @@
#include "util/u_string.h" #include "util/u_string.h"
#include "util/u_thread.h" #include "util/u_thread.h"
#include "os/os_time.h" #include "util/os_time.h"
#include "lp_scene_queue.h" #include "lp_scene_queue.h"
#include "lp_context.h" #include "lp_context.h"

View file

@ -38,7 +38,7 @@
#include "gallivm/lp_bld_type.h" #include "gallivm/lp_bld_type.h"
#include "os/os_misc.h" #include "os/os_misc.h"
#include "os/os_time.h" #include "util/os_time.h"
#include "lp_texture.h" #include "lp_texture.h"
#include "lp_fence.h" #include "lp_fence.h"
#include "lp_jit.h" #include "lp_jit.h"

View file

@ -41,7 +41,7 @@
#include "util/u_pack_color.h" #include "util/u_pack_color.h"
#include "util/u_viewport.h" #include "util/u_viewport.h"
#include "draw/draw_pipe.h" #include "draw/draw_pipe.h"
#include "os/os_time.h" #include "util/os_time.h"
#include "lp_context.h" #include "lp_context.h"
#include "lp_memory.h" #include "lp_memory.h"
#include "lp_scene.h" #include "lp_scene.h"

View file

@ -67,7 +67,7 @@
#include "util/u_string.h" #include "util/u_string.h"
#include "util/simple_list.h" #include "util/simple_list.h"
#include "util/u_dual_blend.h" #include "util/u_dual_blend.h"
#include "os/os_time.h" #include "util/os_time.h"
#include "pipe/p_shader_tokens.h" #include "pipe/p_shader_tokens.h"
#include "draw/draw_context.h" #include "draw/draw_context.h"
#include "tgsi/tgsi_dump.h" #include "tgsi/tgsi_dump.h"

View file

@ -29,7 +29,7 @@
#include "util/u_math.h" #include "util/u_math.h"
#include "util/u_memory.h" #include "util/u_memory.h"
#include "util/simple_list.h" #include "util/simple_list.h"
#include "os/os_time.h" #include "util/os_time.h"
#include "gallivm/lp_bld_arit.h" #include "gallivm/lp_bld_arit.h"
#include "gallivm/lp_bld_bitarit.h" #include "gallivm/lp_bld_bitarit.h"
#include "gallivm/lp_bld_const.h" #include "gallivm/lp_bld_const.h"

View file

@ -23,7 +23,7 @@
#include "nouveau_screen.h" #include "nouveau_screen.h"
#include "nouveau_winsys.h" #include "nouveau_winsys.h"
#include "nouveau_fence.h" #include "nouveau_fence.h"
#include "os/os_time.h" #include "util/os_time.h"
#ifdef PIPE_OS_UNIX #ifdef PIPE_OS_UNIX
#include <sched.h> #include <sched.h>

View file

@ -8,7 +8,7 @@
#include "util/u_format_s3tc.h" #include "util/u_format_s3tc.h"
#include "util/u_string.h" #include "util/u_string.h"
#include "os/os_time.h" #include "util/os_time.h"
#include <stdio.h> #include <stdio.h>
#include <errno.h> #include <errno.h>

View file

@ -26,7 +26,7 @@
#include "util/u_sampler.h" #include "util/u_sampler.h"
#include "util/simple_list.h" #include "util/simple_list.h"
#include "util/u_upload_mgr.h" #include "util/u_upload_mgr.h"
#include "os/os_time.h" #include "util/os_time.h"
#include "vl/vl_decoder.h" #include "vl/vl_decoder.h"
#include "vl/vl_video_buffer.h" #include "vl/vl_video_buffer.h"

View file

@ -27,7 +27,7 @@
#include "util/simple_list.h" #include "util/simple_list.h"
#include "util/u_upload_mgr.h" #include "util/u_upload_mgr.h"
#include "os/os_time.h" #include "util/os_time.h"
#include "r300_context.h" #include "r300_context.h"
#include "r300_cs.h" #include "r300_cs.h"

View file

@ -24,7 +24,7 @@
#include "util/u_format.h" #include "util/u_format.h"
#include "util/u_format_s3tc.h" #include "util/u_format_s3tc.h"
#include "util/u_memory.h" #include "util/u_memory.h"
#include "os/os_time.h" #include "util/os_time.h"
#include "vl/vl_decoder.h" #include "vl/vl_decoder.h"
#include "vl/vl_video_buffer.h" #include "vl/vl_video_buffer.h"

View file

@ -36,7 +36,7 @@
#include "r600_pipe_common.h" #include "r600_pipe_common.h"
#include "r600_query.h" #include "r600_query.h"
#include "os/os_time.h" #include "util/os_time.h"
/* For good accuracy at 1000 fps or lower. This will be inaccurate for higher /* For good accuracy at 1000 fps or lower. This will be inaccurate for higher
* fps (there are too few samples per frame). */ * fps (there are too few samples per frame). */

View file

@ -39,7 +39,7 @@
#include "vl/vl_video_buffer.h" #include "vl/vl_video_buffer.h"
#include "radeon_video.h" #include "radeon_video.h"
#include "radeon_uvd.h" #include "radeon_uvd.h"
#include "os/os_time.h" #include "util/os_time.h"
static const struct debug_named_value r600_debug_options[] = { static const struct debug_named_value r600_debug_options[] = {
/* features */ /* features */

View file

@ -32,7 +32,7 @@
#include "util/u_memory.h" #include "util/u_memory.h"
#include "util/u_format_s3tc.h" #include "util/u_format_s3tc.h"
#include "util/u_upload_mgr.h" #include "util/u_upload_mgr.h"
#include "os/os_time.h" #include "util/os_time.h"
#include "vl/vl_decoder.h" #include "vl/vl_decoder.h"
#include "vl/vl_video_buffer.h" #include "vl/vl_video_buffer.h"
#include "radeon_video.h" #include "radeon_video.h"

View file

@ -27,7 +27,7 @@
#include "r600_cs.h" #include "r600_cs.h"
#include "util/u_memory.h" #include "util/u_memory.h"
#include "util/u_upload_mgr.h" #include "util/u_upload_mgr.h"
#include "os/os_time.h" #include "util/os_time.h"
#include "tgsi/tgsi_text.h" #include "tgsi/tgsi_text.h"
#define R600_MAX_STREAMS 4 #define R600_MAX_STREAMS 4

View file

@ -32,7 +32,7 @@
#include "util/u_memory.h" #include "util/u_memory.h"
#include "util/u_pack_color.h" #include "util/u_pack_color.h"
#include "util/u_surface.h" #include "util/u_surface.h"
#include "os/os_time.h" #include "util/os_time.h"
#include <errno.h> #include <errno.h>
#include <inttypes.h> #include <inttypes.h>

View file

@ -26,7 +26,7 @@
#define SB_RA_SCHED_CHECK DEBUG #define SB_RA_SCHED_CHECK DEBUG
#include "os/os_time.h" #include "util/os_time.h"
#include "r600_pipe.h" #include "r600_pipe.h"
#include "r600_shader.h" #include "r600_shader.h"

View file

@ -33,7 +33,7 @@
#include "r600_pipe_common.h" #include "r600_pipe_common.h"
#include "r600_query.h" #include "r600_query.h"
#include "os/os_time.h" #include "util/os_time.h"
/* For good accuracy at 1000 fps or lower. This will be inaccurate for higher /* For good accuracy at 1000 fps or lower. This will be inaccurate for higher
* fps (there are too few samples per frame). */ * fps (there are too few samples per frame). */

View file

@ -29,7 +29,7 @@
#include "util/u_memory.h" #include "util/u_memory.h"
#include "util/u_format_s3tc.h" #include "util/u_format_s3tc.h"
#include "util/u_upload_mgr.h" #include "util/u_upload_mgr.h"
#include "os/os_time.h" #include "util/os_time.h"
#include "vl/vl_decoder.h" #include "vl/vl_decoder.h"
#include "vl/vl_video_buffer.h" #include "vl/vl_video_buffer.h"
#include "radeon/radeon_video.h" #include "radeon/radeon_video.h"

View file

@ -26,7 +26,7 @@
#include "r600_cs.h" #include "r600_cs.h"
#include "util/u_memory.h" #include "util/u_memory.h"
#include "util/u_upload_mgr.h" #include "util/u_upload_mgr.h"
#include "os/os_time.h" #include "util/os_time.h"
#include "tgsi/tgsi_text.h" #include "tgsi/tgsi_text.h"
#include "amd/common/sid.h" #include "amd/common/sid.h"

View file

@ -28,7 +28,7 @@
#include "util/u_memory.h" #include "util/u_memory.h"
#include "util/u_pack_color.h" #include "util/u_pack_color.h"
#include "util/u_surface.h" #include "util/u_surface.h"
#include "os/os_time.h" #include "util/os_time.h"
#include <errno.h> #include <errno.h>
#include <inttypes.h> #include <inttypes.h>
#include "state_tracker/drm_driver.h" #include "state_tracker/drm_driver.h"

View file

@ -33,7 +33,7 @@
#include "util/u_memory.h" #include "util/u_memory.h"
#include "util/simple_list.h" #include "util/simple_list.h"
#include "util/u_network.h" #include "util/u_network.h"
#include "os/os_time.h" #include "util/os_time.h"
#include "tgsi/tgsi_parse.h" #include "tgsi/tgsi_parse.h"

View file

@ -30,7 +30,7 @@
*/ */
#include "draw/draw_context.h" #include "draw/draw_context.h"
#include "os/os_time.h" #include "util/os_time.h"
#include "pipe/p_defines.h" #include "pipe/p_defines.h"
#include "util/u_memory.h" #include "util/u_memory.h"
#include "sp_context.h" #include "sp_context.h"

View file

@ -31,7 +31,7 @@
#include "util/u_format_s3tc.h" #include "util/u_format_s3tc.h"
#include "util/u_video.h" #include "util/u_video.h"
#include "os/os_misc.h" #include "os/os_misc.h"
#include "os/os_time.h" #include "util/os_time.h"
#include "pipe/p_defines.h" #include "pipe/p_defines.h"
#include "pipe/p_screen.h" #include "pipe/p_screen.h"
#include "draw/draw_context.h" #include "draw/draw_context.h"

View file

@ -31,7 +31,7 @@
#include "pipe/p_defines.h" #include "pipe/p_defines.h"
#include "pipe/p_state.h" #include "pipe/p_state.h"
#include "os/os_time.h" #include "util/os_time.h"
#include "util/u_blitter.h" #include "util/u_blitter.h"
#include "util/list.h" #include "util/list.h"

View file

@ -23,7 +23,7 @@
#include "pipe/p_screen.h" #include "pipe/p_screen.h"
#include "util/u_memory.h" #include "util/u_memory.h"
#include "os/os_time.h" #include "util/os_time.h"
#include "swr_context.h" #include "swr_context.h"
#include "swr_screen.h" #include "swr_screen.h"

View file

@ -23,7 +23,7 @@
#include "pipe/p_defines.h" #include "pipe/p_defines.h"
#include "util/u_memory.h" #include "util/u_memory.h"
#include "os/os_time.h" #include "util/os_time.h"
#include "swr_context.h" #include "swr_context.h"
#include "swr_fence.h" #include "swr_fence.h"
#include "swr_query.h" #include "swr_query.h"

View file

@ -45,7 +45,7 @@
#include "pipe/p_compiler.h" #include "pipe/p_compiler.h"
#include "os/os_thread.h" #include "os/os_thread.h"
#include "os/os_time.h" #include "util/os_time.h"
#include "util/u_debug.h" #include "util/u_debug.h"
#include "util/u_memory.h" #include "util/u_memory.h"
#include "util/u_string.h" #include "util/u_string.h"

View file

@ -24,7 +24,7 @@
#include "util/u_format.h" #include "util/u_format.h"
#include "util/u_format_s3tc.h" #include "util/u_format_s3tc.h"
#include "util/u_video.h" #include "util/u_video.h"
#include "os/os_time.h" #include "util/os_time.h"
#include "pipe/p_defines.h" #include "pipe/p_defines.h"
#include "pipe/p_screen.h" #include "pipe/p_screen.h"

View file

@ -30,7 +30,7 @@
#include "pipe/p_screen.h" #include "pipe/p_screen.h"
#include "util/u_memory.h" #include "util/u_memory.h"
#include "hud/hud_context.h" #include "hud/hud_context.h"
#include "os/os_time.h" #include "util/os_time.h"
#include "state_tracker/st_api.h" #include "state_tracker/st_api.h"
#include "stw_icd.h" #include "stw_icd.h"

View file

@ -36,8 +36,9 @@
#include <stdio.h> #include <stdio.h>
#include <stdlib.h> #include <stdlib.h>
#include <string.h>
#include "os/os_time.h" #include "util/os_time.h"
#include "util/u_atomic.h" #include "util/u_atomic.h"
#include "util/u_thread.h" #include "util/u_thread.h"

View file

@ -27,7 +27,7 @@
#include "amdgpu_cs.h" #include "amdgpu_cs.h"
#include "os/os_time.h" #include "util/os_time.h"
#include "state_tracker/drm_driver.h" #include "state_tracker/drm_driver.h"
#include <amdgpu_drm.h> #include <amdgpu_drm.h>
#include <xf86drm.h> #include <xf86drm.h>

View file

@ -27,7 +27,8 @@
*/ */
#include "amdgpu_cs.h" #include "amdgpu_cs.h"
#include "os/os_time.h" #include "util/os_time.h"
#include <inttypes.h>
#include <stdio.h> #include <stdio.h>
#include "amd/common/sid.h" #include "amd/common/sid.h"

View file

@ -31,7 +31,7 @@
#include "util/simple_list.h" #include "util/simple_list.h"
#include "os/os_thread.h" #include "os/os_thread.h"
#include "os/os_mman.h" #include "os/os_mman.h"
#include "os/os_time.h" #include "util/os_time.h"
#include "state_tracker/drm_driver.h" #include "state_tracker/drm_driver.h"

View file

@ -56,7 +56,7 @@
#include "radeon_drm_cs.h" #include "radeon_drm_cs.h"
#include "util/u_memory.h" #include "util/u_memory.h"
#include "os/os_time.h" #include "util/os_time.h"
#include <stdio.h> #include <stdio.h>
#include <stdlib.h> #include <stdlib.h>

View file

@ -28,7 +28,7 @@
#include <sys/stat.h> #include <sys/stat.h>
#include "os/os_mman.h" #include "os/os_mman.h"
#include "os/os_time.h" #include "util/os_time.h"
#include "util/u_memory.h" #include "util/u_memory.h"
#include "util/u_format.h" #include "util/u_format.h"
#include "util/u_hash_table.h" #include "util/u_hash_table.h"

View file

@ -24,7 +24,7 @@
#include "util/u_memory.h" #include "util/u_memory.h"
#include "util/u_format.h" #include "util/u_format.h"
#include "util/u_inlines.h" #include "util/u_inlines.h"
#include "os/os_time.h" #include "util/os_time.h"
#include "state_tracker/sw_winsys.h" #include "state_tracker/sw_winsys.h"
#include "virgl_vtest_winsys.h" #include "virgl_vtest_winsys.h"

View file

@ -22,6 +22,8 @@ MESA_UTIL_FILES := \
macros.h \ macros.h \
mesa-sha1.c \ mesa-sha1.c \
mesa-sha1.h \ mesa-sha1.h \
os_time.c \
os_time.h \
sha1/sha1.c \ sha1/sha1.c \
sha1/sha1.h \ sha1/sha1.h \
ralloc.c \ ralloc.c \

View file

@ -46,6 +46,8 @@ files_mesa_util = files(
'macros.h', 'macros.h',
'mesa-sha1.c', 'mesa-sha1.c',
'mesa-sha1.h', 'mesa-sha1.h',
'os_time.c',
'os_time.h',
'sha1/sha1.c', 'sha1/sha1.c',
'sha1/sha1.h', 'sha1/sha1.h',
'ralloc.c', 'ralloc.c',

View file

@ -32,8 +32,11 @@
* @author Jose Fonseca <jfonseca@vmware.com> * @author Jose Fonseca <jfonseca@vmware.com>
*/ */
#include "os_time.h"
/* TODO: fix this dependency */
#include "gallium/include/pipe/p_config.h"
#include "pipe/p_defines.h"
#include "util/u_atomic.h" #include "util/u_atomic.h"
#if defined(PIPE_OS_UNIX) #if defined(PIPE_OS_UNIX)
@ -47,8 +50,6 @@
# error Unsupported OS # error Unsupported OS
#endif #endif
#include "os_time.h"
int64_t int64_t
os_time_get_nano(void) os_time_get_nano(void)
@ -121,15 +122,15 @@ os_time_get_absolute_timeout(uint64_t timeout)
int64_t time, abs_timeout; int64_t time, abs_timeout;
/* Also check for the type upper bound. */ /* Also check for the type upper bound. */
if (timeout == PIPE_TIMEOUT_INFINITE || timeout > INT64_MAX) if (timeout == OS_TIMEOUT_INFINITE || timeout > INT64_MAX)
return PIPE_TIMEOUT_INFINITE; return OS_TIMEOUT_INFINITE;
time = os_time_get_nano(); time = os_time_get_nano();
abs_timeout = time + (int64_t)timeout; abs_timeout = time + (int64_t)timeout;
/* Check for overflow. */ /* Check for overflow. */
if (abs_timeout < time) if (abs_timeout < time)
return PIPE_TIMEOUT_INFINITE; return OS_TIMEOUT_INFINITE;
return abs_timeout; return abs_timeout;
} }
@ -144,7 +145,7 @@ os_wait_until_zero(volatile int *var, uint64_t timeout)
if (!timeout) if (!timeout)
return false; return false;
if (timeout == PIPE_TIMEOUT_INFINITE) { if (timeout == OS_TIMEOUT_INFINITE) {
while (p_atomic_read(var)) { while (p_atomic_read(var)) {
#if defined(PIPE_OS_UNIX) #if defined(PIPE_OS_UNIX)
sched_yield(); sched_yield();
@ -175,8 +176,8 @@ os_wait_until_zero_abs_timeout(volatile int *var, int64_t timeout)
if (!p_atomic_read(var)) if (!p_atomic_read(var))
return true; return true;
if (timeout == PIPE_TIMEOUT_INFINITE) if (timeout == OS_TIMEOUT_INFINITE)
return os_wait_until_zero(var, PIPE_TIMEOUT_INFINITE); return os_wait_until_zero(var, OS_TIMEOUT_INFINITE);
while (p_atomic_read(var)) { while (p_atomic_read(var)) {
if (os_time_get_nano() >= timeout) if (os_time_get_nano() >= timeout)

View file

@ -35,20 +35,15 @@
#ifndef _OS_TIME_H_ #ifndef _OS_TIME_H_
#define _OS_TIME_H_ #define _OS_TIME_H_
#include <stdbool.h>
#include "pipe/p_config.h" #include <stdint.h>
#if defined(PIPE_OS_UNIX)
# include <unistd.h> /* usleep */
#endif
#include "pipe/p_compiler.h"
#ifdef __cplusplus #ifdef __cplusplus
extern "C" { extern "C" {
#endif #endif
/* must be equal to PIPE_TIMEOUT_INFINITE */
#define OS_TIMEOUT_INFINITE 0xffffffffffffffffull
/* /*
* Get the current time in nanoseconds from an unknown base. * Get the current time in nanoseconds from an unknown base.
@ -79,7 +74,7 @@ os_time_sleep(int64_t usecs);
* *
* Returns true if the current time has elapsed beyond the specified interval. * Returns true if the current time has elapsed beyond the specified interval.
*/ */
static inline boolean static inline bool
os_time_timeout(int64_t start, os_time_timeout(int64_t start,
int64_t end, int64_t end,
int64_t curr) int64_t curr)
@ -95,8 +90,8 @@ os_time_timeout(int64_t start,
* Convert a relative timeout in nanoseconds into an absolute timeout, * Convert a relative timeout in nanoseconds into an absolute timeout,
* in other words, it returns current time + timeout. * in other words, it returns current time + timeout.
* os_time_get_nano() must be monotonic. * os_time_get_nano() must be monotonic.
* PIPE_TIMEOUT_INFINITE is passed through unchanged. If the calculation * OS_TIMEOUT_INFINITE is passed through unchanged. If the calculation
* overflows, PIPE_TIMEOUT_INFINITE is returned. * overflows, OS_TIMEOUT_INFINITE is returned.
*/ */
int64_t int64_t
os_time_get_absolute_timeout(uint64_t timeout); os_time_get_absolute_timeout(uint64_t timeout);
@ -107,7 +102,7 @@ os_time_get_absolute_timeout(uint64_t timeout);
* *
* \param var variable * \param var variable
* \param timeout timeout in ns, can be anything from 0 (no wait) to * \param timeout timeout in ns, can be anything from 0 (no wait) to
* PIPE_TIME_INFINITE (wait forever) * OS_TIMEOUT_INFINITE (wait forever)
* \return true if the variable is zero * \return true if the variable is zero
*/ */
bool bool
@ -118,7 +113,7 @@ os_wait_until_zero(volatile int *var, uint64_t timeout);
* Wait until the variable at the given memory location is zero. * Wait until the variable at the given memory location is zero.
* The timeout is the absolute time when the waiting should stop. If it is * The timeout is the absolute time when the waiting should stop. If it is
* less than or equal to the current time, it only returns the status and * less than or equal to the current time, it only returns the status and
* doesn't wait. PIPE_TIME_INFINITE waits forever. This requires that * doesn't wait. OS_TIMEOUT_INFINITE waits forever. This requires that
* os_time_get_nano is monotonic. * os_time_get_nano is monotonic.
* *
* \param var variable * \param var variable