Messages in this thread | | | From | "Huang, Kai" <> | Subject | Re: [PATCH 09/13] x86/tdx: Account shared memory | Date | Tue, 10 Oct 2023 10:05:21 +0000 |
| |
> +#ifdef CONFIG_DEBUG_FS > +static int tdx_shared_memory_show(struct seq_file *m, void *p) > +{ > + unsigned long addr, end; > + unsigned long found = 0; > + > + addr = PAGE_OFFSET; > + end = PAGE_OFFSET + get_max_mapped(); > + > + while (addr < end) { > + unsigned long size; > + unsigned int level; > + pte_t *pte; > + > + pte = lookup_address(addr, &level); > + size = page_level_size(level); > + > + if (pte && pte_decrypted(*pte)) > + found += size / PAGE_SIZE; > + > + addr += size;
This could be a long loop, perhaps add cond_resched() here?
> + } > + > + seq_printf(m, "Number of unshared pages in kernel page tables: %16lu\n", > + found); > + seq_printf(m, "Number of pages accounted as unshared: %16ld\n", > + atomic_long_read(&nr_shared)); > + return 0; > +} > +
| |