<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel.git/arch/x86/kernel/entry_64.S, branch linux-2.6.28.y</title>
<subtitle>Hosts the 0x221E linux distro kernel.
</subtitle>
<id>https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-2.6.28.y</id>
<link rel='self' href='https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-2.6.28.y'/>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/'/>
<updated>2008-10-20T16:27:03Z</updated>
<entry>
<title>ftrace: rename FTRACE to FUNCTION_TRACER</title>
<updated>2008-10-20T16:27:03Z</updated>
<author>
<name>Steven Rostedt</name>
</author>
<published>2008-10-06T23:06:12Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=606576ce816603d9fe1fb453a88bc6eea16ca709'/>
<id>urn:sha1:606576ce816603d9fe1fb453a88bc6eea16ca709</id>
<content type='text'>
Due to confusion between the ftrace infrastructure and the gcc profiling
tracer "ftrace", this patch renames the config options from FTRACE to
FUNCTION_TRACER.  The other two names that are offspring from FTRACE
DYNAMIC_FTRACE and FTRACE_MCOUNT_RECORD will stay the same.

This patch was generated mostly by script, and partially by hand.

Signed-off-by: Steven Rostedt &lt;srostedt@redhat.com&gt;
Signed-off-by: Ingo Molnar &lt;mingo@elte.hu&gt;
</content>
</entry>
<entry>
<title>ftrace: x86 mcount stub</title>
<updated>2008-10-14T08:34:58Z</updated>
<author>
<name>Steven Rostedt</name>
</author>
<published>2008-08-14T19:45:12Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=0a37605c2261a06d8cafc62dee11374ad676c8c4'/>
<id>urn:sha1:0a37605c2261a06d8cafc62dee11374ad676c8c4</id>
<content type='text'>
x86 now sets up the mcount locations through the build and no longer
needs to record the ip when the function is executed. This patch changes
the initial mcount to simply return. There's no need to do any other work.
If the ftrace start up test fails, the original mcount will be what everything
will use, so having this as fast as possible is a good thing.

Signed-off-by: Steven Rostedt &lt;srostedt@redhat.com&gt;
Signed-off-by: Ingo Molnar &lt;mingo@elte.hu&gt;
</content>
</entry>
<entry>
<title>x86, traps: introduce dotraplinkage</title>
<updated>2008-10-13T08:33:20Z</updated>
<author>
<name>Alexander van Heukelum</name>
</author>
<published>2008-09-30T16:41:36Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=e407d62088b7f61f38e1086062650c75a4f2757a'/>
<id>urn:sha1:e407d62088b7f61f38e1086062650c75a4f2757a</id>
<content type='text'>
Mark the exception handlers with "dotraplinkage" to hide the
calling convention differences between i386 and x86_64.

Signed-off-by: Alexander van Heukelum &lt;heukelum@fastmail.fm&gt;
Signed-off-by: Ingo Molnar &lt;mingo@elte.hu&gt;
</content>
</entry>
<entry>
<title>traps: x86_64: add TRACE_IRQS_OFF in paranoidentry macro</title>
<updated>2008-10-13T08:21:55Z</updated>
<author>
<name>Alexander van Heukelum</name>
</author>
<published>2008-09-26T12:03:03Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=7e61a7932495e37685e95ec9a59ad08810dec959'/>
<id>urn:sha1:7e61a7932495e37685e95ec9a59ad08810dec959</id>
<content type='text'>
Add TRACE_IRQS_OFF just before entering the C code.

All exceptions are taken via interrupt gates. If irq tracing is
enabled, it should be notified as soon as possible. Interrupts
are only (conditionally) re-enabled in C code.

Signed-off-by: Alexander van Heukelum &lt;heukelum@fastmail.fm&gt;
Signed-off-by: Ingo Molnar &lt;mingo@elte.hu&gt;
</content>
</entry>
<entry>
<title>traps: x86_64: add TRACE_IRQS_OFF in error_entry</title>
<updated>2008-10-13T08:21:53Z</updated>
<author>
<name>Alexander van Heukelum</name>
</author>
<published>2008-09-26T12:03:02Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=6b11d4ef3e4d6ce83fb177aa50fdf385abb17d1a'/>
<id>urn:sha1:6b11d4ef3e4d6ce83fb177aa50fdf385abb17d1a</id>
<content type='text'>
Add TRACE_IRQS_OFF just before entering the C code.

All exceptions are taken via interrupt gates. If irq tracing is
enabled, it should be notified as soon as possible. Interrupts
are only (conditionally) re-enabled in C code.

