futexwait: Add futexwait benchmark

This completes the overall mmtests coverage for futexes and ipc.
It adds Darren Hart's futextest suite, but only makes use of the
futex_wait benchmark (other tests are functional, not oriented
towards performance), originally from Michel Lespinasse.

Overall, the workload differs to what we are currently testing in
mmtests in that (1) futex_wait is a higher level workload, more
like what futex users need to build their own locking primitives,
and (2) it explicitly makes use of the wait operation -- for futexbench
we do this with the requeue operation. Because of (1) this can also
serve to determine if performance issues presented at a lower (kernel)
level by futexbench is worth looking into if not seen higher up in the
stack with futexwait.

Also create a new 'futex' workload config file for both futexbench and
futexwait. Scale by CPU similar to other futex workloads.

Note that this workload requires several iterations (at least 5 on
my laptop) in order to get steady results (lower than 3%), otherwise
there is just too much variance from run to run.

Signed-off-by: Davidlohr Bueso <dbueso@suse.de>
Signed-off-by: Mel Gorman <mgorman@suse.de>
futexwait: Reconcile shellpack_src template with shellpacks/

Signed-off-by: Mel Gorman <mgorman@suse.de>