akopytov / sysbench

Scriptable database and system performance benchmark
GNU General Public License v2.0
6.02k stars 1.08k forks source link

support for powerpc architecture #129

Open Pintu79 opened 7 years ago

Pintu79 commented 7 years ago

I tried to build it on my machine which is powerpc 64 bit little endian. I have ubuntu 16.04 OS. I got the following error- #error "No support for PowerPC 64 bit mode". I also tried with replacing the luajit lib folder with downloading the current one from github, but i am not succesful to build it. Is some extra steps required to build it on power pc architecture or is it missing the feature for powerpc

akopytov commented 7 years ago

Yes, unfortunately upstream LuaJIT has no support for PPC64 at the moment. Can you try replacing bundled LuaJIT with https://github.com/PPC64/LuaJIT? If it is functional, I will at least make sure to document it as an option. Thanks.

Pintu79 commented 7 years ago

replacing with this LuaJIT link, sysbench is working for me. below is the snapshot. ci@t2ctl:~/sysbench.install/bin$ ./sysbench --test=cpu --num-threads=80 --cpu-max-prime=500000 run WARNING: the --test option is deprecated. You can pass a script name or path on the command line without any options. WARNING: --num-threads is deprecated, use --threads instead sysbench 1.1.0-ec17d39 (using bundled LuaJIT 2.1.0-beta2)

Running the test with following options: Number of threads: 80 Initializing random number generator from current time

Prime numbers limit: 500000

Initializing worker threads...

Threads started!

General statistics: total time: 10.2605s total number of events: 1877

Latency (ms): min: 97.36 avg: 429.66 max: 1074.42 95th percentile: 694.45 sum: 806473.70

Threads fairness: events (avg/stddev): 23.4625/3.77 execution time (avg/stddev): 10.0809/0.10 many thanks akopytov

akopytov commented 7 years ago

@Pintu79 may I ask you to run 'make test' on your machine as well to make sure Lua API is functional?

Pintu79 commented 7 years ago

I have run the test, but one of the test case is failed. So, is it necessary to pass all the test cases. I run the sysbench for mysql workload also. It was running smoothly. I run it with oltp-read-only.lua and oltp-write-only.lua. It was running good. So, should I believe the result what i get after run. below is the snapshot of make test - ci@t2ctl:~/sysbench$ make test cd tests && make test make[1]: Entering directory '/home/ci/sysbench/tests' ./test_run.sh t/1st.t: passed t/api_basic.t: passed t/api_histogram.t: passed t/api_legacy_basic.t: skipped t/api_legacy_rand.t: passed t/api_legacy_sql.t: skipped t/api_rand.t: passed t/api_reports.t: passed t/api_sql_mysql.t: skipped t/api_sql_pgsql.t: skipped t/cmd_cleanup.t: passed t/cmd_help.t: passed t/cmdline.t: passed t/cmd_prepare.t: passed t/cmd_run.t: passed t/commands.t: passed t/drivers.t: passed t/drv_mysql.t: skipped t/drv_pgsql.t: skipped t/help_drv_mysql.t: passed t/help_drv_pgsql.t: skipped t/opt_help.t: passed t/opt_histogram.t: passed t/opt_luajit_cmd.t: failed --- t/opt_luajit_cmd.t +++ t/opt_luajit_cmd.t.err @@ -8,7 +8,7 @@ $ sysbench --luajit-cmd opt_luajit_cmd.lua sysbench * (glob)

akopytov commented 7 years ago

Thanks, that failure is expected. I'll see what can be done to support PPC64 out of the box.

akopytov commented 6 years ago

I think I can fix PPC64 at least partially, but I need access to a ppc64le machine. I'm also happy to accept patches.