From: David Howells <dhowells@redhat.com>
To: Roman Zippel <zippel@linux-m68k.org>
Cc: David Howells <dhowells@redhat.com>,
Jeff Garzik <jgarzik@mandrakesoft.com>,
Linus Torvalds <torvalds@transmeta.com>,
davidm@hpl.hp.com, "David S. Miller" <davem@redhat.com>,
anton@samba.org, linux-kernel@vger.kernel.org
Subject: Re: [PATCH] move task_struct allocation to arch
Date: Fri, 15 Feb 2002 12:56:52 +0000 [thread overview]
Message-ID: <23603.1013777812@warthog.cambridge.redhat.com> (raw)
In-Reply-To: Message from Roman Zippel <zippel@linux-m68k.org> of "Fri, 15 Feb 2002 13:20:44 +0100." <Pine.LNX.4.33.0202151310510.713-100000@serv>
Roman Zippel <zippel@linux-m68k.org> wrote:
> > > That wouldn't be a problem, if ia32 added the needed infrastructure to
> > > calculate the structure offsets.
> >
> > But the offsets aren't fixed. The task structure does not lie adjacent to
> > the thread_info structure.
>
> That's not the problem, I meant this sentence: "This led to Linus
> requesting that everything that entry.S needs to access be separated out
> into another structure." Splitting the task structure and the stack page
> is fine. Keeping the most important fields in the stack page is fine too,
> if the architecture requires it.
I think I see what you meant.
However, I'm not particularly keen on the M68K offset generator. I'm not sure
why exactly, but it just doesn't seem the right way to do things... OTOH,
without making the assembler able to parse C structs, I'm not sure there is a
"right" way:-/
> But the decision what goes into thread_info, should not be made only to
> avoid access to task_struct from entry.S.
How about I quote Linus (who explained what he wanted better than I did).
Firstly, in response to me having supplied a patch that made a set of four
byte-size values as the status area in the task_struct:
| For the future, the biggest thing I'd like to see is actually to make
| "work" be a bitmap, because the "bytes are atomic" approach simply isn't
| portable anyway, so we might as well make things _explicitly_ atomic and
| use bit operations. Otherwise the alpha version of "work" would have to be
| four bytes per "bit" of information, which sounds really excessive.
And then after some discussion:
| In particular, there's been all that discussion about cache-coloring the
| "struct task_struct", and my personal suggestion for that whole can of
| worms is to have the "struct low_level" be in the one low cache-line, and
| make it contain a pointer to "struct task_struct" - and just split the two
| up completely. Then the low-level asm code would never have to even look
| at "task_struct", it would only look at this stuff.
(struct low_level became thread_info).
David
next prev parent reply other threads:[~2002-02-15 12:57 UTC|newest]
Thread overview: 20+ messages / expand[flat|nested] mbox.gz Atom feed top
2002-02-14 15:26 [PATCH] move task_struct allocation to arch David Howells
2002-02-14 16:13 ` Jeff Garzik
2002-02-14 16:32 ` David Howells
2002-02-14 16:46 ` Jeff Garzik
2002-02-14 17:03 ` David Howells
2002-02-14 20:48 ` Roman Zippel
2002-02-14 23:53 ` Richard Henderson
2002-02-15 9:56 ` Jeff Garzik
2002-02-15 10:01 ` Jeff Garzik
2002-02-15 11:25 ` Roman Zippel
2002-02-15 11:37 ` David Howells
2002-02-15 12:20 ` Roman Zippel
2002-02-15 12:56 ` David Howells [this message]
2002-02-15 13:49 ` Roman Zippel
2002-02-15 13:51 ` Jeff Garzik
2002-02-15 14:22 ` Roman Zippel
2002-02-15 14:07 ` David Howells
2002-02-15 14:28 ` Roman Zippel
2002-02-15 21:56 ` Richard Henderson
2002-02-15 21:52 ` Richard Henderson
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=23603.1013777812@warthog.cambridge.redhat.com \
--to=dhowells@redhat.com \
--cc=anton@samba.org \
--cc=davem@redhat.com \
--cc=davidm@hpl.hp.com \
--cc=jgarzik@mandrakesoft.com \
--cc=linux-kernel@vger.kernel.org \
--cc=torvalds@transmeta.com \
--cc=zippel@linux-m68k.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