<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<style type="text/css" style="display:none;"> P {margin-top:0;margin-bottom:0;} </style>
</head>
<body dir="ltr">
<div style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
I seemed to have missed this during the OSDI and end-of-term rush. I've implemented a couple of user-space block device components for research projects, so I thought I'd weigh in.</div>
<div>
<div id="appendonsend"></div>
<div style="font-family:Calibri,Arial,Helvetica,sans-serif; font-size:12pt; color:rgb(0,0,0)">
<br>
</div>
<div style="font-family:Calibri,Arial,Helvetica,sans-serif; font-size:12pt; color:rgb(0,0,0)">
In particular, does this offer significant advantages over TCMU? It uses the UIO framework for a ring of SCSI requests to user space, and seems to be quite efficient. The differences seem to be:</div>
<div>
<ul>
<li><font color="#000000" face="Calibri, Arial, Helvetica, sans-serif"><span style="caret-color: rgb(0, 0, 0);">dm-user is at bio level, while TCMU is a SCSI device, so like NBD you get request merging. Depending on your purposes, that either does no harm or
 is really useful. </span></font></li><li><font color="#000000" face="Calibri, Arial, Helvetica, sans-serif"><span style="caret-color: rgb(0, 0, 0);">TCMU requires either accepting the entire tcmu-runner architecture and philosophy, which may be a no-go, or writing your own SCSI implementation<br>
</span></font></li></ul>
<div><font color="#000000" face="Calibri, Arial, Helvetica, sans-serif"><span style="caret-color: rgb(0, 0, 0);">(I'm actually really bummed that I didn't discover TCMU until recently, as I think we would have used it on a few research projects in the past.)<br>
<br>
</span></font></div>
<div><font color="#000000" face="Calibri, Arial, Helvetica, sans-serif"><span style="caret-color: rgb(0, 0, 0);">I have no idea whether you can hand things off to another process - I don't think the UIO framework would have any problems with that, so it probably
 comes down to whether the target_core_user module would allow its memory region to be mapped by multiple processes.</span></font></div>
<div><font color="#000000" face="Calibri, Arial, Helvetica, sans-serif"><span style="caret-color: rgb(0, 0, 0);"><br>
</span></font></div>
<div><font color="#000000" face="Calibri, Arial, Helvetica, sans-serif"><span style="caret-color: rgb(0, 0, 0);"><br>
</span></font></div>
<div><font color="#000000" face="Calibri, Arial, Helvetica, sans-serif"><span style="caret-color: rgb(0, 0, 0);">I've got the world's quickest and dirtiest SCSI implementation that I've hacked up to use with TCMU, although the only real experimentation I've
 done is by hacking tcmu-runner. I'd definitely be interested in talking to any people who are interested in this, to develop a proper SCSI library that would allow you to use TCMU outside of tcmu-runner.</span></font></div>
<div><font color="#000000" face="Calibri, Arial, Helvetica, sans-serif"><span style="caret-color: rgb(0, 0, 0);"><br>
</span></font></div>
</div>
<hr tabindex="-1" style="display:inline-block; width:98%">
<div id="divRplyFwdMsg" dir="ltr"><font face="Calibri, sans-serif" color="#000000" style="font-size:11pt"><b>From:</b> Bart Van Assche <bvanassche@acm.org><br>
<b>Sent:</b> Wednesday, December 9, 2020 10:38 PM<br>
<b>To:</b> Palmer Dabbelt <palmer@dabbelt.com>; Christoph Hellwig <hch@infradead.org><br>
<b>Cc:</b> snitzer@redhat.com <snitzer@redhat.com>; linux-doc@vger.kernel.org <linux-doc@vger.kernel.org>; shuah@kernel.org <shuah@kernel.org>; corbet@lwn.net <corbet@lwn.net>; linux-kernel@vger.kernel.org <linux-kernel@vger.kernel.org>; Josef Bacik <josef@toxicpanda.com>;
 linux-raid@vger.kernel.org <linux-raid@vger.kernel.org>; song@kernel.org <song@kernel.org>; dm-devel@redhat.com <dm-devel@redhat.com>; Mike Christie <michael.christie@oracle.com>; linux-kselftest@vger.kernel.org <linux-kselftest@vger.kernel.org>; kernel-team@android.com
 <kernel-team@android.com>; agk@redhat.com <agk@redhat.com><br>
<b>Subject:</b> Re: [dm-devel] [PATCH v1 0/5] dm: dm-user: New target that proxies BIOs to userspace</font>
<div> </div>
</div>
<div class="BodyFragment"><font size="2"><span style="font-size:11pt">
<div class="PlainText">On 12/7/20 10:55 AM, Palmer Dabbelt wrote:<br>
> All in all, I've found it a bit hard to figure out what sort of interest<br>
> people<br>
> have in dm-user: when I bring this up I seem to run into people who've done<br>
> similar things before and are vaguely interested, but certainly nobody is<br>
> chomping at the bit.  I'm sending it out in this early state to try and<br>
> figure<br>
> out if it's interesting enough to keep going.<br>
<br>
Cc-ing Josef and Mike since their nbd contributions make me wonder<br>
whether this new driver could be useful to their use cases?<br>
<br>
Thanks,<br>
<br>
Bart.<br>
<br>
<br>
</div>
</span></font></div>
</div>
</body>
</html>