Linux Multi-processing

From: Srinivas Murthy (the.srinivas_at_gmail.com)
Date: 08/04/04

  • Next message: Frank Meyer: "Yellow Dog notes.."
    Date: Tue, 3 Aug 2004 16:26:05 -0700
    
    

    Hi,
        We have a multi-processor with 2 IBM PPC44X's on a custom SoC platform.
    There is no cache coherence/consistency support between these two processors
    (no cache-snooping etc. as is typically done a SMP platform).

        We would like to run an SMP Linux OS on this platform. What are the
    options (architecturally) that we have to get this to work correctly?

        Is it possible to localise all kernel mode operations to the same CPU
    all the time?

        I'm thinking that we might have to disable cache on shared memory, tweak
    synch objects (semaphores, mutexes, etc.) to disable cache, etc.

        We are open to localising threads to specific processors to avoid thread
    migration and the associated cache coherency requirement ( thread updates a
    global variable that is cached and wakes up on a diff processor to see the
    old value, etc.). However, I'm not sure what are all the changes required in
    the kernel itself (specifically wrt interrupt handling). Can you please list
    the things that we need to be worried about?

        Anybody know of any such implementations already?

        Thanks much for your time!

    Regards,
    -Srinivas


  • Next message: Frank Meyer: "Yellow Dog notes.."

    Relevant Pages

    • Linux Multi-processing
      ... We have a multi-processor with 2 IBM PPC44X's on a custom SoC platform. ... There is no cache coherence/consistency support between these two processors ... (no cache-snooping etc. as is typically done a SMP platform). ...
      (alt.os.linux)
    • Re: Linux Multi-processing
      ... > There is no cache coherence/consistency support between these two ... > (no cache-snooping etc. as is typically done a SMP platform). ... > synch objects to disable cache, etc. ... > migration and the associated cache coherency requirement (thread updates ...
      (alt.os.linux)