Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 20 Jul 2016 20:33:24 +0530
From:      Akshay Jaggi <akshay1994.leo@gmail.com>
To:        soc-status@freebsd.org, soc-admins@freebsd.org
Cc:        Pedro Giffuni <pfg@freebsd.org>, =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <royger@freebsd.org>
Subject:   Grant Table Userspace Device - Status Update
Message-ID:  <CAAeUNVnfK29Mck_eRKguij2pYV%2BehAG=Qb5bcYwRJZXmODbPQQ@mail.gmail.com>

next in thread | raw e-mail | index | archive | help
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



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CAAeUNVnfK29Mck_eRKguij2pYV%2BehAG=Qb5bcYwRJZXmODbPQQ>