<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel.git/arch/x86/kernel/ds.c, 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-11-25T16:29:02Z</updated>
<entry>
<title>x86, bts: fix wrmsr and spinlock over kmalloc</title>
<updated>2008-11-25T16:29:02Z</updated>
<author>
<name>Markus Metzger</name>
</author>
<published>2008-11-25T07:52:56Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=de90add30e79261c3b5be68bb0f22d2ef98e8113'/>
<id>urn:sha1:de90add30e79261c3b5be68bb0f22d2ef98e8113</id>
<content type='text'>
Impact: fix sleeping-with-spinlock-held bugs/crashes

- Turn a wrmsr to write the DS_AREA MSR into a wrmsrl.
- Use irqsave variants of spinlocks.
- Do not allocate memory while holding spinlocks.

Reported-by: Stephane Eranian &lt;eranian@googlemail.com&gt;
Reported-by: Ingo Molnar &lt;mingo@elte.hu&gt;
Signed-off-by: Markus Metzger &lt;markus.t.metzger@intel.com&gt;
Signed-off-by: Ingo Molnar &lt;mingo@elte.hu&gt;
</content>
</entry>
<entry>
<title>x86, pebs: fix PEBS record size configuration</title>
<updated>2008-11-25T16:28:53Z</updated>
<author>
<name>Markus Metzger</name>
</author>
<published>2008-11-25T07:49:06Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=c4858ffc8f2dc850cb1f609c679b1ac1ad36ef0c'/>
<id>urn:sha1:c4858ffc8f2dc850cb1f609c679b1ac1ad36ef0c</id>
<content type='text'>
Impact: fix DS hw enablement on 64-bit x86

Fix the PEBS record size in the DS configuration.

Reported-by: Stephane Eranian &lt;eranian@googlemail.com&gt;
Signed-off-by: Markus Metzger &lt;markus.t.metzger@intel.com&gt;
Signed-off-by: Ingo Molnar &lt;mingo@elte.hu&gt;
</content>
</entry>
<entry>
<title>x86, bts: exclude ds.c from build when disabled</title>
<updated>2008-11-25T16:28:50Z</updated>
<author>
<name>Markus Metzger</name>
</author>
<published>2008-11-25T07:45:13Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=292c669cd7087a090d6420e223eb1072f3e3c50b'/>
<id>urn:sha1:292c669cd7087a090d6420e223eb1072f3e3c50b</id>
<content type='text'>
Impact: cleanup

Move the CONFIG guard from the .c file into the makefile.

Reported-by: Andi Kleen &lt;andi-suse@firstfloor.org&gt;
Signed-off-by: Markus Metzger &lt;markus.t.metzger@intel.com&gt;
Signed-off-by: Ingo Molnar &lt;mingo@elte.hu&gt;
</content>
</entry>
<entry>
<title>x86, PEBS/DS: fix code flow in ds_request()</title>
<updated>2008-11-18T14:34:36Z</updated>
<author>
<name>Ingo Molnar</name>
</author>
<published>2008-11-18T14:23:08Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=10db4ef7b9a65b86e4d047671a1886f4c101a859'/>
<id>urn:sha1:10db4ef7b9a65b86e4d047671a1886f4c101a859</id>
<content type='text'>
this compiler warning:

  arch/x86/kernel/ds.c: In function 'ds_request':
  arch/x86/kernel/ds.c:368: warning: 'context' may be used uninitialized in this function

Shows that the code flow in ds_request() is buggy - it goes into
the unlock+release-context path even when the context is not allocated
yet.

First allocate the context, then do the other checks.

Also, take care with GFP allocations under the ds_lock spinlock.

Cc: &lt;stable@kernel.org&gt;
Signed-off-by: Ingo Molnar &lt;mingo@elte.hu&gt;
</content>
</entry>
<entry>
<title>x86, bts: fix unlock problem in ds.c</title>
<updated>2008-11-16T07:25:36Z</updated>
<author>
<name>Markus Metzger</name>
</author>
<published>2008-11-15T10:00:17Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=d1f1e9c01006b4b050e090055c75278f80c2a5c5'/>
<id>urn:sha1:d1f1e9c01006b4b050e090055c75278f80c2a5c5</id>
<content type='text'>
Fix a problem where ds_request() returned an error without releasing the
ds lock.

