From: greg@kroah.com (Greg KH)
To: kernelnewbies@lists.kernelnewbies.org
Subject: FW: wrapper device driver
Date: Mon, 2 Feb 2015 15:00:45 -0800 [thread overview]
Message-ID: <20150202230045.GB13419@kroah.com> (raw)
In-Reply-To: <CALRD3qK5VsFccKo9oLpa2S-YAYbouhsC7=BCgsuNTGVwXuNB4Q@mail.gmail.com>
A: No.
Q: Should I include quotations after my reply?
http://daringfireball.net/2007/07/on_top
On Mon, Feb 02, 2015 at 04:46:24PM -0600, riya khanna wrote:
> The goal is to provide multiple instances of a real device, where each
> instance could be assigned to a container. This is to enable support
> for device multiplexing in user space.
Heh, no, don't do it.
Seriously, don't, it's been shot down time and time again in person and
in emails. The 2013 Plumbers conference had a whole session on this in
which people yelled at me for 45+ minutes, it was fun, I still said no.
> I did look at CUSE. However, I realized that not all the device
> driver's all all operations to be forwarded to CUSE proxy daemon -
> some device drivers do bookkeeping based on process PID, so CUSE proxy
> daemon cannot operate on behalf of processes. Performance is another
> reason.
Have you benchmarked CUSE? It's fast, but the real question is what
types of devices are you trying to use this for?
If a device is to be multiplexed, it needs to be done so in the driver
for the device, or the subsystem, you can't do it in a "wrapper" driver,
or even in userspace, as state will get confused and messed up and it
will not work properly in the end, sorry.
> So would it be acceptable to modify CUSE kernel driver to
> filp_open(real_device_node), and use corresponding
> real_filp->f_op->operation() for the file_operations that cannot be
> forwarded to or are unimplemented by userspace CUSE proxy. Target/real
> device file operations would act as fallback operations for
> unimplemented operations.
Nope, do it in each individual subsystem that you want to change. But
again, see my above comments, this isn't something that is going to get
in easily, if at all, sorry.
good luck,
greg k-h
next prev parent reply other threads:[~2015-02-02 23:00 UTC|newest]
Thread overview: 15+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-02-02 21:24 wrapper device driver riya khanna
[not found] ` <4796D93DD200E1498C487662EAD9C0DD11A5969F@MBXP14.ds.man.ac.uk>
2015-02-02 21:44 ` FW: " Malte Vesper
2015-02-02 22:05 ` riya khanna
2015-02-02 22:17 ` Greg KH
2015-02-02 22:46 ` riya khanna
2015-02-02 23:00 ` Greg KH [this message]
2015-02-02 23:50 ` riya khanna
2015-02-03 2:49 ` Valdis.Kletnieks at vt.edu
2015-02-03 3:09 ` riya khanna
2015-02-03 3:15 ` Greg KH
2015-02-03 15:34 ` riya khanna
2015-02-03 17:50 ` Valdis.Kletnieks at vt.edu
2015-02-03 20:18 ` Greg KH
2015-02-02 22:02 ` Valdis.Kletnieks at vt.edu
2015-02-02 22:04 ` riya khanna
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20150202230045.GB13419@kroah.com \
--to=greg@kroah.com \
--cc=kernelnewbies@lists.kernelnewbies.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).