]> git.proxmox.com Git - mirror_zfs-debian.git/blame - scripts/profile-kpios-pre.sh
Removed build system from master branch, will relocate to linux-zfs-branch
[mirror_zfs-debian.git] / scripts / profile-kpios-pre.sh
CommitLineData
34dc7c2f
BB
1#!/bin/bash
2# profile-kpios-pre.sh
3
4trap "PROFILE_KPIOS_READY=1" SIGHUP
5
6RUN_PRE=${0}
7RUN_PHASE=${1}
8RUN_LOG_DIR=${2}
9RUN_ID=${3}
10RUN_POOL=${4}
11RUN_CHUNK_SIZE=${5}
12RUN_REGION_SIZE=${6}
13RUN_THREAD_COUNT=${7}
14RUN_REGION_COUNT=${8}
15RUN_OFFSET=${9}
16RUN_REGION_NOISE=${10}
17RUN_CHUNK_NOISE=${11}
18RUN_THREAD_DELAY=${12}
19RUN_FLAGS=${13}
20RUN_RESULT=${14}
21
22PROFILE_KPIOS_BIN=/home/behlendo/src/zfs/scripts/profile-kpios.sh
23PROFILE_KPIOS_READY=0
24
25OPROFILE_LOG=${RUN_LOG_DIR}/${RUN_ID}/oprofile.txt
26PROFILE_PID=${RUN_LOG_DIR}/${RUN_ID}/pid
27RUN_ARGS=${RUN_LOG_DIR}/${RUN_ID}/args
28
29if [ "${RUN_PHASE}" != "pre" ]; then
30 exit 1
31fi
32
33rm -Rf ${RUN_LOG_DIR}/${RUN_ID}/
34mkdir -p ${RUN_LOG_DIR}/${RUN_ID}/
35
36echo "PHASE=${RUN_PHASE}" >>${RUN_ARGS}
37echo "LOG_DIR=${RUN_LOG_DIR}" >>${RUN_ARGS}
38echo "ID=${RUN_ID}" >>${RUN_ARGS}
39echo "POOL=${RUN_POOL}" >>${RUN_ARGS}
40echo "CHUNK_SIZE=${RUN_CHUNK_SIZE}" >>${RUN_ARGS}
41echo "REGION_SIZE=${RUN_REGION_SIZE}" >>${RUN_ARGS}
42echo "THREAD_COUNT=${RUN_THREAD_COUNT}" >>${RUN_ARGS}
43echo "REGION_COUNT=${RUN_REGION_COUNT}" >>${RUN_ARGS}
44echo "OFFSET=${RUN_OFFSET}" >>${RUN_ARGS}
45echo "REGION_NOISE=${RUN_REGION_NOISE}" >>${RUN_ARGS}
46echo "CHUNK_NOISE=${RUN_CHUNK_NOISE}" >>${RUN_ARGS}
47echo "THREAD_DELAY=${RUN_THREAD_DELAY}" >>${RUN_ARGS}
48echo "FLAGS=${RUN_FLAGS}" >>${RUN_ARGS}
49echo "RESULT=${RUN_RESULT}" >>${RUN_ARGS}
50
51# XXX: Oprofile support seems to be broken when I try and start
52# it via a user mode helper script, I suspect the setup is failing.
53# opcontrol --init >>${OPROFILE_LOG} 2>&1
54# opcontrol --setup --vmlinux=/boot/vmlinux >>${OPROFILE_LOG} 2>&1
55
56# Start the profile script
57${PROFILE_KPIOS_BIN} ${RUN_PHASE} ${RUN_LOG_DIR} ${RUN_ID} &
58echo "$!" >${PROFILE_PID}
59
60# Sleep waiting for profile script to be ready, it will
61# signal us via SIGHUP when it is ready to start profiling.
62while [ ${PROFILE_KPIOS_READY} -eq 0 ]; do
63 sleep 0.1
64done
65
66# opcontrol --start-daemon >>${OPROFILE_LOG} 2>&1
67# opcontrol --start >>${OPROFILE_LOG} 2>&1
68
69exit 0