Reported-by: Stephane Eranian &lt;eranian@gmail.com&gt;
Signed-off-by: Markus Metzger &lt;markus.t.metzger@gmail.com&gt;
Cc: &lt;stable@kernel.org&gt;
Signed-off-by: Ingo Molnar &lt;mingo@elte.hu&gt;
</content>
</entry>
<entry>
<title>x86: ds.c ptrace.c integer as NULL pointer sparse fixes</title>
<updated>2008-09-24T07:57:47Z</updated>
<author>
<name>Harvey Harrison</name>
</author>
<published>2008-09-23T21:56:44Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=493cd9122af5bd0b219974a48f0e31da0c29ff7e'/>
<id>urn:sha1:493cd9122af5bd0b219974a48f0e31da0c29ff7e</id>
<content type='text'>
fix:

 arch/x86/kernel/ptrace.c:763:29: warning: Using plain integer as NULL pointer
 arch/x86/kernel/ptrace.c:777:46: warning: Using plain integer as NULL pointer
 arch/x86/kernel/ptrace.c:1115:45: warning: Using plain integer as NULL pointer
 arch/x86/kernel/ds.c:482:26: warning: Using plain integer as NULL pointer
 arch/x86/kernel/ds.c:487:25: warning: Using plain integer as NULL pointer

Signed-off-by: Harvey Harrison &lt;harvey.harrison@gmail.com&gt;
Acked-by: Cyrill Gorcunov &lt;gorcunov@gmail.com&gt;
Signed-off-by: Ingo Molnar &lt;mingo@elte.hu&gt;
</content>
</entry>
<entry>
<title>x86: fix ds.c build error</title>
<updated>2008-07-25T09:37:24Z</updated>
<author>
<name>Ingo Molnar</name>
</author>
<published>2008-07-25T09:32:36Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=3c9339049df5cc3a468c11de6c4101a1ea8c3d83'/>
<id>urn:sha1:3c9339049df5cc3a468c11de6c4101a1ea8c3d83</id>
<content type='text'>
fix:
arch/x86/kernel/ds.c: In function ‘ds_allocate_buffer':
arch/x86/kernel/ds.c:339: error: implicit declaration of function ‘PAGE_ALIGN'

Signed-off-by: Ingo Molnar &lt;mingo@elte.hu&gt;
</content>
</entry>
<entry>
<title>x86: DS cleanup - dont treat 0 as NULL</title>
<updated>2008-05-12T19:27:53Z</updated>
<author>
<name>Cyrill Gorcunov</name>
</author>
<published>2008-04-28T19:15:04Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=573da4224e8c3800e613d715e909c3179a7e3cb2'/>
<id>urn:sha1:573da4224e8c3800e613d715e909c3179a7e3cb2</id>
<content type='text'>
Signed-off-by: Cyrill Gorcunov &lt;gorcunov@gmail.com&gt;
Signed-off-by: Ingo Molnar &lt;mingo@elte.hu&gt;
Signed-off-by: Thomas Gleixner &lt;tglx@linutronix.de&gt;

</content>
</entry>
<entry>
<title>x86, ptrace: PEBS support</title>
<updated>2008-05-12T19:27:53Z</updated>
<author>
<name>Markus Metzger</name>
</author>
<published>2008-04-08T09:01:58Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=93fa7636dfdc059b25df148f230c0991096afdef'/>
<id>urn:sha1:93fa7636dfdc059b25df148f230c0991096afdef</id>
<content type='text'>
Polish the ds.h interface and add support for PEBS.

Ds.c is meant to be the resource allocator for per-thread and per-cpu
BTS and PEBS recording.
It is used by ptrace/utrace to provide execution tracing of debugged tasks.
It will be used by profilers (e.g. perfmon2).
It may be used by kernel debuggers to provide a kernel execution trace.

Changes in detail:
- guard DS and ptrace by CONFIG macros
- separate DS and BTS more clearly
- simplify field accesses
- add functions to manage PEBS buffers
- add simple protection/allocation mechanism
- added support for Atom

Opens:
- buffer overflow handling
  Currently, only circular buffers are supported. This is all we need
  for debugging. Profilers would want an overflow notification.
  This is planned to be added when perfmon2 is made to use the ds.h
  interface.
- utrace intermediate layer

Signed-off-by: Markus Metzger &lt;markus.t.metzger@intel.com&gt;
Signed-off-by: Ingo Molnar &lt;mingo@elte.hu&gt;
Signed-off-by: Thomas Gleixner &lt;tglx@linutronix.de&gt;

</content>
</entry>
<entry>
<title>x86: debug Store - call kfree if only we really need it</title>
<updated>2008-04-17T15:41:34Z</updated>
<author>
<name>Cyrill Gorcunov</name>
</author>
<published>2008-04-01T15:41:50Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=431ef7a2a486201967304fcc9cfc33e945626fed'/>
<id>urn:sha1:431ef7a2a486201967304fcc9cfc33e945626fed</id>
<content type='text'>
We should call for kfree if only we really need it.
Though it's safe to call kfree with NULL pointer passed
in this code we've already tested the pointer and can
eliminate the call

Signed-off-by: Cyrill Gorcunov &lt;gorcunov@gmail.com&gt;
Signed-off-by: Ingo Molnar &lt;mingo@elte.hu&gt;
</content>
</entry>
</feed>
