Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

3.0.8 cache fixes #45

Merged
merged 8 commits into from
Jul 7, 2015
Merged

3.0.8 cache fixes #45

merged 8 commits into from
Jul 7, 2015

Commits on Jul 6, 2015

  1. timeconst.pl: Eliminate Perl warning

    defined(@array) is deprecated in Perl and gives off a warning.
    Restructure the code to remove that warning.
    
    [ hpa: it would be interesting to revert to the timeconst.bc script.
      It appears that the failures reported by akpm during testing of
      that script was due to a known broken version of make, not a problem
      with bc.  The Makefile rules could probably be restructured to avoid
      the make bug, or it is probably old enough that it doesn't matter. ]
    
    Reported-by: Andi Kleen <ak@linux.intel.com>
    Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
    Cc: Andrew Morton <akpm@linux-foundation.org>
    Cc: <stable@vger.kernel.org>
    H. Peter Anvin authored and Alex Smith committed Jul 6, 2015
    Configuration menu
    Copy the full SHA
    288ae9c View commit details
    Browse the repository at this point in the history
  2. commit chris.dearman@imgtec.com patch about cacheflush issue on SMP m…

    …ulti-core. The strategy is to flush both dcache and icache on the local CPU by address if the range < cachesize or by index if the range >= cachesize, and to flush the cache by index on all other CPU's.
    
    The other CPU maybe running in different process whit different address mapping,
    protected_blast_icache_range_ipi() maybe failed, so flush icache all with
    local_r4k_flush_icache_ipi(). But local_r4k_flush_icache_ipi() flush icache all by index,
    both flush L1 icache and L2 cache, it slowdown the machine performance.
    Ingenic should optimized the routine later.
    
    Change-Id: Ie95e1fcbb0edf12fd18bdfb592bcaacaf1580d05
    lgwang authored and Alex Smith committed Jul 6, 2015
    Configuration menu
    Copy the full SHA
    b51bc9f View commit details
    Browse the repository at this point in the history
  3. Add protected_blast_other_cpu_icache_range_ipi() for cacheflush. rjzc…

    …ache.h blast_dcache32() remove K0_TO_K1_CHECK(). rjzcache.h fix blast_icache_jz() bug.
    
    Change-Id: I3f23ca4204cb804ee2f986bf0301a4c3e794a845
    lgwang authored and Alex Smith committed Jul 6, 2015
    Configuration menu
    Copy the full SHA
    39b709a View commit details
    Browse the repository at this point in the history
  4. replace local_r4k_flush_*cache_ipi with local_r4k_flush_*cache_jz_ipi…

    …. and remove r4k_on_other_cpu(local_r4k_flush_dcache_jz_ipi,0).
    
    Change-Id: I31252f426dba7326cfe1b13dd1aa587e61e411a2
    lgwang authored and Alex Smith committed Jul 6, 2015
    Configuration menu
    Copy the full SHA
    5b7bd0e View commit details
    Browse the repository at this point in the history
  5. blast_icache_jz() add INVALIDATE_BTB(). blast_dcache_jz() remove SYNC…

    …_WB() for better performance. If user use __flush_cache_all() and then do a DMA transfer, must do SYNC_WB() after do __flush_cache_all().
    
    Change-Id: I55cfbab24b706fab14a9af4f64d24430fbedeb5c
    lgwang authored and Alex Smith committed Jul 6, 2015
    Configuration menu
    Copy the full SHA
    a960796 View commit details
    Browse the repository at this point in the history
  6. r4k_flush_icache_range() replace r4k_on_other_cpu(local_r4k_flush_dca…

    …che_jz_ipi,0) with r4k_on_other_cpu(protected_blast_other_cpu_dcache_range_ipi, &range_addr) for a better performance.
    
    Change-Id: Idbfeecfc3437162f22b62f62d3a28ab19377e42a
    lgwang authored and Alex Smith committed Jul 6, 2015
    Configuration menu
    Copy the full SHA
    d5e93d6 View commit details
    Browse the repository at this point in the history
  7. Update c-jz.c r4k_flush_icache_range(), Flush complete dcache and ica…

    …che on other CPUs.
    
    Test result by 2013-10-25:
    Flush complete dcache and icache on other CPUs with local_r4k_flush_dcache_jz_ipi()
    and local_r4k_flush_icache_jz_ipi(), running flushtest is stable 4days.
    
    Flush dcache_range and icache_range by index on other CPUs,
    with protected_blast_other_cpu_dcache_range_ipi() protected_blast_other_cpu_icache_range_ipi(),
    fails running flushtest after hours. It should be update in the future.
    
    Change-Id: I3446c92cbc67ab9aa0a1131384bf6f3ba52735b6
    lgwang authored and Alex Smith committed Jul 6, 2015
    Configuration menu
    Copy the full SHA
    d5c1e28 View commit details
    Browse the repository at this point in the history
  8. fix:flush icache range bug

    Change-Id: Ibca3dbfa88110576823819c7c9200cc86d014dd6
    dsqiu authored and Alex Smith committed Jul 6, 2015
    Configuration menu
    Copy the full SHA
    74c918d View commit details
    Browse the repository at this point in the history