• Graf Yang's avatar
    Blackfin: SMP: make all barriers handle cache issues · 943aee0c
    Graf Yang authored
    When suspending/resuming, the common task freezing code will run in
    parallel and freeze processes on each core.  This is because the code
    uses the non-smp version of memory barriers (as well it should).
    
    The Blackfin smp barrier logic at the moment contains the cache sync
    logic, but the non-smp barriers do not.  This is incorrect as Rafel
    summarized:
    > ...
    > The existing memory barriers are SMP barriers too, but they are more
    > than _just_ SMP barriers.  At least that's how it is _supposed_ to be
    > (eg. rmb() is supposed to be stronger than smp_rmb()).
    > ...
    > However, looking at the blackfin's definitions of SMP barriers I see
    > that it uses extra stuff that should _also_ be used in the definitions
    > of the mandatory barriers.
    > ...
    
    URL: http://lkml.org/lkml/2011/4/13/11
    LKML-Reference: <BANLkTi=F-C-vwX4PGGfbkdTBw3OWL-twfg@mail.gmail.com>
    Signed-off-by: default avatarGraf Yang <graf.yang@analog.com>
    Signed-off-by: default avatarMike Frysinger <vapier@gentoo.org>
    943aee0c
system.h 4.9 KB