public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: ebiederm@xmission.com (Eric W. Biederman)
To: olson@pathscale.com
Cc: Andi Kleen <ak@suse.de>,
	linux-kernel@vger.kernel.org,
	Benjamin Herrenschmidt <benh@kernel.crashing.org>,
	discuss@x86-64.org
Subject: Re: [PATCH 2/2] Initial generic hypertransport interrupt support.
Date: Thu, 13 Jul 2006 12:41:11 -0600	[thread overview]
Message-ID: <m1ac7d1h6g.fsf@ebiederm.dsl.xmission.com> (raw)
In-Reply-To: <Pine.LNX.4.64.0607131109540.3583@topaz.pathscale.com> (Dave Olson's message of "Thu, 13 Jul 2006 11:15:17 -0700 (PDT)")

Dave Olson <olson@pathscale.com> writes:

> On Thu, 13 Jul 2006, Eric W. Biederman wrote:
> | And I tested it on one of them.  The problem is that there is no API in
> | the kernel for properly handling hypertransport interrupts or even faking
> | it well currently.  There is no shame in breaking a bad unmaintainable
> | hack, as I did.  The responsible thing is to when you find one to
> | fix up the code so that things work by design in a maintainable way,
> | which I am attempting to do.
>
> There's no problem providing a better replacement, just make sure
> that the existing drivers can use it.

I am working on that.  What broke the drivers was the removal of
the assumption that irq == vector.  Which was a bad hack and never
always true.

> | All existing drivers that use HT interrupts are broken by design.
>
> That's a statement designed to provoke arguments, and I'll just leave
> it that we disagree.

I am just saying that if you don't have the infrastructure you need 
you cannot implement things correctly.  It is no fault of the driver
authors.  Except possibly not standing up and asking for some
infrastructure to do what needs to be done.

> | Sure.  In that case can I please have a good description of what
> | weird hacks your hardware designers have done.
>
> There's really nothing special at all about the interrupt
> setup, except in one very minor way.   The value of the HT interrupt
> destination address needs to be copied from HT config space, to
> an internal chip register (which is, can, and should be, handled by
> the driver init code).

The kernel changes the value at runtime, based upon user input.
I assume your mirror register needs to be updated after every change.

Since the kernel changes the value at runtime, and since a different
register needs to be written to, I can't quite use the generic code I
have written as is.  

> | The functions I exported I intend to export.  The complaint seems to
> | be that you don't have anything that will work on earlier kernels.
> | I have to agree you don't.
>
> Huh?  I didn't say anything that could possibly be read as applying
> to earlier kernels, and to be crystal clear, that's not my concern
> at all.
>
> Maybe somebody else can articulate what I'm trying to say, but I don't
> think I can say it in a clearer way.

Ok.  I guess I was reading something in that wasn't there.  So see a
similarity and say it looks like that can be generalized.  I look and
I don't see what having a magic DWIM enable irq interface would help
with.  The counter argument is essentially that if you have multiple
options implemented but some of them are buggy

Eric

  reply	other threads:[~2006-07-13 18:42 UTC|newest]

Thread overview: 22+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2006-07-10 22:14 [PATCH 1/2] Add Hypertransport capability defines Eric W. Biederman
2006-07-10 22:26 ` [PATCH 2/2] Initial generic hypertransport interrupt support Eric W. Biederman
2006-07-10 22:39   ` Benjamin Herrenschmidt
2006-07-11  3:51     ` Eric W. Biederman
2006-07-11  5:20       ` Benjamin Herrenschmidt
2006-07-11  6:29         ` Eric W. Biederman
2006-07-11  7:29           ` Segher Boessenkool
2006-07-11  7:48             ` Eric W. Biederman
2006-07-11  9:15               ` Benjamin Herrenschmidt
2006-07-11 19:56                 ` Eric W. Biederman
2006-07-11 22:18                   ` Benjamin Herrenschmidt
2006-07-11 22:27   ` Andi Kleen
2006-07-12  3:05     ` Eric W. Biederman
2006-07-12  6:10       ` Dave Olson
2006-07-12  6:56         ` Eric W. Biederman
2006-07-13  3:56           ` Dave Olson
2006-07-13 15:13             ` Eric W. Biederman
2006-07-13 18:15               ` Dave Olson
2006-07-13 18:41                 ` Eric W. Biederman [this message]
2006-07-13 19:00                   ` Dave Olson
2006-07-13 19:20                     ` Eric W. Biederman
2006-07-13 19:34                       ` Dave Olson

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=m1ac7d1h6g.fsf@ebiederm.dsl.xmission.com \
    --to=ebiederm@xmission.com \
    --cc=ak@suse.de \
    --cc=benh@kernel.crashing.org \
    --cc=discuss@x86-64.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=olson@pathscale.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