Grant Table Userspace Device - Status Update
Akshay Jaggi
akshay1994.leo at gmail.com
Wed Jul 20 15:03:45 UTC 2016
Hello Everyone,
I hope everyone is doing great.
First things first. I want to apologise for not updating my blogpost after
June 15. Some personal stuff happened on June 17, and since then all my
work routines are completely disturbed. Soc-admins know about this, and I
hope the community can pardon my irregularity this once.
Now, time for some status update on the project. We have a working Grant
Table User-space Device (with some caveats, of course). Yay!!
Check out the code on the pull request:
https://github.com/freebsd/freebsd/compare/master...akshay1994:grant_table?expand=1
Test the device by compiling a custom kernel; from my working branch:
https://github.com/akshay1994/freebsd/tree/grant_table
Caveats and work yet to be done:
- A kernel panic happens if you terminate the program without
un-mmapping all the mmaps.
- The interface for a grant map is not completely in sync with the Linux
interface yet. Notably, we still map and subsequently mmap partially
working grants. This is a bug since the pager will fail on a page fault for
the non-working-grant.
- I'm yet to add event channel code for the notify ioctls.
- I'm yet to get in touch with the vm-guys. I spent a lot of time
understanding the vm structure, but I surely do not have a complete
picture. I'm using a MGTDEVICE cdev pager to handle managed, fictitious
pages from mapped grants, and a custom PHYS vm object to manage wired
physical memory for allocated grants. I have to
- Confirm if the approach I am using is the best one.
- The interface differs compared to Linux with regards to multiple
mmaps, which I need a little help with.
Looking forward to some community testing of the working parts.
Comments are welcome and highly appreciated. :)
Regards,
Akshay Jaggi
More information about the soc-status
mailing list