Add detection of ktime_get_real_ts64 vs getnstimeofday

Signed-off-by: Kozlowski Mateusz <mateusz.kozlowski@intel.com>
This commit is contained in:
Kozlowski Mateusz 2021-03-26 12:57:28 +01:00
parent 584ef99143
commit ab0a7e0a44
3 changed files with 35 additions and 4 deletions

View File

@ -0,0 +1,31 @@
#!/bin/bash
#
# Copyright(c) 2012-2021 Intel Corporation
# SPDX-License-Identifier: BSD-3-Clause-Clear
#
. $(dirname $3)/conf_framework
check() {
cur_name=$(basename $2)
config_file_path=$1
if compile_module $cur_name "ktime_get_real_ts64(NULL)" "linux/ktime.h"
then
echo $cur_name "1" >> $config_file_path
else
echo $cur_name "2" >> $config_file_path
fi
}
apply() {
case "$1" in
"1")
add_define "CAS_GET_CURRENT_TIME(timespec) ktime_get_real_ts64(timespec)" ;;
"2")
add_define "CAS_GET_CURRENT_TIME(timespec) getnstimeofday(timespec)" ;;
*)
exit 1
esac
}
conf_run $@

View File

@ -39,7 +39,7 @@
#include <linux/ratelimit.h>
#include <linux/mm.h>
#include <linux/blk-mq.h>
#include <linux/time.h>
#include <linux/ktime.h>
#include "generated_defines.h"

View File

@ -533,14 +533,14 @@ static inline void env_cond_resched(void)
static inline int env_in_interrupt(void)
{
return in_interrupt();;
return in_interrupt();
}
/* *** TIME *** */
static inline uint64_t env_get_tick_count(void)
{
struct timespec ts;
getnstimeofday(&ts);
struct timespec64 ts;
CAS_GET_CURRENT_TIME(&ts);
return ts.tv_sec * 1000000000UL + ts.tv_nsec;
}