Re: related to fixing depreciated api
On Tue, 2020-12-15 at 12:52 -0700, Shuah Khan wrote: > On 12/15/20 9:12 AM, Shuah Khan wrote: > > 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(); > > > | ^ > > > 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(); > > > | ^ > > > 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. > > > > The fix for this is already in next - no need to send patch. > > thanks, > -- Shuah > anyway thanks . -- software engineer rajagiri school of engineering and technology - autonomous
Re: related to fixing depreciated api
On 12/15/20 9:12 AM, Shuah Khan wrote: 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(); | ^ 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(); | ^ 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. The fix for this is already in next - no need to send patch. thanks, -- Shuah
Re: related to fixing depreciated api
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_SOURCEaperf.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(); | ^ 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(); | ^ 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
[WARNING ]Re: related to fixing depreciated api
On Mon, Dec 14, 2020 at 10:12 PM 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_SOURCEaperf.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(); > | ^ > 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(); > | ^ > 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. > > > > -- > software engineer > rajagiri school of engineering and technology - autonomous > > -- software engineer rajagiri school of engineering and technology diff --git a/tools/testing/selftests/intel_pstate/aperf.c b/tools/testing/selftests/intel_pstate/aperf.c index f6cd03a87493..7e35e7872f16 100644 --- a/tools/testing/selftests/intel_pstate/aperf.c +++ b/tools/testing/selftests/intel_pstate/aperf.c @@ -6,7 +6,7 @@ #include #include #include -#include +#include #include #include #include @@ -22,10 +22,12 @@ int main(int argc, char **argv) { long long tsc, old_tsc, new_tsc; long long aperf, old_aperf, new_aperf; long long mperf, old_mperf, new_mperf; - struct timeb before, after; + struct timespec before, after; +clockid_t clkid; long long int start, finish, total; cpu_set_t cpuset; + if (argc != 2) { usage(argv[0]); return 1; @@ -41,6 +43,10 @@ int main(int argc, char **argv) { sprintf(msr_file_name, "/dev/cpu/%d/msr", cpu); fd = open(msr_file_name, O_RDONLY); +#define CLOCKFD 3 +#define FD_TO_CLOCKID(fd) ((~(clockid_t) (fd) << 3) | CLOCKFD) +clkid = FD_TO_CLOCKID(fd); + if (fd == -1) { printf("/dev/cpu/%d/msr: %s\n", cpu, strerror(errno)); @@ -55,7 +61,7 @@ int main(int argc, char **argv) { return 1; } - ftime(); + clock_gettime(clkid,); pread(fd, _tsc, sizeof(old_tsc), 0x10); pread(fd, _aperf, sizeof(old_mperf), 0xe7); pread(fd, _mperf, sizeof(old_aperf), 0xe8); @@ -64,7 +70,7 @@ int main(int argc, char **argv) { sqrt(i); } - ftime(); + clock_gettime(clkid,); pread(fd, _tsc, sizeof(new_tsc), 0x10); pread(fd, _aperf, sizeof(new_mperf), 0xe7); pread(fd, _mperf, sizeof(new_aperf), 0xe8); @@ -73,11 +79,10 @@ int main(int argc, char **argv) { aperf = new_aperf-old_aperf; mperf = new_mperf-old_mperf; - start = before.time*1000 + before.millitm; - finish = after.time*1000 + after.millitm; - total = finish - start; - - printf("runTime: %4.2f\n", 1.0*total/1000); - printf("freq: %7.0f\n", tsc / (1.0*aperf / (1.0 * mperf)) / total); + start = before.tv_sec*100 + before.tv_nsec; + finish = after.tv_sec*100 + after.tv_nsec; + total = finish - start; + printf("runTime: %4.2f\n", 1.0*total/100); + printf("freq: %7.0f\n", tsc / (1.0 * aperf /1.0 * (mperf)) / total); return 0; } Setting maximum frequency to 500 launching aperf load on 0 launching aperf load on 1 launching aperf load on 2 launching aperf load on 3 sleeping for 5 seconds waiting for job id 7521 runTime: 0.00 freq: inf runTime: 0.00 freq: inf runTime: 0.00 freq: inf runTime: 0.00 freq: inf waiting for job id 7522 waiting for job
related to fixing depreciated api
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_SOURCEaperf.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(); | ^ 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(); | ^ 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. -- software engineer rajagiri school of engineering and technology - autonomous diff --git a/tools/testing/selftests/intel_pstate/aperf.c b/tools/testing/selftests/intel_pstate/aperf.c index f6cd03a87493..7e35e7872f16 100644 --- a/tools/testing/selftests/intel_pstate/aperf.c +++ b/tools/testing/selftests/intel_pstate/aperf.c @@ -6,7 +6,7 @@ #include #include #include -#include +#include #include #include #include @@ -22,10 +22,12 @@ int main(int argc, char **argv) { long long tsc, old_tsc, new_tsc; long long aperf, old_aperf, new_aperf; long long mperf, old_mperf, new_mperf; - struct timeb before, after; + struct timespec before, after; +clockid_t clkid; long long int start, finish, total; cpu_set_t cpuset; + if (argc != 2) { usage(argv[0]); return 1; @@ -41,6 +43,10 @@ int main(int argc, char **argv) { sprintf(msr_file_name, "/dev/cpu/%d/msr", cpu); fd = open(msr_file_name, O_RDONLY); +#define CLOCKFD 3 +#define FD_TO_CLOCKID(fd) ((~(clockid_t) (fd) << 3) | CLOCKFD) +clkid = FD_TO_CLOCKID(fd); + if (fd == -1) { printf("/dev/cpu/%d/msr: %s\n", cpu, strerror(errno)); @@ -55,7 +61,7 @@ int main(int argc, char **argv) { return 1; } - ftime(); + clock_gettime(clkid,); pread(fd, _tsc, sizeof(old_tsc), 0x10); pread(fd, _aperf, sizeof(old_mperf), 0xe7); pread(fd, _mperf, sizeof(old_aperf), 0xe8); @@ -64,7 +70,7 @@ int main(int argc, char **argv) { sqrt(i); } - ftime(); + clock_gettime(clkid,); pread(fd, _tsc, sizeof(new_tsc), 0x10); pread(fd, _aperf, sizeof(new_mperf), 0xe7); pread(fd, _mperf, sizeof(new_aperf), 0xe8); @@ -73,11 +79,10 @@ int main(int argc, char **argv) { aperf = new_aperf-old_aperf; mperf = new_mperf-old_mperf; - start = before.time*1000 + before.millitm; - finish = after.time*1000 + after.millitm; - total = finish - start; - - printf("runTime: %4.2f\n", 1.0*total/1000); - printf("freq: %7.0f\n", tsc / (1.0*aperf / (1.0 * mperf)) / total); + start = before.tv_sec*100 + before.tv_nsec; + finish = after.tv_sec*100 + after.tv_nsec; + total = finish - start; + printf("runTime: %4.2f\n", 1.0*total/100); + printf("freq: %7.0f\n", tsc / (1.0 * aperf /1.0 * (mperf)) / total); return 0; } Setting maximum frequency to 500 launching aperf load on 0 launching aperf load on 1 launching aperf load on 2 launching aperf load on 3 sleeping for 5 seconds waiting for job id 7521 runTime: 0.00 freq: inf runTime: 0.00 freq: inf runTime: 0.00 freq: inf runTime: 0.00 freq: inf waiting for job id 7522 waiting for job id 7523 waiting for job id 7524 Setting maximum frequency to 400 launching aperf load on 0 launching aperf load on 1 launching aperf load on 2 launching aperf load on 3 sleeping for 5 seconds waiting for job id 7540 runTime: 0.00 freq: inf