From: Jack Steiner <steiner@sgi.com>
To: Andi Kleen <andi@firstfloor.org>
Cc: mingo@elte.hu, tglx@linutronix.de, linux-mm@kvack.org,
linux-kernel@vger.kernel.org
Subject: Re: [RFC 6/8] x86_64: Define the macros and tables for the basic UV infrastructure.
Date: Tue, 25 Mar 2008 11:19:57 -0500 [thread overview]
Message-ID: <20080325161957.GA1884@sgi.com> (raw)
In-Reply-To: <87ej9zi05c.fsf@basil.nowhere.org>
On Tue, Mar 25, 2008 at 11:11:11AM +0100, Andi Kleen wrote:
> Jack Steiner <steiner@sgi.com> writes:
>
> > Define the macros and tables for the basic UV infrastructure.
> >
> >
> > (NOTE: a work-in-progress. Pieces missing....)
>
> Does the kernel really need all this information? You just want
> to address the UV-APIC right? I suspect you could use a much stripped
> down file.
Most of the macros will never be used by generic kernel code, but we
have UV-specific drivers that will use the information (GRU, XPC and
XPMEM drivers). All of these are getting very close to being ready to
be pushed upstream.
>
> > +DECLARE_PER_CPU(struct uv_hub_info_s, __uv_hub_info);
> > +#define uv_hub_info (&__get_cpu_var(__uv_hub_info))
> > +#define uv_cpu_hub_info(cpu) (&per_cpu(__uv_hub_info, cpu))
> > +
> > +/* This header file is used in BIOS code that runs in physical mode */
>
> Not sure what physical mode is.
Me either :-) I fixed the comment
"... BIOS code that runs with virtual == physical"
However, then I read the rest of your comments & will take the approach
of defining __va() in the BIOS code. That eliminates the need for
the macro.
>
> > +#ifdef __BIOS__
> > +#define UV_ADDR(x) ((unsigned long *)(x))
> > +#else
> > +#define UV_ADDR(x) ((unsigned long *)__va(x))
> > +#endif
>
> But it it would be cleaner if your BIOS just supplied a suitable __va()
> and then you remove these macros.
>
> -Andi
--- jack
WARNING: multiple messages have this Message-ID (diff)
From: Jack Steiner <steiner@sgi.com>
To: Andi Kleen <andi@firstfloor.org>
Cc: mingo@elte.hu, tglx@linutronix.de, linux-mm@kvack.org,
linux-kernel@vger.kernel.org
Subject: Re: [RFC 6/8] x86_64: Define the macros and tables for the basic UV infrastructure.
Date: Tue, 25 Mar 2008 11:19:57 -0500 [thread overview]
Message-ID: <20080325161957.GA1884@sgi.com> (raw)
In-Reply-To: <87ej9zi05c.fsf@basil.nowhere.org>
On Tue, Mar 25, 2008 at 11:11:11AM +0100, Andi Kleen wrote:
> Jack Steiner <steiner@sgi.com> writes:
>
> > Define the macros and tables for the basic UV infrastructure.
> >
> >
> > (NOTE: a work-in-progress. Pieces missing....)
>
> Does the kernel really need all this information? You just want
> to address the UV-APIC right? I suspect you could use a much stripped
> down file.
Most of the macros will never be used by generic kernel code, but we
have UV-specific drivers that will use the information (GRU, XPC and
XPMEM drivers). All of these are getting very close to being ready to
be pushed upstream.
>
> > +DECLARE_PER_CPU(struct uv_hub_info_s, __uv_hub_info);
> > +#define uv_hub_info (&__get_cpu_var(__uv_hub_info))
> > +#define uv_cpu_hub_info(cpu) (&per_cpu(__uv_hub_info, cpu))
> > +
> > +/* This header file is used in BIOS code that runs in physical mode */
>
> Not sure what physical mode is.
Me either :-) I fixed the comment
"... BIOS code that runs with virtual == physical"
However, then I read the rest of your comments & will take the approach
of defining __va() in the BIOS code. That eliminates the need for
the macro.
>
> > +#ifdef __BIOS__
> > +#define UV_ADDR(x) ((unsigned long *)(x))
> > +#else
> > +#define UV_ADDR(x) ((unsigned long *)__va(x))
> > +#endif
>
> But it it would be cleaner if your BIOS just supplied a suitable __va()
> and then you remove these macros.
>
> -Andi
--- jack
--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org. For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>
next prev parent reply other threads:[~2008-03-25 16:20 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-03-24 18:21 [RFC 6/8] x86_64: Define the macros and tables for the basic UV infrastructure Jack Steiner
2008-03-24 18:21 ` Jack Steiner
2008-03-25 10:11 ` Andi Kleen
2008-03-25 10:11 ` Andi Kleen
2008-03-25 16:19 ` Jack Steiner [this message]
2008-03-25 16:19 ` Jack Steiner
2008-03-26 0:09 ` Christoph Hellwig
2008-03-26 0:09 ` Christoph Hellwig
2008-03-26 3:03 ` Jack Steiner
2008-03-26 3:03 ` Jack Steiner
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=20080325161957.GA1884@sgi.com \
--to=steiner@sgi.com \
--cc=andi@firstfloor.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mm@kvack.org \
--cc=mingo@elte.hu \
--cc=tglx@linutronix.de \
/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.