Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

309
Views
Dividir la página enorme del núcleo (THP) devuelta por alloc_pages()

Estoy buscando una manera de dividir las asignaciones de página enorme (2MiB) del kernel en las entradas de tabla de página más pequeñas (4KiB). Hasta ahora, solo encontré la función set_memory_4k , que solo funciona durante la etapa inicial de arranque (la variable global early_boot_irqs_disabled debe ser verdadera). Soy un poco reacio a deshabilitar las interrupciones para llamar a esta función, pero no conozco ninguna otra forma de dividir una tabla de páginas del kernel (no del usuario).

El objetivo es mapear páginas individuales de 4 KB con diferentes permisos. Sin embargo, las páginas devueltas a través alloc_pages() suelen formar parte de asignaciones de 2 MB. No tengo la opción de usar ningún otro asignador ( vmalloc , kmalloc , memblock , ...), por lo que debo usar la función alloc_pages() o cualquiera de sus variantes.

Información adicional:

Soy consciente de la función existente split_huge_page . Desafortunadamente, este enfoque no funciona para las struct page que representan la memoria del kernel. La razón de esto (según LWN ) es que el campo page->mapping , que se verifica antes de la división, no debe ser NULL . Esto no se aplica a las páginas del kernel, por lo que este enfoque también parece funcionar solo para las páginas del espacio del usuario.

over 4 years ago · Santiago Trujillo
1 answers
Answer question

0

No estoy seguro de entender su pregunta con claridad. Veo que lo que necesitas es split_huge_pmd no split_huge_page ?

over 4 years ago · Santiago Trujillo Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!