-
Notifications
You must be signed in to change notification settings - Fork 66
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Disk error on NetBSD #99
Comments
Maybe it just waited a bit long , or the time is wrong .So is it possible to keep wait even through a deadlock is possible? |
Now I just linked spin_lock() to spin_lock_slow_real(),it seems worked fine , but I will wait for more testing,but the file reads and writes seems faster |
And , I got the disk read and write slow when installing perl,that might give you some clues. |
It seems your host storage is executing IO syscalls for very long and the device is impatient, and thinks that something locked up somewhere (Yeah that's how I debug those things).
Inefficiency of SDF disk access coupled with RVVM inefficient locking in nvme emulation
No, the lock is there to protect from dataraces. Without it, chaos and corruption ensues. |
So maybe the user can choose to use _slow_real to replace the _real lock? |
Maybe. But I think this needs a more elaborate fix that excludes the lock from being held in IO path |
Working on re-queuing IO commands from NVMe ring to the threadpool queue. This could mean more IO parallelism, running IO without any locks and less stuttering when many VMs are involved. So far it is working good enough but a slight performance drop is observed in terms of maximum IOPS. Hope to get this completed till v0.6 release. |
Commit 5a6466f should fix this. The locks are never held under IO, and I purposely inserted long (30 second) sleep into IO commands and can't reproduce lockup warnings anymore. |
I have just got this error:
Is that a bug of RVVM or SDF?
P.S. The time of the files on SDF is inaccurate.That might be the problem(?)
Is it possible to disable the lock by the user?
The text was updated successfully, but these errors were encountered: