question about serializing instructions

From: Vasanth Venkatachalam (spamtrap_at_crayne.org)
Date: 10/26/04


Date: Mon, 25 Oct 2004 22:42:51 +0000 (UTC)

Suppose I have a LOAD instruction that causes a main memory access. And say
I insert a serializing instruction cpuid after that load instruction:

<LOAD>
<cpuid>

1. Then am I right that the processor would stall, since the cpuid forces
the processor
to wait for the LOAD to complete before it can instructions after that load?

2. Do serializing instructions like cpuid protect against context switches,
or can a context switch cause instructions of another task to be executed
before the LOAD completes?



Relevant Pages

  • Re: Nop insertion
    ... I've never seen NOPs used so deliberately outside of device driver ... advance to guarantee completion before any instruction that uses the ... That requires knowledge of the memory system ... because the load could be served from the cache or have to go all the ...
    (comp.compilers)
  • Re: question about serializing instructions
    ... Suppose I have a LOAD instruction that causes a main memory access. ... : I insert a serializing instruction cpuid after that load instruction: ... Then am I right that the processor would stall, since the cpuid forces ...
    (comp.lang.asm.x86)
  • Re: SSE2 int/fp query - MOVHPD
    ... |> (setup by load xmm) for this two fields doesn't something ... MOVHPD instruction for XMM to memory move: ... MOVQ instruction when source operand is memory location ...
    (alt.lang.asm)
  • Re: IBM 45nm -- new or licensed from Intel?
    ... It's obvious that it is always better to load ... that much of the code in an instruction block is likely to be used. ... An immediate provides another advantages over a load from a ... number of registers (which is not the case between x86-64 and ARM), ...
    (comp.arch)
  • Re: [patch 05/14] percpu: Use a Kconfig variable to configure arch specific percpu setup
    ... A load of a 64 bit address would require much more ... Operations on per cpu data on x86_64 must therefore ... because of preemption issues. ... and a single instruction means that masking interrupts ...
    (Linux-Kernel)