Re: related to fixing depreciated api

From: Shuah Khan
Date: Tue Dec 15 2020 - 11:13:26 EST


On 12/14/20 9:42 AM, Jeffrin Jose T wrote:
hello,

i have worked on to fix depreciated api issue from
tools/testing/selftests/intel_pstate/aerf.c

i met with the following error related...

--------------x------------------x----------------->
$pwd
/home/jeffrin/UP/linux-kselftest/tools/testing/selftests/intel_pstate
$make
gcc -Wall -D_GNU_SOURCE aperf.c /home/jeffrin/UP/linux-
kselftest/tools/testing/selftests/kselftest_harness.h
/home/jeffrin/UP/linux-kselftest/tools/testing/selftests/kselftest.h -
lm -o /home/jeffrin/UP/linux-
kselftest/tools/testing/selftests/intel_pstate/aperf
aperf.c: In function ‘main’:
aperf.c:58:2: warning: ‘ftime’ is deprecated [-Wdeprecated-
declarations]
58 | ftime(&before);
| ^~~~~
In file included from aperf.c:9:
/usr/include/x86_64-linux-gnu/sys/timeb.h:39:12: note: declared here
39 | extern int ftime (struct timeb *__timebuf)
| ^~~~~
aperf.c:67:2: warning: ‘ftime’ is deprecated [-Wdeprecated-
declarations]
67 | ftime(&after);
| ^~~~~
In file included from aperf.c:9:
/usr/include/x86_64-linux-gnu/sys/timeb.h:39:12: note: declared here
39 | extern int ftime (struct timeb *__timebuf)
| ^~~~~
$
----------------x---------------x---------------------->


from ftime manual i found that it is depreciated...

This function is deprecated, and will be removed in a future version
of the GNU C library. Use clock_gettime(2) instead.


now clock_gettime gives new data structure.

struct timespec {
time_t tv_sec; /* seconds */
long tv_nsec; /* nanoseconds */
};


i worked on with the new data structure and some errors that came
along.
typical final output looks good but values of runtime and typical
frequency
does not look normal during "sudo bash run.sh".

output of "git diff" and a portion of output of "sudo bash run.sh".
is attached.


Please send a proper patch to fix intel_pstate to use clock_gettime.

thanks,
-- Shuah