Further details:
I investigated sv_wait, and it seems that function/macro is
intended to deliberately schedule a non-interruptible deadlock
for as long as the platform will allow (MAX_SCHEDULE_TIMEOUT).
That's a pretty long time in jiffies--and on platforms where
long ints are 64 bits (like Alpha), it's an outrageously long
time.
My questions now:
1) Apparently the XFS driver code is deadlocking deliberately.
Why?
2) Why does the forced deadlock have to last for such a long
time? Could we at least clamp it down to some smaller value?
Voluntarily forcing a billion-or-so-year deadlock period just
seems unreasonable.
--
Kelledin
"If a server crashes in a server farm and no one pings it, does
it still cost four figures to fix?"
|