LCOV - code coverage report
Current view: top level - include/trace/events - lock.h (source / functions) Hit Total Coverage
Test: landlock.info Lines: 2 3 66.7 %
Date: 2021-04-22 12:43:58 Functions: 2 11 18.2 %

          Line data    Source code
       1             : /* SPDX-License-Identifier: GPL-2.0 */
       2             : #undef TRACE_SYSTEM
       3             : #define TRACE_SYSTEM lock
       4             : 
       5             : #if !defined(_TRACE_LOCK_H) || defined(TRACE_HEADER_MULTI_READ)
       6             : #define _TRACE_LOCK_H
       7             : 
       8             : #include <linux/lockdep.h>
       9             : #include <linux/tracepoint.h>
      10             : 
      11             : #ifdef CONFIG_LOCKDEP
      12             : 
      13    26905712 : TRACE_EVENT(lock_acquire,
      14             : 
      15             :         TP_PROTO(struct lockdep_map *lock, unsigned int subclass,
      16             :                 int trylock, int read, int check,
      17             :                 struct lockdep_map *next_lock, unsigned long ip),
      18             : 
      19             :         TP_ARGS(lock, subclass, trylock, read, check, next_lock, ip),
      20             : 
      21             :         TP_STRUCT__entry(
      22             :                 __field(unsigned int, flags)
      23             :                 __string(name, lock->name)
      24             :                 __field(void *, lockdep_addr)
      25             :         ),
      26             : 
      27             :         TP_fast_assign(
      28             :                 __entry->flags = (trylock ? 1 : 0) | (read ? 2 : 0);
      29             :                 __assign_str(name, lock->name);
      30             :                 __entry->lockdep_addr = lock;
      31             :         ),
      32             : 
      33             :         TP_printk("%p %s%s%s", __entry->lockdep_addr,
      34             :                   (__entry->flags & 1) ? "try " : "",
      35             :                   (__entry->flags & 2) ? "read " : "",
      36             :                   __get_str(name))
      37             : );
      38             : 
      39           0 : DECLARE_EVENT_CLASS(lock,
      40             : 
      41             :         TP_PROTO(struct lockdep_map *lock, unsigned long ip),
      42             : 
      43             :         TP_ARGS(lock, ip),
      44             : 
      45             :         TP_STRUCT__entry(
      46             :                 __string(       name,   lock->name   )
      47             :                 __field(        void *, lockdep_addr    )
      48             :         ),
      49             : 
      50             :         TP_fast_assign(
      51             :                 __assign_str(name, lock->name);
      52             :                 __entry->lockdep_addr = lock;
      53             :         ),
      54             : 
      55             :         TP_printk("%p %s",  __entry->lockdep_addr, __get_str(name))
      56             : );
      57             : 
      58    26895833 : DEFINE_EVENT(lock, lock_release,
      59             : 
      60             :         TP_PROTO(struct lockdep_map *lock, unsigned long ip),
      61             : 
      62             :         TP_ARGS(lock, ip)
      63             : );
      64             : 
      65             : #ifdef CONFIG_LOCK_STAT
      66             : 
      67             : DEFINE_EVENT(lock, lock_contended,
      68             : 
      69             :         TP_PROTO(struct lockdep_map *lock, unsigned long ip),
      70             : 
      71             :         TP_ARGS(lock, ip)
      72             : );
      73             : 
      74             : DEFINE_EVENT(lock, lock_acquired,
      75             : 
      76             :         TP_PROTO(struct lockdep_map *lock, unsigned long ip),
      77             : 
      78             :         TP_ARGS(lock, ip)
      79             : );
      80             : 
      81             : #endif
      82             : #endif
      83             : 
      84             : #endif /* _TRACE_LOCK_H */
      85             : 
      86             : /* This part must be outside protection */
      87             : #include <trace/define_trace.h>

Generated by: LCOV version 1.14