~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

TOMOYO Linux Cross Reference
Linux/kernel/locking/lock_events_list.h

Version: ~ [ linux-6.11.5 ] ~ [ linux-6.10.14 ] ~ [ linux-6.9.12 ] ~ [ linux-6.8.12 ] ~ [ linux-6.7.12 ] ~ [ linux-6.6.58 ] ~ [ linux-6.5.13 ] ~ [ linux-6.4.16 ] ~ [ linux-6.3.13 ] ~ [ linux-6.2.16 ] ~ [ linux-6.1.114 ] ~ [ linux-6.0.19 ] ~ [ linux-5.19.17 ] ~ [ linux-5.18.19 ] ~ [ linux-5.17.15 ] ~ [ linux-5.16.20 ] ~ [ linux-5.15.169 ] ~ [ linux-5.14.21 ] ~ [ linux-5.13.19 ] ~ [ linux-5.12.19 ] ~ [ linux-5.11.22 ] ~ [ linux-5.10.228 ] ~ [ linux-5.9.16 ] ~ [ linux-5.8.18 ] ~ [ linux-5.7.19 ] ~ [ linux-5.6.19 ] ~ [ linux-5.5.19 ] ~ [ linux-5.4.284 ] ~ [ linux-5.3.18 ] ~ [ linux-5.2.21 ] ~ [ linux-5.1.21 ] ~ [ linux-5.0.21 ] ~ [ linux-4.20.17 ] ~ [ linux-4.19.322 ] ~ [ linux-4.18.20 ] ~ [ linux-4.17.19 ] ~ [ linux-4.16.18 ] ~ [ linux-4.15.18 ] ~ [ linux-4.14.336 ] ~ [ linux-4.13.16 ] ~ [ linux-4.12.14 ] ~ [ linux-4.11.12 ] ~ [ linux-4.10.17 ] ~ [ linux-4.9.337 ] ~ [ linux-4.4.302 ] ~ [ linux-3.10.108 ] ~ [ linux-2.6.32.71 ] ~ [ linux-2.6.0 ] ~ [ linux-2.4.37.11 ] ~ [ unix-v6-master ] ~ [ ccs-tools-1.8.9 ] ~ [ policy-sample ] ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

  1 /* SPDX-License-Identifier: GPL-2.0 */
  2 /*
  3  * This program is free software; you can redistribute it and/or modify
  4  * it under the terms of the GNU General Public License as published by
  5  * the Free Software Foundation; either version 2 of the License, or
  6  * (at your option) any later version.
  7  *
  8  * This program is distributed in the hope that it will be useful,
  9  * but WITHOUT ANY WARRANTY; without even the implied warranty of
 10  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 11  * GNU General Public License for more details.
 12  *
 13  * Authors: Waiman Long <longman@redhat.com>
 14  */
 15 
 16 #ifndef LOCK_EVENT
 17 #define LOCK_EVENT(name)        LOCKEVENT_ ## name,
 18 #endif
 19 
 20 #ifdef CONFIG_QUEUED_SPINLOCKS
 21 #ifdef CONFIG_PARAVIRT_SPINLOCKS
 22 /*
 23  * Locking events for PV qspinlock.
 24  */
 25 LOCK_EVENT(pv_hash_hops)        /* Average # of hops per hashing operation */
 26 LOCK_EVENT(pv_kick_unlock)      /* # of vCPU kicks issued at unlock time   */
 27 LOCK_EVENT(pv_kick_wake)        /* # of vCPU kicks for pv_latency_wake     */
 28 LOCK_EVENT(pv_latency_kick)     /* Average latency (ns) of vCPU kick       */
 29 LOCK_EVENT(pv_latency_wake)     /* Average latency (ns) of kick-to-wakeup  */
 30 LOCK_EVENT(pv_lock_stealing)    /* # of lock stealing operations           */
 31 LOCK_EVENT(pv_spurious_wakeup)  /* # of spurious wakeups in non-head vCPUs */
 32 LOCK_EVENT(pv_wait_again)       /* # of wait's after queue head vCPU kick  */
 33 LOCK_EVENT(pv_wait_early)       /* # of early vCPU wait's                  */
 34 LOCK_EVENT(pv_wait_head)        /* # of vCPU wait's at the queue head      */
 35 LOCK_EVENT(pv_wait_node)        /* # of vCPU wait's at non-head queue node */
 36 #endif /* CONFIG_PARAVIRT_SPINLOCKS */
 37 
 38 /*
 39  * Locking events for qspinlock
 40  *
 41  * Subtracting lock_use_node[234] from lock_slowpath will give you
 42  * lock_use_node1.
 43  */
 44 LOCK_EVENT(lock_pending)        /* # of locking ops via pending code         */
 45 LOCK_EVENT(lock_slowpath)       /* # of locking ops via MCS lock queue       */
 46 LOCK_EVENT(lock_use_node2)      /* # of locking ops that use 2nd percpu node */
 47 LOCK_EVENT(lock_use_node3)      /* # of locking ops that use 3rd percpu node */
 48 LOCK_EVENT(lock_use_node4)      /* # of locking ops that use 4th percpu node */
 49 LOCK_EVENT(lock_no_node)        /* # of locking ops w/o using percpu node    */
 50 #endif /* CONFIG_QUEUED_SPINLOCKS */
 51 
 52 /*
 53  * Locking events for rwsem
 54  */
 55 LOCK_EVENT(rwsem_sleep_reader)  /* # of reader sleeps                   */
 56 LOCK_EVENT(rwsem_sleep_writer)  /* # of writer sleeps                   */
 57 LOCK_EVENT(rwsem_wake_reader)   /* # of reader wakeups                  */
 58 LOCK_EVENT(rwsem_wake_writer)   /* # of writer wakeups                  */
 59 LOCK_EVENT(rwsem_opt_lock)      /* # of opt-acquired write locks        */
 60 LOCK_EVENT(rwsem_opt_fail)      /* # of failed optspins                 */
 61 LOCK_EVENT(rwsem_opt_nospin)    /* # of disabled optspins               */
 62 LOCK_EVENT(rwsem_rlock)         /* # of read locks acquired             */
 63 LOCK_EVENT(rwsem_rlock_steal)   /* # of read locks by lock stealing     */
 64 LOCK_EVENT(rwsem_rlock_fast)    /* # of fast read locks acquired        */
 65 LOCK_EVENT(rwsem_rlock_fail)    /* # of failed read lock acquisitions   */
 66 LOCK_EVENT(rwsem_rlock_handoff) /* # of read lock handoffs              */
 67 LOCK_EVENT(rwsem_wlock)         /* # of write locks acquired            */
 68 LOCK_EVENT(rwsem_wlock_fail)    /* # of failed write lock acquisitions  */
 69 LOCK_EVENT(rwsem_wlock_handoff) /* # of write lock handoffs             */
 70 

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

kernel.org | git.kernel.org | LWN.net | Project Home | SVN repository | Mail admin

Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.

sflogo.php