public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Douglas Gilbert <dougg@torque.net>
To: Luben Tuikov <luben_tuikov@adaptec.com>
Cc: Linux Kernel Mailing List <linux-kernel@vger.kernel.org>,
	SCSI Mailing List <linux-scsi@vger.kernel.org>
Subject: Re: [PATCH 2.6.13 2/14] sas-class: README
Date: Tue, 13 Sep 2005 19:23:06 +1000	[thread overview]
Message-ID: <43269A7A.3080602@torque.net> (raw)
In-Reply-To: <4325B333.3070301@adaptec.com>

Luben Tuikov wrote:
> On 09/10/05 21:44, Douglas Gilbert wrote:
> 
>>Luben Tuikov wrote:
>>
>>
>>>Signed-off-by: Luben Tuikov <luben_tuikov@adaptec.com>
>>
>>
>><snip>
>>
>>An interesting document. 
> 
> 
> Hi Doug, how are you?

Fine, but loosing a fair amount of time reading emails :-)

> If there is something wrong with the document in general,
> please point it out.
> 
> Your "An interesting document" sounds like James's
> "Aside from all other problems".
> 
> 
>>I have a small quibble here (and a larger
>>one about the SMP user space access that I will elaborate on
>>in a day or so).
> 
> 
> Ok.
> 
> (Thinking to myself: I wonder, if he's got a problem with
> SMP user space access, why not post it now?  Why in a day
> or so?)
> 
> 
>>>+Port events, passed on a _phy_:
>>>+	PORTE_BYTES_DMAED,      (M)
>>>+	PORTE_BROADCAST_RCVD,   (E)
>>>+	PORTE_LINK_RESET_ERR,   (C)
>>>+	PORTE_TIMER_EVENT,      (C)
>>>+	PORTE_HARD_RESET.
>>
>>
>>Link layer broadcasts don't only come from expanders
>>(i.e. BROADCAST(CHANGE) ); SAS 1.1 (sas1r09e.pdf) defines
> 
> 
> I'm aware of what the spec says.
> 
> 
>>BROADCAST(SES) coming from a target port associated with
> 
> 
> I'm aware of this primitive.
> 
> 
>>an enclosure device (SES peripheral type). It is not
>>clear to me how the associated primitive is conveyed back
>>with the broadcast.
> 
> 
> As you can see the message is "PORTE_BROADCAST_RCVD".
> The _type_ of BROADCAST is encoded in phy->sas_prim.

Good.

> See sas_port.c::void sas_porte_broadcast_rcvd(struct sas_phy *phy).
> 
> This function decides what to do depending on the type of
> BROADCAST received.
> 
> Currently there have been no requests for handling of
> BROADCAST(SES).
> 
> When there's such a request, we handle it there, telling
> the Discover code of a SES event.
> 
> Currently only BROADCAST(CHANGE) is handled _by default_.
> 
> I.e. we search the domain for the expander and phy which
> generated it, and act on it.  If we find no expander and
> phy which generated it, in case we processed a different
> BROADCAST or an expander has broken firmware, we return.
> This is all in the code.
> 
> BROADCAST filtering is also present in the LLDD, i.e.
> notify on such and such BROADCAST or primitive in general.
> This is done by the hardware itself (no firmware) so it
> is very fast.
>  
> 
>>If it is not conveyed back then perhaps that broadcast define
>>could be expanded to:
>>     PORTE_BROADCAST_CHANGE   (E)
>>     PORTE_BROADCAST_SES      (Target)
> 
> 
> I can add this event if you want.

No need, phy->sys_prim is fine.

> The questiong is _what_ to do on this event.  This is a complex
> answer and I'd rather have a _SES_ layer (or at least a logical
> module/library) to handle those as storage vendors want this,
> _right now_.

Simple answer: generate a hotplug event and let a
user application that cares worry about it. No
need for a SES layer in the kernel.

> In fact, I've some patches to submit regarding SES devices
> on the domain, but I wanted to _trim *down*_ the politics,
> _not_ escalate them.

Oh no, not a sysfs representation of SES abstractions :-)

> Also this patch was "SAS support", not "SES device support".

True.

>>and a note inserted that BROADCAST(RESERVED CHANGE 0) and
>>BROADCAST(RESERVED CHANGE 1) be mapped to PORTE_BROADCAST_CHANGE
>>by the LLDD as per table 79 of sas1r09e.pdf .
> 
> 
> They already are Doug.
> 
> 
>>BTW table 70 indicates an initiator can originate a BROADCAST(CHANGE),
>>not just an expander.
> 
> 
> I hope this isn't going to be a thread about
> 	* pointing out the obvious, or
> 	* some kind of competion of who's read the spec the most.
> 
> All in all, you could've just asked "How about BROADCAST(SES)?".

Indeed.

It may be an idea to encourage people who look at
your submission.

Doug Gilbert

  reply	other threads:[~2005-09-13  9:22 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2005-09-09 19:39 [PATCH 2.6.13 2/14] sas-class: README Luben Tuikov
2005-09-11  1:44 ` Douglas Gilbert
2005-09-12 16:56   ` Luben Tuikov
2005-09-13  9:23     ` Douglas Gilbert [this message]
2005-09-13 13:20       ` Luben Tuikov
2005-09-12  9:00 ` Douglas Gilbert
2005-09-12 18:38   ` Luben Tuikov
2005-09-13 10:13     ` Douglas Gilbert
2005-09-13 13:30       ` Luben Tuikov
2005-09-13 14:29         ` Luben Tuikov
2005-09-13 10:17   ` 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=43269A7A.3080602@torque.net \
    --to=dougg@torque.net \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-scsi@vger.kernel.org \
    --cc=luben_tuikov@adaptec.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