From: Borislav Petkov <bp@alien8.de>
To: Stefan Bader <stefan.bader@canonical.com>
Cc: Peter Zijlstra <peterz@infradead.org>,
Paolo Bonzini <pbonzini@redhat.com>,
Linux Kernel Mailing List <linux-kernel@vger.kernel.org>,
kvm@vger.kernel.org, Marcelo Tosatti <mtosatti@redhat.com>,
MASAO TAKAHASHI <masao-takahashi@kanno.co.jp>,
Joerg Roedel <joro@8bytes.org>
Subject: Re: Another preempt folding issue?
Date: Fri, 14 Feb 2014 15:47:00 +0100 [thread overview]
Message-ID: <20140214144700.GC26356@pd.tnic> (raw)
In-Reply-To: <52FE2709.3050505@canonical.com>
On Fri, Feb 14, 2014 at 03:24:09PM +0100, Stefan Bader wrote:
> Actually, this code just makes so much more sense if I let objdump do
> relocation info...
Ok, we're pretty sure you have an MFENCE there in resched_task but can
you confirm it please.
First, does /proc/cpuinfo have the "sse2" string? It should but nowadays
I don't trust anything.
Then, can you boot that kernel in qemu with the -gdb flag so that it
starts the gdb stub, here's the manpage about it:
-gdb dev
Wait for gdb connection on device dev. Typical connections will likely be
TCP-based, but also UDP, pseudo TTY, or even stdio are reasonable use case.
The latter is allowing to start QEMU from within gdb and establish the
connection via a pipe:
(gdb) target remote | exec qemu-system-i386 -gdb stdio ...
-s Shorthand for -gdb tcp::1234, i.e. open a gdbserver on TCP port 1234.
then boot the guest and when it is up, do
$ gdb ./vmlinux
$ target remote localhost:1234
and type in the prompt
$ (gdb) x/50i resched_task
It gives here:
(gdb) x/50i resched_task
0xffffffff810836f0 <resched_task>: data32 data32 data32 xchg %ax,%ax
0xffffffff810836f5 <resched_task+5>: push %rbp
0xffffffff810836f6 <resched_task+6>: mov 0x85e123(%rip),%r10d # 0xffffffff818e1820 <debug_locks>
0xffffffff810836fd <resched_task+13>: mov %rsp,%rbp
0xffffffff81083700 <resched_task+16>: push %r12
0xffffffff81083702 <resched_task+18>: test %r10d,%r10d
0xffffffff81083705 <resched_task+21>: push %rbx
0xffffffff81083706 <resched_task+22>: mov %rdi,%rbx
0xffffffff81083709 <resched_task+25>: jne 0xffffffff81083760 <resched_task+112>
0xffffffff8108370b <resched_task+27>: mov 0x8(%rbx),%rax
0xffffffff8108370f <resched_task+31>: mov 0x10(%rax),%rdx
0xffffffff81083713 <resched_task+35>: and $0x8,%edx
0xffffffff81083716 <resched_task+38>: jne 0xffffffff8108373c <resched_task+76>
0xffffffff81083718 <resched_task+40>: lock orb $0x8,0x10(%rax)
0xffffffff8108371d <resched_task+45>: mov 0x8(%rbx),%rax
0xffffffff81083721 <resched_task+49>: mov 0x18(%rax),%r12d
0xffffffff81083725 <resched_task+53>: callq 0xffffffff812d8fc0 <debug_smp_processor_id>
0xffffffff8108372a <resched_task+58>: cmp %r12d,%eax
0xffffffff8108372d <resched_task+61>: je 0xffffffff810837a0 <resched_task+176>
0xffffffff8108372f <resched_task+63>: mfence
^^^^^^
I want to make sure the smp_mb() is really replaced with an MFENCE there.
Thanks!
--
Regards/Gruss,
Boris.
Sent from a fat crate under my desk. Formatting is fine.
--
next prev parent reply other threads:[~2014-02-14 14:47 UTC|newest]
Thread overview: 34+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-02-11 18:34 Stefan Bader
2014-02-11 19:45 ` Peter Zijlstra
2014-02-12 8:20 ` Stefan Bader
2014-02-12 10:37 ` Peter Zijlstra
2014-02-12 10:40 ` Borislav Petkov
2014-02-12 11:09 ` Stefan Bader
2014-02-12 11:54 ` Peter Zijlstra
2014-02-13 17:00 ` Stefan Bader
2014-02-13 17:38 ` Peter Zijlstra
2014-02-13 18:03 ` Stefan Bader
2014-02-13 18:26 ` Peter Zijlstra
2014-02-14 13:34 ` Borislav Petkov
2014-02-14 13:40 ` Stefan Bader
2014-02-14 14:24 ` Stefan Bader
2014-02-14 14:47 ` Borislav Petkov [this message]
2014-02-14 17:02 ` Stefan Bader
2014-02-14 17:21 ` Peter Zijlstra
2014-02-20 15:38 ` Stefan Bader
2014-02-20 15:50 ` Peter Zijlstra
2014-03-24 17:39 ` Paolo Bonzini
2014-03-25 8:23 ` Stefan Bader
2014-02-14 17:33 ` Borislav Petkov
2014-02-14 18:23 ` Stefan Bader
2014-02-14 19:03 ` Stefan Bader
2014-02-14 15:21 ` Another preempt folding issue? (maybe bisect) Borislav Petkov
2014-02-14 15:28 ` Stefan Bader
2014-02-14 15:44 ` Borislav Petkov
2014-02-14 16:21 ` Peter Zijlstra
2014-02-13 18:25 ` Another preempt folding issue? Peter Zijlstra
2014-02-14 10:55 ` Stefan Bader
2014-02-14 13:17 ` Peter Zijlstra
2014-02-14 11:24 ` Stefan Bader
2014-02-14 11:49 ` Peter Zijlstra
2014-02-12 11:12 ` Joerg Roedel
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=20140214144700.GC26356@pd.tnic \
--to=bp@alien8.de \
--cc=joro@8bytes.org \
--cc=kvm@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=masao-takahashi@kanno.co.jp \
--cc=mtosatti@redhat.com \
--cc=pbonzini@redhat.com \
--cc=peterz@infradead.org \
--cc=stefan.bader@canonical.com \
/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
Powered by JetHome