Add lib/getrusage.c

Abstract out the SELF/THREAD complication.

Signed-off-by: Jens Axboe <axboe@kernel.dk>
diff --git a/lib/getrusage.c b/lib/getrusage.c
new file mode 100644
index 0000000..96dcf6d
--- /dev/null
+++ b/lib/getrusage.c
@@ -0,0 +1,14 @@
+#include <errno.h>
+#include "getrusage.h"
+
+int fio_getrusage(struct rusage *ru)
+{
+#ifdef CONFIG_RUSAGE_THREAD
+	if (!getrusage(RUSAGE_THREAD, ru))
+		return 0;
+	if (errno != EINVAL)
+		return -1;
+	/* Fall through to RUSAGE_SELF */
+#endif
+	return getrusage(RUSAGE_SELF, ru);
+}