Skip to content
Snippets Groups Projects
Select Git revision
  • 47b5ece937c27a2f541cb26509f7ba5491c8c99c
  • openEuler-1.0-LTS default protected
  • openEuler-22.09
  • OLK-5.10
  • openEuler-22.03-LTS
  • openEuler-22.03-LTS-Ascend
  • master
  • openEuler-22.03-LTS-LoongArch-NW
  • openEuler-22.09-HCK
  • openEuler-20.03-LTS-SP3
  • openEuler-21.09
  • openEuler-21.03
  • openEuler-20.09
  • 4.19.90-2210.5.0
  • 5.10.0-123.0.0
  • 5.10.0-60.63.0
  • 5.10.0-60.62.0
  • 4.19.90-2210.4.0
  • 5.10.0-121.0.0
  • 5.10.0-60.61.0
  • 4.19.90-2210.3.0
  • 5.10.0-60.60.0
  • 5.10.0-120.0.0
  • 5.10.0-60.59.0
  • 5.10.0-119.0.0
  • 4.19.90-2210.2.0
  • 4.19.90-2210.1.0
  • 5.10.0-118.0.0
  • 5.10.0-106.19.0
  • 5.10.0-60.58.0
  • 4.19.90-2209.6.0
  • 5.10.0-106.18.0
  • 5.10.0-106.17.0
33 results

workqueue.h

Blame
  • workqueue.h 2.73 KiB
    /* SPDX-License-Identifier: GPL-2.0 */
    #undef TRACE_SYSTEM
    #define TRACE_SYSTEM workqueue
    
    #if !defined(_TRACE_WORKQUEUE_H) || defined(TRACE_HEADER_MULTI_READ)
    #define _TRACE_WORKQUEUE_H
    
    #include <linux/tracepoint.h>
    #include <linux/workqueue.h>
    
    DECLARE_EVENT_CLASS(workqueue_work,
    
    	TP_PROTO(struct work_struct *work),
    
    	TP_ARGS(work),
    
    	TP_STRUCT__entry(
    		__field( void *,	work	)
    	),
    
    	TP_fast_assign(
    		__entry->work		= work;
    	),
    
    	TP_printk("work struct %p", __entry->work)
    );
    
    struct pool_workqueue;
    
    /**
     * workqueue_queue_work - called when a work gets queued
     * @req_cpu:	the requested cpu
     * @pwq:	pointer to struct pool_workqueue
     * @work:	pointer to struct work_struct
     *
     * This event occurs when a work is queued immediately or once a
     * delayed work is actually queued on a workqueue (ie: once the delay
     * has been reached).
     */
    TRACE_EVENT(workqueue_queue_work,
    
    	TP_PROTO(unsigned int req_cpu, struct pool_workqueue *pwq,
    		 struct work_struct *work),
    
    	TP_ARGS(req_cpu, pwq, work),
    
    	TP_STRUCT__entry(
    		__field( void *,	work	)
    		__field( void *,	function)
    		__field( void *,	workqueue)
    		__field( unsigned int,	req_cpu	)
    		__field( unsigned int,	cpu	)
    	),
    
    	TP_fast_assign(
    		__entry->work		= work;
    		__entry->function	= work->func;
    		__entry->workqueue	= pwq->wq;
    		__entry->req_cpu	= req_cpu;
    		__entry->cpu		= pwq->pool->cpu;
    	),
    
    	TP_printk("work struct=%p function=%pf workqueue=%p req_cpu=%u cpu=%u",
    		  __entry->work, __entry->function, __entry->workqueue,
    		  __entry->req_cpu, __entry->cpu)
    );
    
    /**
     * workqueue_activate_work - called when a work gets activated
     * @work:	pointer to struct work_struct