<html><head><meta http-equiv="Content-Type" content="text/html charset=utf-8"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class="">On Aug 23, 2015, at 11:24 AM, Mike Perkins <<a href="mailto:mikep@randomtraveller.org.uk" class="">mikep@randomtraveller.org.uk</a>> wrote:<br class=""><div><blockquote type="cite" class=""><br class="Apple-interchange-newline"><div class=""><span style="font-family: Helvetica; font-size: 14px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px; float: none; display: inline !important;" class="">What exactly do you mean by a "user space driver"? That sounds like a contradiction in terms, or perhaps a misuse of terminology.</span><br style="font-family: Helvetica; font-size: 14px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;" class=""></div></blockquote></div><div class=""><br class=""></div><div class="">A driver is put into user space when it doesn’t need direct access to its hardware. With a PCI card the driver reads and writes chips directly and, because hardware access is considered a privileged operation, has to live inside the kernel. Since the HD PVRs are USB devices the standard kernel USB code takes care of the direct I/O and the driver concerns itself with formatting commands and interpreting replies. Twiddling bytes essentially.</div><div class=""><br class=""></div><div class="">The advantage here is you eliminate the chance of a driver bug or unexpected hardware response bringing down your entire machine. An error in a userspace driver is no more serious than doing ls on a directory that you can’t access or a cat on a recently deleted file. The downside is the extra hop in moving data from the device to the eventual consumer (the myth backend). But, CPU speed hasn’t been an issue for most people for more than a decade so it’s a good tradeoff.</div><br class=""><div class="">- George</div></body></html>