From owner-soc-status@freebsd.org Wed Jul 20 15:03:45 2016 Return-Path: Delivered-To: soc-status@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 9692BB9F968 for ; Wed, 20 Jul 2016 15:03:45 +0000 (UTC) (envelope-from akshay1994.leo@gmail.com) Received: from mail-it0-x235.google.com (mail-it0-x235.google.com [IPv6:2607:f8b0:4001:c0b::235]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority G2" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 624891DB5; Wed, 20 Jul 2016 15:03:45 +0000 (UTC) (envelope-from akshay1994.leo@gmail.com) Received: by mail-it0-x235.google.com with SMTP id f6so52117711ith.0; Wed, 20 Jul 2016 08:03:45 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:from:date:message-id:subject:to:cc; bh=YT7vGWhpTMbGGEvHHKSTWGwFfw55ADLCnbzPfRHnAi0=; b=POHZZCD+iuE8RWQsSNxpX4Jsnz0kex60a42JQB/DRE0mqR8UQmqNufgxtknQqV3nYO 3ufiS73iA2iQRe21MJmQjaL4mcw4YIXRCJvpxDOo2pNS7pP9pfb0dXMgEWuCWAbQUvn7 /ArjjD2AwQwApVfYJkl0HiuDAo8XShlsKxRn58qPNVqjf9fy2wwrOvs6CfwRD4FXZxT7 HloWXNqgAZAZTMARdw3CY6uO1zoeAJbFaZ6PtgMhYQsxJ/zrpBHA7T1yPsKgDwVk3fa3 xOsGJft8hJS99warQHFXGCuwSUNxPeNrYCOrAXXj+wOiacBRXgW4JRpvCyM9W7R9OeQE 0Tfg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:from:date:message-id:subject:to:cc; bh=YT7vGWhpTMbGGEvHHKSTWGwFfw55ADLCnbzPfRHnAi0=; b=PEqp6khVoAEhcf92Lz5tcofgPKXwgq4B1oFZnJnLaJ2Do3uJu/QsXxCw5b6aSjr4yd xJTD+W6QlDYmuLPpwjIbNgJLv0f9bXtN8ZD410exx5god94be5x9Mr1oLEQ+Woh/eBat xUYqkWe/ht3y25v6vC+FiTjklVqQoB//1nr3Im0pRO7xIADKiO1z6Q2c+03fun7lWYzi Nq1bzReQb74RBhRXd2oqtv784MQPx8ZZXGRNV2RccLeLIHazEdTLPJ8QcGAqbnZZ01Sf ofg2rjyfOmWep2SzXPAWt7glSbqFZMxivq9iOMpzDNt6n2IAXVCXjPBfs5S82I12tDTk +wew== X-Gm-Message-State: ALyK8tId/8HrAatEY048YlugynBYRpfaP7hWcES2E8tAcGCAdXUmcjfdDAVX8tEyIGE10HB14sr16fg2GtBB1w== X-Received: by 10.36.95.202 with SMTP id r193mr4283599itb.48.1469027024537; Wed, 20 Jul 2016 08:03:44 -0700 (PDT) MIME-Version: 1.0 Received: by 10.107.20.85 with HTTP; Wed, 20 Jul 2016 08:03:24 -0700 (PDT) From: Akshay Jaggi Date: Wed, 20 Jul 2016 20:33:24 +0530 Message-ID: Subject: Grant Table Userspace Device - Status Update To: soc-status@freebsd.org, soc-admins@freebsd.org Cc: Pedro Giffuni , =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= Content-Type: text/plain; charset=UTF-8 X-Content-Filtered-By: Mailman/MimeDel 2.1.22 X-BeenThere: soc-status@freebsd.org X-Mailman-Version: 2.1.22 Precedence: list List-Id: Summer of Code Status Reports and Discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 20 Jul 2016 15:03:45 -0000 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