On Wed, Sep 14, 2022 at 07:15:07AM -0700, Joe Damato wrote: > On Wed, Sep 14, 2022 at 12:40:55AM -0700, Dave Hansen wrote: > > On 9/13/22 18:51, Joe Damato wrote: > > > TLB shootdowns are tracked globally, but on a busy system it can be > > > difficult to disambiguate the source of TLB shootdowns. > > > > > > Add two counter fields: > > > - nrtlbflush: number of tlb flush events received > > > - ngtlbflush: number of tlb flush events generated > > > > > > Expose those fields in /proc/[pid]/stat so that they can be analyzed > > > alongside similar metrics (e.g. min_flt and maj_flt). > > > > On x86 at least, we already have two other ways to count flushes. You > > even quoted them with your patch: > > > > > count_vm_tlb_event(NR_TLB_REMOTE_FLUSH); > > > + current->ngtlbflush++; > > > if (info->end == TLB_FLUSH_ALL) > > > trace_tlb_flush(TLB_REMOTE_SEND_IPI, TLB_FLUSH_ALL); > > > > Granted, the count_vm_tlb...() one is debugging only. But, did you try > > to use those other mechanisms? For instance, could you patch > > count_vm_tlb_event()? > > I tried to address this in my cover letter[1]... Err, I forgot the [1]: https://lore.kernel.org/linux-mm/1663120270-2673-1-git-send-email-jdamato@xxxxxxxxxx/