linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: "Bryan O'Sullivan" <bos@pathscale.com>
To: rolandd@cisco.com, gregkh@suse.de, akpm@osdl.org, davem@davemloft.net
Cc: linux-kernel@vger.kernel.org, openib-general@openib.org
Subject: [PATCH 0 of 20] [RFC] ipath driver - another round for review
Date: Thu,  9 Mar 2006 16:35:30 -0800	[thread overview]
Message-ID: <patchbomb.1141950930@eng-12.pathscale.com> (raw)

[-- Attachment #1: Type: text/plain, Size: 2750 bytes --]

I posted these patches for review this morning, but due to a bug in my
posting script, only Roland actually received them.  In fact, this version
of these patches contains a few changes in response to his comments.

Thanks, Roland!

The original text from this morning follows.

Here is another set of ipath driver patches for review.  The list of
changes compared to the last patch set I posted is huge, so I won't go
into it here.  Suffice it to say that we've taken every reviewer
comment into account, and done a *lot* of work to clean things up.

I'll point out a few things that I think are worth attention.

  - We've introduced support for our PCI Express chips, so the driver
    is no longer HyperTransport-specific.  It's still a 64-bit driver,
    because 32-bit platforms don't implement readq or writeq.  (It
    does compile cleanly on i386, but of course fails to link.)

  - We've added an ethernet emulation driver so that if you're not
    using Infiniband support, you still have a high-performance net
    device (lower latency and higher bandwidth than IPoIB) for IP
    traffic.

  - There are no longer any fixed tables of device structures.
    Instead we allocate device structures dynamically using
    pci_alloc_consistent or dma_alloc_coherent, and use the
    <linux/idr.h> stuff to number them.

  - There are no more ioctls anywhere.

  - Huge source files have been split up into digestible, logical
    chunks.

  - A few more sparse annotations.

  - Buckets of other cleanups.  Code reformatting, comment
    reformatting, trimming code to <= 76 cols, you name it.

There are still a few things left to do that I know of.

  - Since the core driver isn't really an IB driver at all, perhaps it
    belongs in drivers/char instead of drivers/infiniband/hw?

  - Our hardware only supports MSI interrupts.  I don't know how to
    program it to interrupt us if CONFIG_PCI_MSI is not set.  Right
    now, we have a timer-based hack in place to emulate interrupts.

  - Not all of the code is 80- or 76-col clean yet.  I'm working on
    this.

  - I guess we need to face the music and use sysfs binary attributes
    in the two cases where we're not at the moment :-)

  - There's clearly something wrong with the way we're pinning some
    pages into memory, but I don't actually know what it is.  I'm
    pretty sure our use of get_user_pages is correct, so I suspect it
    must be the code that's doing SetPageReserved (see ipath_driver.c
    and ipath_file_ops.c).

    I've spent some time trying to figure out what the problem is, but
    am stumped.  If someone knows what we should be doing instead, I'd
    be delighted to hear from them.

If you have any comments or suggestions, please let me know.

	<b

             reply	other threads:[~2006-03-10  0:43 UTC|newest]

Thread overview: 43+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2006-03-10  0:35 Bryan O'Sullivan [this message]
2006-03-10  0:35 ` [PATCH 1 of 20] ipath - core driver header files Bryan O'Sullivan
2006-03-10  0:35 ` [PATCH 2 of 20] ipath - core device driver Bryan O'Sullivan
2006-03-10  0:35 ` [PATCH 3 of 20] ipath - copy and send routines for sending an skb Bryan O'Sullivan
2006-03-10  0:35 ` [PATCH 4 of 20] ipath - support for HyperTransport devices Bryan O'Sullivan
2006-03-10  0:35 ` [PATCH 5 of 20] ipath - support for PCI Express devices Bryan O'Sullivan
2006-03-10  0:35 ` [PATCH 6 of 20] ipath - chip initialisation code Bryan O'Sullivan
2006-03-10  0:35 ` [PATCH 7 of 20] ipath - misc driver support code Bryan O'Sullivan
2006-03-10  0:35 ` [PATCH 8 of 20] ipath - sysfs support for core driver Bryan O'Sullivan
2006-03-10  1:11   ` Greg KH
2006-03-10  5:09     ` Bryan O'Sullivan
2006-03-05  3:08       ` Pavel Machek
2006-03-10  6:37       ` Greg KH
2006-03-10 14:59         ` Roland Dreier
2006-03-10 15:08           ` [openib-general] " Hal Rosenstock
2006-03-10 16:54             ` Greg KH
2006-03-10 17:05               ` Bryan O'Sullivan
2006-03-10  0:35 ` [PATCH 9 of 20] ipath - char devices for diagnostics and lightweight subnet management Bryan O'Sullivan
2006-03-10  0:45   ` Roland Dreier
2006-03-10  0:47     ` Bryan O'Sullivan
2006-03-10  0:52       ` Roland Dreier
2006-03-10  0:35 ` [PATCH 10 of 20] ipath - support for userspace apps using core driver Bryan O'Sullivan
2006-03-10  0:35 ` [PATCH 11 of 20] ipath - layering interfaces used by higher-level driver code Bryan O'Sullivan
2006-03-10  0:35 ` [PATCH 12 of 20] ipath - infiniband header files Bryan O'Sullivan
2006-03-10  0:35 ` [PATCH 13 of 20] ipath - infiniband UC and UD protocol support Bryan O'Sullivan
2006-03-10  0:35 ` [PATCH 14 of 20] ipath - infiniband RC " Bryan O'Sullivan
2006-03-10  0:35 ` [PATCH 15 of 20] ipath - misc infiniband code, part 1 Bryan O'Sullivan
2006-03-10  0:35 ` [PATCH 16 of 20] ipath - misc infiniband code, part 2 Bryan O'Sullivan
2006-03-10  0:35 ` [PATCH 17 of 20] ipath - infiniband verbs support Bryan O'Sullivan
2006-03-10  0:35 ` [PATCH 18 of 20] ipath - kbuild infrastructure Bryan O'Sullivan
2006-03-13 18:10   ` Adrian Bunk
2006-03-13 18:38     ` Robert Walsh
2006-03-13 19:24     ` Bryan O'Sullivan
2006-03-13 19:36       ` Sam Ravnborg
2006-03-13 19:39         ` Bryan O'Sullivan
2006-03-10  0:35 ` [PATCH 19 of 20] ipath - integrate driver into infiniband " Bryan O'Sullivan
2006-03-10  0:35 ` [PATCH 20 of 20] ipath - ethernet emulation driver Bryan O'Sullivan
2006-03-10 15:35 ` [openib-general] [PATCH 0 of 20] [RFC] ipath driver - another round for review Michael S. Tsirkin
2006-03-10 16:02   ` Bryan O'Sullivan
2006-03-10 17:48     ` Grant Grundler
2006-03-10 17:54       ` Bryan O'Sullivan
2006-03-10 22:30         ` Grant Grundler
2006-03-11  4:20           ` 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=patchbomb.1141950930@eng-12.pathscale.com \
    --to=bos@pathscale.com \
    --cc=akpm@osdl.org \
    --cc=davem@davemloft.net \
    --cc=gregkh@suse.de \
    --cc=linux-kernel@vger.kernel.org \
    --cc=openib-general@openib.org \
    --cc=rolandd@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;
as well as URLs for NNTP newsgroup(s).