Uma efetivação, se necessária, pode obter na mm-struet associado para este address space via uma um – Flags. Este caminho em uma efetivação onde a instrução e dara space não são unificados, alguem pode conferir para ver se um-exee esta posto no uma-sum-flags para possivelmente avistar flushing o instruction space, por exemplos:

As duas notas acima para flush-*-mm( ) concermindo o mm-struct (passado indiretamente via uma -um-mm) aplica aqui também.

A implemetação deve também :

• Para flush-cache-range, num virtualmente cache systam, todas entradas cacha que são validas para a página no addrees
no address space descrito pelo uma são para ser invalidados.

• Para flush-tlb-range, qualquer ação necessária para causar o MMU/TLB hardware para não conter traduções estragadas
são para ser efetuadas.

Isto significa que quaisquer traduções estão nos kernel page tables para a página no address space descrito pelo uma
passado são para que a administração de memória hardware, serão vistas deste ponto avançado de qualquer maneira.

 

4.7.3 – Carregando o Flush-PAGE para a RAM (Unsigned Long Page);

 

Este é o patinho feio. Mas sera semântica é necessário em muitas arquiteturas que precisei para adicionar isto apra a arquitetura flush para linux. Brevemente, quando (como um exemplo) serve um kernel um enode cow, isto usa o “suposto” mapeamento de todas memorias fisicas no espaço kernal para efetuar a cópia da página em questão para uma nova página.

Este apresenta um problema para caches virtualmente catalogados que são write-back escritos de volta na natureza. Neste caso, o Kernel toca duas páginas fisicas no espaço Kernel. A sequencia do código sendo descrito aqui essencialmente
parece como:

do_wp_page()
{

[ … ]
copy_cow_page(old_page,new_page); flush_page_to_ram(old_page);
flush_page_to_ram(new_page);
flush_cache_page(vma, address);
modify_address_space();
free_page(old_page);
flush_tlb_page(vma, address);
[ … ]
}

Páginas: 1 2 3 4 5 6 7 8 9 10 11 12 13 14

Páginas ( 10 de 14 ): « Previous123456789 10 11121314Next »