From: Alan Cox <alan@lxorguk.ukuu.org.uk> To: David McCullough <davidm@snapgear.com> Cc: Bernardo Innocenti <bernie@develer.com>, Christoph Hellwig <hch@infradead.org>, "David S. Miller" <davem@redhat.com>, uclinux-dev@uclinux.org, Linux Kernel Mailing List <linux-kernel@vger.kernel.org>, Greg Ungerer <gerg@snapgear.com> Subject: Re: [uClinux-dev] Kernel 2.6 size increase - get_current()? Date: 24 Jul 2003 12:28:46 +0100 [thread overview] Message-ID: <1059046125.7993.11.camel@dhcp22.swansea.linux.org.uk> (raw) In-Reply-To: <20030724050655.GA11947@beast> On Iau, 2003-07-24 at 06:06, David McCullough wrote: > Back when I first did the 2.4 uClinux port, the m68k MMU code was > dedicating a register (a2) for current. I thought that was a bad idea > given how often you run out of registers on the 68k, and made it a On some platforms a global register current was a win, I can't speak for m68k - current is used a lot. > On the 2.5/2.6 front, I think the change comes from the 8K (2 page) task > structure and everyone just masking the kernel stack pointer to get the > task pointer. Gerg would know for sure, he did the 2.5 work in this area. > We should be easily able to switch back to the current_task pointer with a > few small mods to entry.S. A lot of platforms went this way because "current" is hard to do right on an SMP box. Its effectively per CPU dependant, and that means you either set up the MMU to do per CPU pages (via segments or tables) which is a pita, or you do the stack trick. For uniprocessor a global still works perfectly well. > A general comment on the use of inline throughout the kernel. Although > they may show gains on x86 platforms, they often perform worse on > embedded processors with limited cache, as well as adding size. I Code size for critical paths is getting more and more performance critical on x86 as well as on the embedded CPU systems. 3Ghz superscalar processors lose a lot of clocks to a memory stall.
next prev parent reply other threads:[~2003-07-24 11:22 UTC|newest] Thread overview: 64+ messages / expand[flat|nested] mbox.gz Atom feed top 2003-07-23 18:46 Kernel 2.6 size increase Bernardo Innocenti 2003-07-23 19:14 ` Richard B. Johnson 2003-07-23 20:07 ` David S. Miller 2003-07-23 21:47 ` Randy.Dunlap 2003-07-23 19:32 ` [uClinux-dev] " Christoph Hellwig 2003-07-23 20:11 ` David S. Miller 2003-07-23 20:15 ` Christoph Hellwig 2003-07-23 20:22 ` David S. Miller 2003-07-23 20:27 ` Christoph Hellwig 2003-07-23 22:35 ` [uClinux-dev] Kernel 2.6 size increase - get_current()? Bernardo Innocenti 2003-07-23 22:37 ` Alan Cox 2003-07-23 23:00 ` Bernardo Innocenti 2003-07-24 5:06 ` David McCullough 2003-07-24 11:28 ` Alan Cox [this message] 2003-07-24 12:04 ` David McCullough 2003-07-24 14:48 ` Alan Cox 2003-07-25 18:25 ` bill davidsen 2003-07-24 15:30 ` Hollis Blanchard 2003-07-24 19:37 ` Alan Cox 2003-07-24 19:51 ` Hollis Blanchard 2003-07-24 21:20 ` J.A. Magallon 2003-07-25 4:22 ` Otto Solares 2003-07-25 14:38 ` Hollis Blanchard 2003-07-28 3:19 ` Miles Bader 2003-07-28 8:14 ` Ihar "Philips" Filipau 2003-07-28 8:58 ` Miles Bader 2003-07-28 9:03 ` Ihar "Philips" Filipau 2003-07-23 21:57 ` [uClinux-dev] Kernel 2.6 size increase Bernardo Innocenti 2003-07-23 22:07 ` Bernardo Innocenti 2003-07-23 22:27 ` Willy Tarreau 2003-07-23 22:34 ` Alan Cox 2003-07-24 20:27 ` Bernardo Innocenti 2003-07-25 15:46 ` Christoph Hellwig 2003-07-25 23:55 ` [PATCH] Make I/O schedulers optional (Was: Re: Kernel 2.6 size increase) Bernardo Innocenti 2003-07-26 8:17 ` Andrew Morton 2003-07-26 12:40 ` Bernardo Innocenti 2003-07-26 14:07 ` Jens Axboe 2003-07-26 23:42 ` Bernardo Innocenti 2003-07-26 23:41 ` Jens Axboe 2003-07-28 17:13 ` [uClinux-dev] Kernel 2.6 size increase Nicolas Pitre 2003-07-28 23:02 ` Bernardo Innocenti 2003-07-29 2:36 ` Miles Bader 2003-08-08 13:25 ` [uClinux-dev] " David Woodhouse 2003-08-08 14:37 ` Bernardo Innocenti 2003-08-08 14:43 ` David Woodhouse 2003-07-25 18:16 ` bill davidsen 2003-07-29 22:29 ` Tom Rini 2003-07-29 22:48 ` Alan Cox 2003-07-29 23:06 ` Tom Rini 2003-07-30 2:07 ` Miles Bader 2003-07-30 15:33 ` Tom Rini 2003-07-31 1:49 ` Miles Bader 2003-07-31 4:17 ` Tom Rini 2003-07-31 5:03 ` Miles Bader 2003-07-31 15:24 ` Tom Rini 2003-07-30 2:49 ` [uClinux-dev] " Bernardo Innocenti 2003-07-30 15:35 ` Tom Rini 2003-07-30 16:45 ` [uClinux-dev] Kernel 2.6 size increase (PATCH) Bernardo Innocenti [not found] <cwQJ.3BO.29@gated-at.bofh.it> [not found] ` <cypH.5dM.35@gated-at.bofh.it> [not found] ` <cyza.5lN.13@gated-at.bofh.it> [not found] ` <cArg.74D.11@gated-at.bofh.it> 2003-07-24 8:13 ` [uClinux-dev] Kernel 2.6 size increase - get_current()? Ihar "Philips" Filipau 2003-07-25 7:25 ` Denis Vlasenko 2003-07-25 18:36 ` bill davidsen 2003-07-24 8:27 Ihar "Philips" Filipau 2003-07-24 11:50 ` David McCullough [not found] <d2nx.4QV.15@gated-at.bofh.it> [not found] ` <dbTZ.5Z5.19@gated-at.bofh.it> 2003-07-25 15:37 ` Ihar "Philips" Filipau
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=1059046125.7993.11.camel@dhcp22.swansea.linux.org.uk \ --to=alan@lxorguk.ukuu.org.uk \ --cc=bernie@develer.com \ --cc=davem@redhat.com \ --cc=davidm@snapgear.com \ --cc=gerg@snapgear.com \ --cc=hch@infradead.org \ --cc=linux-kernel@vger.kernel.org \ --cc=uclinux-dev@uclinux.org \ --subject='Re: [uClinux-dev] Kernel 2.6 size increase - get_current()?' \ /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
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).