All of lore.kernel.org
 help / color / mirror / Atom feed
From: Christoph Hellwig <hch@infradead.org>
To: Patrick Gefre <pfg@sgi.com>,
	linux-ia64@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: Re: Latest Altix I/O code reorganization code
Date: Fri, 27 Aug 2004 16:21:31 +0000	[thread overview]
Message-ID: <20040827172131.A473@infradead.org> (raw)
In-Reply-To: <20040827165443.A32567@infradead.org>; from hch@infradead.org on Fri, Aug 27, 2004 at 04:54:43PM +0100

On Fri, Aug 27, 2004 at 04:54:43PM +0100, Christoph Hellwig wrote:
> On Fri, Aug 27, 2004 at 10:10:01AM -0500, Patrick Gefre wrote:
> > 
> > This is an update to our last set of patches. I've added some comments from the
> > last review and another synopsis of the patches. The individual patches will
> > follow this email.
> 
> Matthew Wilcox suggested we should really review it as completely new
> code.  So maybe you should split it into one patch that kills all old
> code ånd one that adds new code.  Note that I mean all all code includeing
> the headers which provides a nice opporuntiy to move all of them that
> aren't public interface inside arch/ia64/sn/

Okay, let's start a review for the actual files based on that

all files: lots of missing statics, try running
http://samba.org/ftp/unpacked/junkcode/findstatic.pl over the compiled code.

io_init.c:

 - sal_get_hubdev_info
	umm, you're getting a kernel pointer by a SAL
 	call.  I wonders how this is supposed to work when the kernel
	changes it's VA layout.  (Dito for a bunch of other functions)

 - sn_io_init
	what's going on here?

iomv.c:

 - okay, could use some reformatting to fit 80 chars

pci_dma.c:

 - still using all those indirections althoug there's only a single backend

pci_extension.c:

 - dito.  Why does this single function need a separate file?

pcibr_ate.c:

 - doesn't look to bad, but should probably merged into pcibr_dma.c.  And
   the trivial < 10 line function opencoded in their only callers.

pcibr_dma.c:

 - okay

pcibr_provider.c

 actual code code looks okay, but:

  - sal_pcibr_slot_enable/sal_pcibr_slot_disabl are completely unused
  - the pci_provider abstraction is right now completely useless, please
    add such abstractions only when you need them (and if you'll ever need
    that a few hints:  stop that casting of methods silliness but use
    container_of, use C99 initializers, stop the typedef abuse)
  - request_irq return value needs checking

pcibr_reg.c:

 - all this casting is rather horrible.  At least keep a pointer to each
   of struct tiocp and pic_s (and kill the _s postifx) in syruct pcibus_info.
   the volatiles looks bogus, if you need it you're missing memorry barries.

xtalk_providers.c:

 - bogus indirection again.  if you actually do have different lowlevel
   implementations they should be hidden inside the prom.  While at it I think
   the two calls could just move to arch/ia64/sn/kernel/irq.c

WARNING: multiple messages have this Message-ID (diff)
From: Christoph Hellwig <hch@infradead.org>
To: Patrick Gefre <pfg@sgi.com>,
	linux-ia64@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: Re: Latest Altix I/O code reorganization code
Date: Fri, 27 Aug 2004 17:21:31 +0100	[thread overview]
Message-ID: <20040827172131.A473@infradead.org> (raw)
In-Reply-To: <20040827165443.A32567@infradead.org>; from hch@infradead.org on Fri, Aug 27, 2004 at 04:54:43PM +0100

On Fri, Aug 27, 2004 at 04:54:43PM +0100, Christoph Hellwig wrote:
> On Fri, Aug 27, 2004 at 10:10:01AM -0500, Patrick Gefre wrote:
> > 
> > This is an update to our last set of patches. I've added some comments from the
> > last review and another synopsis of the patches. The individual patches will
> > follow this email.
> 
> Matthew Wilcox suggested we should really review it as completely new
> code.  So maybe you should split it into one patch that kills all old
> code ånd one that adds new code.  Note that I mean all all code includeing
> the headers which provides a nice opporuntiy to move all of them that
> aren't public interface inside arch/ia64/sn/

Okay, let's start a review for the actual files based on that

all files: lots of missing statics, try running
http://samba.org/ftp/unpacked/junkcode/findstatic.pl over the compiled code.

io_init.c:

 - sal_get_hubdev_info
	umm, you're getting a kernel pointer by a SAL
 	call.  I wonders how this is supposed to work when the kernel
	changes it's VA layout.  (Dito for a bunch of other functions)

 - sn_io_init
	what's going on here?

iomv.c:

 - okay, could use some reformatting to fit 80 chars

pci_dma.c:

 - still using all those indirections althoug there's only a single backend

pci_extension.c:

 - dito.  Why does this single function need a separate file?

pcibr_ate.c:

 - doesn't look to bad, but should probably merged into pcibr_dma.c.  And
   the trivial < 10 line function opencoded in their only callers.

pcibr_dma.c:

 - okay

