From: Christoph Hellwig <hch@infradead.org>
To: Dan Williams <dan.j.williams@intel.com>
Cc: james.bottomley@suse.de, dave.jiang@intel.com,
linux-scsi@vger.kernel.org, jacek.danecki@intel.com,
ed.ciechanowski@intel.com, jeffrey.d.skirvin@intel.com,
edmund.nadolski@intel.com
Subject: Re: [RFC PATCH 00/10] isci: core
Date: Fri, 18 Mar 2011 11:56:35 -0400 [thread overview]
Message-ID: <20110318155635.GA22514@infradead.org> (raw)
In-Reply-To: <20110310105347.6485.20780.stgit@localhost6.localdomain6>
On Thu, Mar 10, 2011 at 02:54:19AM -0800, Dan Williams wrote:
> As first introduced in "[RFC PATCH 0/6] isci: initial driver release
> (part1: intro and lldd) " [1], the isci driver is split into an lldd
> layer that interfaces with libsas and a core layer that interfaces with
> the hardware. Quoting from the original introduction:
I just looked at it and that architecture is a complete fucking mess.
You absolutely have to fix it before it can be merged. Gems like
duplicating all wire level constants and structures for SCSI, SAS
and ATA in your own headers is simply not acceptable. I'm not sure
where you got the idea this could be remotely acceptable.
Also the source layout is a real mess, almost comparably to the broacade
FC driver - there really is no point in having a header for barely more
than a structure or inline.
Also care to explain the design rationale for all these specific
semi-statemachines? To my untrained eye they really looks like
pointless obsfucation, but maybe there's a good reason that should be
explained in long comments.
And please don't make the code like ACPICA, macro names like
SCU_CONTEXT_COMMAND_REQUEST_POST_TC_ABORT or
SCIC_SDS_STP_PACKET_REQUEST_STARTED_PACKET_PHASE_AWAIT_TC_COMPLETION_SUBSTATE
just need to go.
Also please get rid of ALL UPPERCASE SCREAMING NAMES for structures.
FYI:
u32 connection_inactivity_timeout:16;
is a really dumb idea. Please take the crackpipe away from whatever
idiot came up with junk like that and use the proper right sized integer
types. Also for sub-byte field please absolutely avoid bitfields.
Their layout is unportable, and properly locking them is a nightmare.
Just define a flags field and use bit operations on them.
next prev parent reply other threads:[~2011-03-18 15:56 UTC|newest]
Thread overview: 24+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-03-10 10:54 [RFC PATCH 00/10] isci: core Dan Williams
2011-03-10 10:54 ` [RFC PATCH 01/10] isci/core: controller Dan Williams
2011-03-10 10:54 ` [RFC PATCH 02/10] isci/core: phy Dan Williams
2011-03-10 10:54 ` [RFC PATCH 03/10] isci/core: port Dan Williams
2011-03-10 10:54 ` [RFC PATCH 04/10] isci/core: remote device Dan Williams
2011-03-10 10:54 ` [RFC PATCH 05/10] isci/core: remote node context Dan Williams
2011-03-10 10:54 ` [RFC PATCH 06/10] isci/core: stp Dan Williams
2011-03-10 10:54 ` [RFC PATCH 07/10] isci/core: request (general, ssp and smp) Dan Williams
2011-03-10 10:55 ` [RFC PATCH 08/10] isci/core: unsolicited frame handling and registers Dan Williams
2011-03-10 10:55 ` [RFC PATCH 09/10] isci/core: base state machine and memory descriptors Dan Williams
2011-03-10 10:55 ` [RFC PATCH 10/10] isci/core: common definitions and utility functions Dan Williams
2011-03-30 14:37 ` Christoph Hellwig
2011-03-15 17:47 ` [RFC PATCH 00/10] isci: core Jeff Garzik
2011-03-15 17:55 ` Christoph Hellwig
2011-03-15 18:08 ` Jeff Garzik
2011-03-15 20:13 ` Dan Williams
2011-03-15 21:04 ` Jeff Garzik
2011-03-18 15:56 ` Christoph Hellwig [this message]
2011-03-19 6:19 ` Dan Williams
2011-03-27 22:32 ` Christoph Hellwig
2011-03-30 1:22 ` Dan Williams
2011-03-30 7:23 ` Christoph Hellwig
2011-03-31 0:20 ` Dan Williams
2011-03-31 6:32 ` Christoph Hellwig
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=20110318155635.GA22514@infradead.org \
--to=hch@infradead.org \
--cc=dan.j.williams@intel.com \
--cc=dave.jiang@intel.com \
--cc=ed.ciechanowski@intel.com \
--cc=edmund.nadolski@intel.com \
--cc=jacek.danecki@intel.com \
--cc=james.bottomley@suse.de \
--cc=jeffrey.d.skirvin@intel.com \
--cc=linux-scsi@vger.kernel.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).