Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

258
Visualizações
¿Cómo lograr una alta pérdida de TLB?

Estoy tratando de escribir un fragmento de código que logre una tasa de fallas de TLB muy alta (más del 95%). Se me ocurrió el siguiente código C que podría alcanzar alrededor del 30% de fallas de d-TLB.

Uso un tamaño de página de 4096 bytes en un procesador Intel x86_64 y Ubuntu 20.04 (kernel v5.4).

 #include <stdio.h> #include <stdlib.h> #define MEMORY_SIZE (1024 * 1024 * 1024) #define PAGE_SIZE 4096 #define PAGE_COUNT (MEMORY_SIZE / PAGE_SIZE) typedef unsigned char byte; typedef byte Page[PAGE_SIZE]; int main(int argc, char *argv[]) { register int loop = 3000; Page *pages = (Page *)malloc(PAGE_COUNT * sizeof(Page)); while (loop-- > 0) { for (register int i = 0; i < PAGE_COUNT; ++i) { register int page_num = (i % 2) ? i : PAGE_COUNT - i; pages[page_num][0]++; } } free(pages); return 0; }

Para compilar: $ gcc main.c -o main

Para ejecutar y medir usando el comando perf : $ sudo perf stat -e dTLB-loads-misses,dTLB-loads ./main

Y aquí está la salida:

 Performance counter stats for './main': 521,160,735 dTLB-loads-misses # 28.02% of all dTLB cache accesses 1,860,126,043 dTLB-loads 12.759230463 seconds time elapsed 12.429918000 seconds user 0.328050000 seconds sys

La salida del comando cpuid que contiene mi información TLB:

 cache and TLB information (2): 0x63: data TLB: 2M/4M pages, 4-way, 32 entries data TLB: 1G pages, 4-way, 4 entries 0x03: data TLB: 4K pages, 4-way, 64 entries 0x76: instruction TLB: 2M/4M pages, fully, 8 entries 0xb5: instruction TLB: 4K, 8-way, 64 entries 0xc3: L2 TLB: 4K/2M pages, 6-way, 1536 entries

La pregunta es, ¿cómo lograr fallas de TLB mucho más altas (más del 95%)?

Gracias

over 4 years ago · Santiago Trujillo
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda