PHPFixing
  • Privacy Policy
  • TOS
  • Ask Question
  • Contact Us
  • Home
  • PHP
  • Programming
  • SQL Injection
  • Web3.0

Sunday, November 13, 2022

[FIXED] What will happen on dcache in backends when one physical address mapped different virtual address?

 November 13, 2022     arm, linux, memcached     No comments   

Issue

im puzzled on cache issue for arm. Here, I mapped the same block or physical memory and got two different virtual address without O_SYNC, that's both two would be cached: (assume I only access the first 4 bytes of the two)

  1. If i read two address, how many dcache entries would be loaded, one or two?
  2. If i did write operation on one virtual memory, how many dcache entries would be marked dirty, one or two(if have to dcache entries)? what happened at the backends for dcache entries?

Thanks.


Solution

Recent ARMs are specified to behave as if the caches are physically tagged (e.g. cache lines identified by physical addresses), so multiple aliased virtual addresses (even in separate processes) should reflect the same physical cache line.

This isn't universally true; older ARM cores prior to the ARM-v7A architecture supported virtually tagged caches.



Answered By - solidpixel
Answer Checked By - David Goodson (PHPFixing Volunteer)
  • Share This:  
  •  Facebook
  •  Twitter
  •  Stumble
  •  Digg
Newer Post Older Post Home

0 Comments:

Post a Comment

Note: Only a member of this blog may post a comment.

Total Pageviews

Featured Post

Why Learn PHP Programming

Why Learn PHP Programming A widely-used open source scripting language PHP is one of the most popular programming languages in the world. It...

Subscribe To

Posts
Atom
Posts
Comments
Atom
Comments

Copyright © PHPFixing