#!/bin/sh
# DF-0019 trigger — set queue_checks=0 then run heavy mixed workload.
# The sysctl write is root-only; the workload can be any user.
set -e

echo "[*] kern.version: $(sysctl -n kern.version | head -1)"
echo "[*] cache_coherent: $(sysctl -n kern.usched_bsd4.cache_coherent)"
echo "[*] queue_checks (before): $(sysctl -n kern.usched_bsd4.queue_checks)"
echo "[*] rrinterval: $(sysctl -n kern.usched_bsd4.rrinterval)"

echo "[*] setting kern.usched_bsd4.queue_checks=0..."
sysctl kern.usched_bsd4.queue_checks=0
echo "[*] queue_checks (after): $(sysctl -n kern.usched_bsd4.queue_checks)"

echo "[*] launching heavy workload (40 CPU+sleep kids) for 12s..."
/root/poc/DF-0019/load &
LAUNCHER=$!
sleep 12
echo "[*] survived 12s"

# Clean up
kill $LAUNCHER 2>/dev/null || true
pkill -TERM -x load 2>/dev/null || true
sleep 1
pkill -KILL -x load 2>/dev/null || true
echo "[*] done. queue_checks still: $(sysctl -n kern.usched_bsd4.queue_checks)"
echo "[*] survived — no panic (FIXED kernel). exit 0."
exit 0
