Re: CPU cores...

"Hendrik Visage" <[email protected]> Wed, 17 Jan 2007 13:23:54 +0200
Newsgroups org.kernel.vger.linux-assembly
Message-ID <[email protected]>
On 1/16/07, Henio Paszczak <[email protected]> wrote:
> >
> Yes .. I understand that kernel is controlling that
> everything, but for sure there is some linux system
> call which give possibility to load secund core
> another thread, to synchronize this processes and so
> one. Any way .. some body  had to write the kernel and
> give it "power" to decide which core to use ( of
> course i can read kernel source and for sure i will,
> but now i don't have enough time :) )

SOlaris gives you (the system administrator/programmer/etc)
 the ability to bind (using pbind) a process (not sure about threads,
but it might
be possible too) to a specific CPU/core.
I still haven't played enough on multiple core Linux servers to
have a need for that facility/function :( as I've found that the
kernel's scheduling is mostly adequate enough once I've threaded/forked of the
correct number of threads/processes for the available CPUs/cores.

... so for
> example i want to create binary file .. program which
> doing some computation on both cores, put it to
> diskette boot block and restart system. There is no
> linux and other os I can use only bios system calls
> etc. and there is for sure some method to take control
> over both cores.
> Lukas

Check on ACPI and I think MPI (I believe 1.4 is the later version)
that tells you
about these CPUs/cores etc.

Then use the bus locking instructions for synchronization and protection
of critical stages/areas in your code. Again these principles are described
in most text books on process/thread synchronization, it's just the
assembler codes
that different from CPU to CPU ;^P


-- 
Hendrik Visage