From: Steven Rostedt <rostedt@goodmis.org>
To: Ingo Molnar <mingo@elte.hu>
Cc: "linux-os (Dick Johnson)" <linux-os@analogic.com>,
LKML <linux-kernel@vger.kernel.org>,
Daniel Walker <dwalker@mvista.com>
Subject: Re: [Question] arch-independent way to differentiate between user andkernel
Date: Wed, 03 Aug 2005 08:30:29 -0400 [thread overview]
Message-ID: <1123072229.1590.106.camel@localhost.localdomain> (raw)
In-Reply-To: <20050803120413.GA12317@elte.hu>
On Wed, 2005-08-03 at 14:04 +0200, Ingo Molnar wrote:
> * Steven Rostedt <rostedt@goodmis.org> wrote:
>
> > On Wed, 2005-08-03 at 06:56 -0400, linux-os (Dick Johnson) wrote:
> > > On Wed, 3 Aug 2005, Steven Rostedt wrote:
> > > The interrupt handler gets a pointer to a structure called "struct pt_regs".
> > > That contains, amongst other things, the registers pushed onto the stack
> > > during the interrupt. If the segments were kernel segments, the interrupt
> > > occurred while in kernel mode. But..... If you have any code that
> > > needs to know, it's horribly and irreparably broken beyond all
> > > repair. Interrupts need to be handled NOW, without regard to what
> > > got interrupted.
> > >
> >
> > By the time you get to __do_IRQ there's already more stuff on the
> > stack. And the pt_regs is arch specific so this doesn't help.
>
> the actual layout of pt_regs is arch-specific, but user_mode(regs) is
> pretty much generic across most arches.
>
OK I did the following:
find arch -name "*.c" ! -type d | xargs grep "update_process_times" |grep -v user_mode
arch/arm/kernel/smp.c: update_process_times(user);
arch/um/kernel/time_kern.c: update_process_times(CHOOSE_MODE(user_context(UPT_SP(regs)), (regs)->skas.is_user));
arch/sparc64/kernel/smp.c: update_process_times(user);
arch/m32r/kernel/smp.c: update_process_times(user);
arch/alpha/kernel/smp.c: update_process_times(user);
arch/i386/kernel/apic.c: * update_process_times() expects us to have done irq_enter().
arch/x86_64/kernel/apic.c: * update_process_times() expects us to have done irq_enter().
arch/sparc/kernel/sun4d_smp.c: update_process_times(user);
arch/sparc/kernel/sun4m_smp.c: update_process_times(user);
I also did a find without the -v user_mode and here's some of the output
(filtered to only show what's relevant):
arch/arm/kernel/time.c: update_process_times(user_mode(regs));
arch/sparc64/kernel/time.c: update_process_times(user_mode(regs));
arch/m32r/kernel/time.c: update_process_times(user_mode(regs));
arch/alpha/kernel/time.c: update_process_times(user_mode(regs));
arch/i386/kernel/apic.c: update_process_times(user_mode_vm(regs));
arch/x86_64/kernel/time.c: update_process_times(user_mode(regs));
arch/sparc/kernel/pcic.c: update_process_times(user_mode(regs));
So all but (amusingly) user-mode-linux use the user_mode macro. So it
does look good. I'm not too worried right now for user-mode-linux, but
that sould be fixed too if need be.
So I'll add this to the patch I'll be sending you soon (after it's all
tested).
-- Steve
next prev parent reply other threads:[~2005-08-03 12:31 UTC|newest]
Thread overview: 66+ messages / expand[flat|nested] mbox.gz Atom feed top
2005-07-30 16:03 [patch] Real-Time Preemption, -RT-2.6.13-rc4-V0.7.52-01 Ingo Molnar
2005-07-30 20:47 ` Peter Zijlstra
2005-07-30 20:52 ` Ingo Molnar
2005-07-31 4:47 ` Lee Revell
2005-07-31 6:38 ` Ingo Molnar
2005-08-01 4:45 ` Lee Revell
2005-08-01 21:08 ` Ingo Molnar
2005-08-01 21:12 ` Ingo Molnar
2005-08-02 13:56 ` Steven Rostedt
2005-08-02 14:05 ` Lee Revell
2005-08-02 14:20 ` Steven Rostedt
2005-08-02 15:37 ` 2.6.13-rc3 -> sluggish PS2 keyboard (was Re: [patch] Real-Time Preemption, -RT-2.6.13-rc4-V0.7.52-01) Lee Revell
2005-08-02 15:44 ` Vojtech Pavlik
2005-08-02 15:46 ` Lee Revell
2005-08-02 15:47 ` Lee Revell
2005-08-02 15:53 ` Steven Rostedt
2005-08-02 15:55 ` Vojtech Pavlik
2005-08-02 15:55 ` Dmitry Torokhov
2005-08-02 15:38 ` [patch] Real-Time Preemption, -RT-2.6.13-rc4-V0.7.52-01 Lee Revell
2005-07-31 8:03 ` Peter Zijlstra
2005-07-31 10:44 ` Ingo Molnar
2005-07-31 15:56 ` [patch] Real-Time Preemption, -RT-2.6.13-rc4-V0.7.52-05 Gene Heskett
2005-08-01 18:22 ` [patch] Real-Time Preemption, -RT-2.6.13-rc4-V0.7.52-01 Steven Rostedt
2005-08-01 19:49 ` Steven Rostedt
2005-08-01 20:52 ` Ingo Molnar
2005-08-01 21:09 ` Daniel Walker
2005-08-01 21:15 ` Ingo Molnar
2005-08-02 0:43 ` Steven Rostedt
2005-08-01 21:15 ` Steven Rostedt
2005-08-01 21:23 ` Ingo Molnar
2005-08-01 21:20 ` Daniel Walker
2005-08-02 0:53 ` Steven Rostedt
2005-08-02 10:19 ` Ingo Molnar
2005-08-02 19:45 ` Steven Rostedt
2005-08-02 19:56 ` Steven Rostedt
2005-08-02 23:38 ` Daniel Walker
2005-08-03 0:00 ` Steven Rostedt
2005-08-03 1:12 ` George Anzinger
2005-08-03 1:48 ` Keith Owens
2005-08-03 2:12 ` George Anzinger
2005-08-03 2:25 ` Daniel Walker
2005-08-03 2:42 ` Steven Rostedt
2005-08-03 2:58 ` Daniel Walker
2005-08-03 10:30 ` Steven Rostedt
2005-08-03 15:10 ` Daniel Walker
2005-08-03 10:37 ` [Question] arch-independent way to differentiate between user and kernel Steven Rostedt
2005-08-03 10:48 ` Ingo Molnar
2005-08-03 12:18 ` Steven Rostedt
2005-08-03 10:56 ` [Question] arch-independent way to differentiate between user andkernel linux-os (Dick Johnson)
2005-08-03 11:44 ` Steven Rostedt
2005-08-03 12:04 ` Ingo Molnar
2005-08-03 12:30 ` Steven Rostedt [this message]
2005-08-03 14:50 ` [patch] Real-Time Preemption, -RT-2.6.13-rc4-V0.7.52-01 Steven Rostedt
2005-08-03 15:15 ` Steven Rostedt
2005-08-03 15:57 ` Steven Rostedt
2005-08-03 16:44 ` Steven Rostedt
[not found] ` <20050812125844.GA13357@elte.hu>
2005-08-26 4:24 ` Steven Rostedt
2005-08-26 6:08 ` Ingo Molnar
2005-08-26 11:20 ` Steven Rostedt
2005-08-30 10:58 ` Stephen C. Tweedie
2005-08-30 11:14 ` Ingo Molnar
2005-08-30 11:00 ` Stephen C. Tweedie
2005-08-02 3:55 ` Steven Rostedt
2005-08-02 4:07 ` Daniel Walker
2005-08-02 14:53 ` Steven Rostedt
2005-08-04 12:20 ` Andrzej Nowak
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=1123072229.1590.106.camel@localhost.localdomain \
--to=rostedt@goodmis.org \
--cc=dwalker@mvista.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-os@analogic.com \
--cc=mingo@elte.hu \
/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.