Signed-off-by: Alexander van Heukelum &lt;heukelum@fastmail.fm&gt;
Signed-off-by: Ingo Molnar &lt;mingo@elte.hu&gt;
</content>
</entry>
<entry>
<title>x86: set bp field in pt_regs properly</title>
<updated>2008-10-13T08:21:27Z</updated>
<author>
<name>Glauber Costa</name>
</author>
<published>2008-08-14T20:33:12Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=097a0788df71b0f3328c70ab5f4e41c27ee66817'/>
<id>urn:sha1:097a0788df71b0f3328c70ab5f4e41c27ee66817</id>
<content type='text'>
Save rbp twice: One is for marking the stack frame, as usual (already
there), and the other, to fill pt_regs properly. This is because bx
comes right before the last saved register in that structure, and not
bp. If the base pointer were in the place bx is today, this would not
be needed.

Signed-off-by: Glauber Costa &lt;gcosta@redhat.com&gt;
Signed-off-by: Ingo Molnar &lt;mingo@elte.hu&gt;
</content>
</entry>
<entry>
<title>x86, 64-bit, dwarf2: push pushes 8 bytes and popf pops 8</title>
<updated>2008-07-24T10:33:38Z</updated>
<author>
<name>Alexander van Heukelum</name>
</author>
<published>2008-07-22T16:14:16Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=e0a5a5d9b006fd441e61685a051fa85d52fb172c'/>
<id>urn:sha1:e0a5a5d9b006fd441e61685a051fa85d52fb172c</id>
<content type='text'>
The CFI_ADJUST_CFA_OFFSET dwarf2 annotation of a push/popf
pair in ret_from_fork wrongly used a value of 4. It should
have been 8. Fix that.

Signed-off-by: Alexander van Heukelum &lt;heukelum@fastmail.fm&gt;
Cc: Andi Kleen &lt;andi@firstfloor.org&gt;
Cc: heukelum@fastmail.fm
Signed-off-by: Ingo Molnar &lt;mingo@elte.hu&gt;
</content>
</entry>
<entry>
<title>x86_64 ia32 syscall audit fast-path</title>
<updated>2008-07-24T00:55:22Z</updated>
<author>
<name>Roland McGrath</name>
</author>
<published>2008-06-24T08:13:31Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=5cbf1565f29eb57a86a305b08836613508e294d7'/>
<id>urn:sha1:5cbf1565f29eb57a86a305b08836613508e294d7</id>
<content type='text'>
This adds fast paths for 32-bit syscall entry and exit when
TIF_SYSCALL_AUDIT is set, but no other kind of syscall tracing.
These paths does not need to save and restore all registers as
the general case of tracing does.  Avoiding the iret return path
when syscall audit is enabled helps performance a lot.

Signed-off-by: Roland McGrath &lt;roland@redhat.com&gt;
</content>
</entry>
<entry>
<title>x86_64 syscall audit fast-path</title>
<updated>2008-07-24T00:47:32Z</updated>
<author>
<name>Roland McGrath</name>
</author>
<published>2008-06-23T22:37:04Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=86a1c34a929f30fde8ad01ea8245df61ddcf58b7'/>
<id>urn:sha1:86a1c34a929f30fde8ad01ea8245df61ddcf58b7</id>
<content type='text'>
This adds a fast path for 64-bit syscall entry and exit when
TIF_SYSCALL_AUDIT is set, but no other kind of syscall tracing.
This path does not need to save and restore all registers as
the general case of tracing does.  Avoiding the iret return path
when syscall audit is enabled helps performance a lot.

Signed-off-by: Roland McGrath &lt;roland@redhat.com&gt;
</content>
</entry>
<entry>
<title>x86_64: remove bogus optimization in sysret_signal</title>
<updated>2008-07-24T00:43:36Z</updated>
<author>
<name>Roland McGrath</name>
</author>
<published>2008-06-24T03:41:12Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=15e8f348db372dec21229fda5d52ae6ee7e64666'/>
<id>urn:sha1:15e8f348db372dec21229fda5d52ae6ee7e64666</id>
<content type='text'>
This short-circuit path in sysret_signal looks wrong to me.
AFAICT, in practice the branch is never taken--and if it were,
it would go wrong.  To wit, try loading a module whose init
function does set_thread_flag(TIF_IRET), and see insmod crash
(presumably with a wrong user stack pointer).

This is because the FIXUP_TOP_OF_STACK work hasn't been done yet
when we jump around the call to ptregscall_common and get to
int_with_check--where it expects the user RSP,SS,CS and EFLAGS to
have been stored by FIXUP_TOP_OF_STACK.

I don't think it's normally possible to get to sysret_signal with no
_TIF_DO_NOTIFY_MASK bits set anyway, so these two instructions are
already superfluous.  If it ever did happen, it is harmless to call
do_notify_resume with nothing for it to do.

Signed-off-by: Roland McGrath &lt;roland@redhat.com&gt;
</content>
</entry>
</feed>
