• Vineet Gupta's avatar
    ARC: cacheflush optim - PTAG can be loop invariant if V-P is const · d4599baf
    Vineet Gupta authored
    Line op needs vaddr (indexing) and paddr (tag match). For page sized
    flushes (V-P const), each line op will need a different index, but the
    tag bits wil remain constant, hence paddr can be setup once outside the
    loop.
    
    This improves select LMBench numbers for Aliasing dcache where we have
    more "preventive" cache flushing.
    
    Processor, Processes - times in microseconds - smaller is better
    ------------------------------------------------------------------------------
    Host                 OS  Mhz null null      open slct sig  sig  fork exec sh
                                 call  I/O stat clos TCP  inst hndl proc proc proc
    --------- ------------- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ----
    3.11-rc7- Linux 3.11.0-   80 4.66 8.88 69.7 112. 268. 8.60 28.0 3489 13.K 27.K	# Non alias ARC700
    3.11-rc7- Linux 3.11.0-   80 4.64 8.51 68.6 98.5 271. 8.58 28.1 4160 15.K 32.K	# Aliasing
    3.11-rc7- Linux 3.11.0-   80 4.64 8.51 69.8 99.4 270. 8.73 27.5 3880 15.K 31.K	# PTAG loop Inv
    Signed-off-by: default avatarVineet Gupta <vgupta@synopsys.com>
    d4599baf
cache_arc700.c 21.6 KB