From: Greg KH <greg@kroah.com>
To: "Bryan O'Sullivan" <bos@pathscale.com>
Cc: Andrew Morton <akpm@osdl.org>, Roland Dreier <rdreier@cisco.com>,
linux-kernel@vger.kernel.org, openib-general@openib.org
Subject: Re: RFC: ipath ioctls and their replacements
Date: Wed, 18 Jan 2006 18:57:41 -0800 [thread overview]
Message-ID: <20060119025741.GC15706@kroah.com> (raw)
In-Reply-To: <1137631411.4757.218.camel@serpentine.pathscale.com>
On Wed, Jan 18, 2006 at 04:43:31PM -0800, Bryan O'Sullivan wrote:
> Opening the /dev/ipath special file assigns an appropriate free
> unit (chip) and port (context on a chip) to a user process.
Shouldn't you just open the proper chip device and port device itself?
That drops one ioctl.
> Think of it as similar to /dev/ptmx for ttys, except there isn't
> a devpts-like filesystem behind it. Once a process has
> opened /dev/ipath, it needs to find out which unit and port it
> has opened, so that it can access other attributes in /sys. To
> do this, we provide a GETPORT ioctl.
> USERINIT and BASEINFO work with mmap to set up direct access to
> the hardware for user processes. We intend to turn these into a
> single ioctl, USERINIT. This copies a substantial amount of
> information to and from userspace.
Why not just use mmap? What's the special needs?
> RCVCTRL enables/disables receipt of packets.
sysfs file.
> SET_PKEY sets a partition key, essentially telling hardware
> which packets are interesting to userspace.
sysfs file.
> UPDM_TID and FREE_TID are used for RDMA context management.
sysfs files.
> WAIT waits for incoming packets, and can clearly be replaced by
> file_ops->poll.
Use poll.
> GETCOUNTERS, GETUNITCOUNTERS and GETSTATS can all be replaced by
> files in sysfs.
good.
> For subnet management:
>
> GETLID, SET_LID, SET_MTU, SET_GUID, SET_MLID, GET_MLID,
> GET_DEVSTATUS, GET_PORTINFO and GET_NODEINFO can all be replaced
> by files in sysfs.
>
> SET_LINKSTATE changes the link state.
>
> SEND_SMA_PKT and RCV_SMA_PKT send and receive subnet management
> packets. I *think* they could be replaced by read and write
> methods on a new special file, although the semantics aren't a
> super-clean match.
Use netlink for subnet stuff.
> For diagnostics:
>
> DIAGENTER and DIAGLEAVE put the driver into and out of diag
> mode. These could be replaced by open/close of a special file.
Use debugfs.
> DIAGREAD and DIAGWRITE perform direct accesses to the device's
> PCI memory space. I think these could be replaced by read and
> write, but they are again subject to the make-coworker-barf
> problem.
Use debugfs.
> HTREAD and HTREAD perform direct accesses to the device's PCI
> config space. Same disagreement problem as DIAGREAD and
> DIAGWRITE.
Use the pci sysfs config files, don't duplicate existing functionality.
> SEND_DIAG_PKT can be replaced with whatever sends and receives
> subnet management packets, as above.
netlink or debugfs.
Hope this helps,
greg k-h
next prev parent reply other threads:[~2006-01-19 2:58 UTC|newest]
Thread overview: 38+ messages / expand[flat|nested] mbox.gz Atom feed top
2006-01-19 0:43 RFC: ipath ioctls and their replacements Bryan O'Sullivan
2006-01-19 0:48 ` David S. Miller
2006-01-19 1:14 ` Bryan O'Sullivan
2006-01-19 1:17 ` David S. Miller
2006-01-19 5:17 ` Bryan O'Sullivan
2006-01-19 5:43 ` Greg KH
2006-01-19 0:53 ` Greg KH
2006-01-19 1:17 ` Bryan O'Sullivan
2006-01-19 2:54 ` Greg KH
2006-01-19 2:57 ` Greg KH [this message]
2006-01-19 3:49 ` Andrew Morton
2006-01-19 4:03 ` Greg KH
2006-01-19 5:02 ` Bryan O'Sullivan
2006-01-19 5:39 ` Greg KH
2006-01-19 5:53 ` Bryan O'Sullivan
2006-01-19 22:57 ` Greg KH
2006-01-19 23:44 ` Bryan O'Sullivan
2006-01-20 0:02 ` [openib-general] " Sean Hefty
2006-01-19 8:25 ` Eric W. Biederman
2006-01-19 8:39 ` David S. Miller
2006-02-24 20:19 ` [PATCH 1/1] Topology c fix Zachary Amsden
2006-02-25 0:17 ` Andrew Vasquez
2006-01-19 16:29 ` RFC: ipath ioctls and their replacements Bryan O'Sullivan
2006-01-19 18:20 ` Eric W. Biederman
2006-01-19 18:50 ` [openib-general] " Sean Hefty
2006-01-19 18:55 ` Bryan O'Sullivan
2006-01-19 20:31 ` Eric W. Biederman
2006-01-19 21:53 ` Bryan O'Sullivan
2006-01-19 21:08 ` Sean Hefty
2006-01-19 21:52 ` Bryan O'Sullivan
2006-01-19 18:50 ` Bryan O'Sullivan
2006-01-19 20:29 ` Eric W. Biederman
2006-01-19 20:47 ` [openib-general] " Steve Wise
2006-01-19 22:13 ` Bryan O'Sullivan
2006-01-21 4:40 ` Roland Dreier
2006-01-25 22:32 ` Bryan O'Sullivan
2006-01-25 22:43 ` [openib-general] " Muli Ben-Yehuda
2006-01-25 22:55 ` Bryan O'Sullivan
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=20060119025741.GC15706@kroah.com \
--to=greg@kroah.com \
--cc=akpm@osdl.org \
--cc=bos@pathscale.com \
--cc=linux-kernel@vger.kernel.org \
--cc=openib-general@openib.org \
--cc=rdreier@cisco.com \
/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