pcibr_provider.c

 actual code code looks okay, but:

  - sal_pcibr_slot_enable/sal_pcibr_slot_disabl are completely unused
  - the pci_provider abstraction is right now completely useless, please
    add such abstractions only when you need them (and if you'll ever need
    that a few hints:  stop that casting of methods silliness but use
    container_of, use C99 initializers, stop the typedef abuse)
  - request_irq return value needs checking

pcibr_reg.c:

 - all this casting is rather horrible.  At least keep a pointer to each
   of struct tiocp and pic_s (and kill the _s postifx) in syruct pcibus_info.
   the volatiles looks bogus, if you need it you're missing memorry barries.

xtalk_providers.c:

 - bogus indirection again.  if you actually do have different lowlevel
   implementations they should be hidden inside the prom.  While at it I think
   the two calls could just move to arch/ia64/sn/kernel/irq.c

  parent reply	other threads:[~2004-08-27 16:21 UTC|newest]

Thread overview: 73+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2004-08-04 20:14 Altix I/O code reorganization Pat Gefre
2004-08-04 20:14 ` Pat Gefre
2004-08-05  0:31 ` Grant Grundler
2004-08-05  0:31   ` Grant Grundler
2004-08-05 18:16 ` Greg KH
2004-08-05 18:16   ` Greg KH
2004-08-05 20:51 ` Pat Gefre
2004-08-05 20:51   ` Pat Gefre
2004-08-05 21:08   ` Greg KH
2004-08-05 21:08     ` Greg KH
2004-08-05 21:32     ` Jesse Barnes
2004-08-05 21:32       ` Jesse Barnes
2004-08-05 21:36       ` Greg KH
2004-08-05 21:36         ` Greg KH
2004-08-06 13:18 ` Christoph Hellwig
2004-08-06 13:18   ` Christoph Hellwig
2004-08-06 16:19   ` Jesse Barnes
2004-08-06 16:19     ` Jesse Barnes
2004-08-07 10:58     ` Christoph Hellwig
2004-08-07 10:58       ` Christoph Hellwig
2004-08-11 23:24   ` Patrick Gefre
2004-08-11 23:24     ` Patrick Gefre
2004-08-12  9:15     ` Christoph Hellwig
2004-08-12  9:15       ` Christoph Hellwig
2004-08-12 14:47       ` Jesse Barnes
2004-08-12 14:47         ` Jesse Barnes
2004-08-12 15:21         ` Christoph Hellwig
2004-08-12 15:21           ` Christoph Hellwig
2004-08-27 15:10     ` Latest Altix I/O code reorganization code Patrick Gefre
2004-08-27 15:10       ` Patrick Gefre
2004-08-27 15:14       ` Patrick Gefre
2004-08-27 15:14         ` Patrick Gefre
2004-08-27 15:21         ` Christoph Hellwig
2004-08-27 15:21           ` Christoph Hellwig
2004-08-27 15:35           ` Patrick Gefre
2004-08-27 15:35             ` Patrick Gefre
2004-08-27 15:44             ` Christoph Hellwig
2004-08-27 15:44               ` Christoph Hellwig
2004-09-03 23:12               ` Latest Altix I/O code rewrite Patrick Gefre
2004-08-27 15:23       ` Latest Altix I/O code reorganization code Pat Gefre
2004-08-27 15:23         ` Pat Gefre
2004-08-27 15:36       ` Christoph Hellwig
2004-08-27 15:36         ` Christoph Hellwig
2004-08-27 15:45       ` Christoph Hellwig
2004-08-27 15:45         ` Christoph Hellwig
2004-08-27 16:32         ` Patrick Gefre
2004-08-27 16:32           ` Patrick Gefre
2004-08-27 15:54       ` Christoph Hellwig
2004-08-27 15:54         ` Christoph Hellwig
2004-08-27 16:06         ` Patrick Gefre
2004-08-27 16:06           ` Patrick Gefre
2004-08-27 16:21         ` Christoph Hellwig [this message]
2004-08-27 16:21           ` Christoph Hellwig
2004-09-03 23:40           ` Christoph Hellwig
2004-09-03 23:40             ` Christoph Hellwig
2004-09-07 22:10             ` Patrick Gefre
2004-09-07 22:10               ` Patrick Gefre
2004-09-07 22:16               ` Christoph Hellwig
2004-09-07 22:16                 ` Christoph Hellwig
2004-08-27 17:15       ` Christoph Hellwig
2004-08-27 17:15         ` Christoph Hellwig
2004-08-29  6:39       ` Keith Owens
2004-08-29  6:39         ` Keith Owens
2004-08-29  7:16         ` Sam Ravnborg
2004-08-29  7:16           ` Sam Ravnborg
2004-08-29  7:22       ` Keith Owens
2004-08-29  7:22         ` Keith Owens
2004-08-06 13:51 ` Altix I/O code reorganization Keith Owens
2004-08-06 13:51   ` Keith Owens
2004-08-06 13:55   ` Christoph Hellwig
2004-08-06 13:55     ` Christoph Hellwig
2004-08-06 15:47 ` Russ Anderson
2004-08-06 15:47   ` Russ Anderson

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=20040827172131.A473@infradead.org \
    --to=hch@infradead.org \
    --cc=linux-ia64@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=pfg@sgi.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.