On Wed, 2021-01-27 at 19:23 +0100, Paolo Bonzini wrote: > On 27/01/21 18:25, Joe Perches wrote: > > > > -#ifdef MMU_DEBUG > > -bool dbg = 0; > > -module_param(dbg, bool, 0644); > > -#endif > > - > > #define PTE_PREFETCH_NUM 8 > > > > > > #define PT32_LEVEL_BITS 10 > > @@ -844,17 +839,17 @@ static int pte_list_add(struct kvm_vcpu *vcpu, u64 *spte, > > int i, count = 0; > > > > > > if (!rmap_head->val) { > > - rmap_printk("pte_list_add: %p %llx 0->1\n", spte, *spte); > > + pr_debug("%p %llx 0->1\n", spte, *spte); > > rmap_head->val = (unsigned long)spte; > > } else if (!(rmap_head->val & 1)) { > > - rmap_printk("pte_list_add: %p %llx 1->many\n", spte, *spte); > > + pr_debug("%p %llx 1->many\n", spte, *spte); > > desc = mmu_alloc_pte_list_desc(vcpu); > > This would be extremely slow. These messages are even too verbose for > tracepoints. There's no real object change. It's not enabled unless DEBUG is defined (and it's not enabled by default) or CONFIG_DYNAMIC_DEBUG is enabled and then dynamic_debug jump points are used when not enabled so I think any slowdown, even when dynamic_debug is enabled is trivial.