fix: run john stress in parallel per GPU, fix chromium fullscreen, filter BMC virtual disks
- bee-john-gpu-stress: spawn one john process per OpenCL device in parallel so all GPUs are stressed simultaneously instead of only device 1 - bee-openbox-session: --start-fullscreen → --start-maximized to fix blank white page on first render in fbdev environment - storage collector: skip Virtual HDisk* devices reported by BMC/iDRAC Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -77,11 +77,24 @@ func discoverStorageDevices() []lsblkDevice {
|
|||||||
if dev.Type != "disk" {
|
if dev.Type != "disk" {
|
||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
|
if isVirtualBMCDisk(dev) {
|
||||||
|
slog.Debug("storage: skipping BMC virtual disk", "name", dev.Name, "model", dev.Model)
|
||||||
|
continue
|
||||||
|
}
|
||||||
disks = append(disks, dev)
|
disks = append(disks, dev)
|
||||||
}
|
}
|
||||||
return disks
|
return disks
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// isVirtualBMCDisk returns true for BMC/IPMI virtual USB mass storage devices
|
||||||
|
// that appear as disks but are not real hardware (e.g. iDRAC Virtual HDisk*).
|
||||||
|
// These have zero reported size, a generic fake serial, and a model name that
|
||||||
|
// starts with "Virtual HDisk".
|
||||||
|
func isVirtualBMCDisk(dev lsblkDevice) bool {
|
||||||
|
model := strings.ToLower(strings.TrimSpace(dev.Model))
|
||||||
|
return strings.HasPrefix(model, "virtual hdisk")
|
||||||
|
}
|
||||||
|
|
||||||
func lsblkDevices() []lsblkDevice {
|
func lsblkDevices() []lsblkDevice {
|
||||||
out, err := exec.Command("lsblk", "-J", "-d",
|
out, err := exec.Command("lsblk", "-J", "-d",
|
||||||
"-o", "NAME,TYPE,SIZE,SERIAL,MODEL,TRAN,HCTL").Output()
|
"-o", "NAME,TYPE,SIZE,SERIAL,MODEL,TRAN,HCTL").Output()
|
||||||
|
|||||||
@@ -190,4 +190,13 @@ CHOSEN_FORMAT=$(choose_format) || {
|
|||||||
}
|
}
|
||||||
|
|
||||||
echo "format=${CHOSEN_FORMAT}"
|
echo "format=${CHOSEN_FORMAT}"
|
||||||
exec ./john --test="${SECONDS}" --format="${CHOSEN_FORMAT}" --devices="${JOHN_DEVICES}"
|
PIDS=""
|
||||||
|
for opencl_id in $(echo "${JOHN_DEVICES}" | tr ',' ' '); do
|
||||||
|
./john --test="${SECONDS}" --format="${CHOSEN_FORMAT}" --devices="${opencl_id}" &
|
||||||
|
PIDS="${PIDS} $!"
|
||||||
|
done
|
||||||
|
FAIL=0
|
||||||
|
for pid in ${PIDS}; do
|
||||||
|
wait "${pid}" || FAIL=$((FAIL+1))
|
||||||
|
done
|
||||||
|
[ "${FAIL}" -eq 0 ] || { echo "john: ${FAIL} device(s) failed" >&2; exit 1; }
|
||||||
|
|||||||
@@ -24,7 +24,7 @@ chromium \
|
|||||||
--no-first-run \
|
--no-first-run \
|
||||||
--disable-session-crashed-bubble \
|
--disable-session-crashed-bubble \
|
||||||
--disable-features=TranslateUI \
|
--disable-features=TranslateUI \
|
||||||
--start-fullscreen \
|
--start-maximized \
|
||||||
http://localhost/ &
|
http://localhost/ &
|
||||||
|
|
||||||
exec openbox
|
exec openbox
|
||||||
|
|||||||
Reference in New Issue
Block a user