cregit-Linux how code gets into the kernel

Release 4.11 tools/testing/selftests/rcutorture/formal/srcu-cbmc/src/workqueues.h

#ifndef WORKQUEUES_H

#define WORKQUEUES_H

#include <stdbool.h>

#include "barriers.h"
#include "bug_on.h"
#include "int_typedefs.h"

#include <linux/types.h>

/* Stub workqueue implementation. */

struct work_struct;

typedef void (*work_func_t)(struct work_struct *work);
void delayed_work_timer_fn(unsigned long __data);


struct work_struct {
/*      atomic_long_t data; */
	
unsigned long data;

	
struct list_head entry;
	
work_func_t func;
#ifdef CONFIG_LOCKDEP
	
struct lockdep_map lockdep_map;
#endif
};


struct timer_list {
	
struct hlist_node	entry;
	
unsigned long		expires;
	
void			(*function)(unsigned long);
	
unsigned long		data;
	
u32			flags;
	
int			slack;
};


struct delayed_work {
	
struct work_struct work;
	
struct timer_list timer;

	/* target workqueue and CPU ->timer uses to queue ->work */
	
struct workqueue_struct *wq;
	
int cpu;
};



static inline bool schedule_work(struct work_struct *work) { BUG(); return true; }

Contributors

PersonTokensPropCommitsCommitProp
Lance Roy18100.00%1100.00%
Total18100.00%1100.00%


static inline bool schedule_work_on(int cpu, struct work_struct *work) { BUG(); return true; }

Contributors

PersonTokensPropCommitsCommitProp
Lance Roy21100.00%1100.00%
Total21100.00%1100.00%


static inline bool queue_work(struct workqueue_struct *wq, struct work_struct *work) { BUG(); return true; }

Contributors

PersonTokensPropCommitsCommitProp
Lance Roy23100.00%1100.00%
Total23100.00%1100.00%


static inline bool queue_delayed_work(struct workqueue_struct *wq, struct delayed_work *dwork, unsigned long delay) { BUG(); return true; }

Contributors

PersonTokensPropCommitsCommitProp
Lance Roy27100.00%1100.00%
Total27100.00%1100.00%

#define INIT_WORK(w, f) \ do { \ (w)->data = 0; \ (w)->func = (f); \ } while (0) #define INIT_DELAYED_WORK(w, f) INIT_WORK(&(w)->work, (f)) #define __WORK_INITIALIZER(n, f) { \ .data = 0, \ .entry = { &(n).entry, &(n).entry }, \ .func = f \ } /* Don't bother initializing timer. */ #define __DELAYED_WORK_INITIALIZER(n, f, tflags) { \ .work = __WORK_INITIALIZER((n).work, (f)), \ } #define DECLARE_WORK(n, f) \ struct workqueue_struct n = __WORK_INITIALIZER #define DECLARE_DELAYED_WORK(n, f) \ struct delayed_work n = __DELAYED_WORK_INITIALIZER(n, f, 0) #define system_power_efficient_wq ((struct workqueue_struct *) NULL) #endif

Overall Contributors

PersonTokensPropCommitsCommitProp
Lance Roy282100.00%1100.00%
Total282100.00%1100.00%
Information contained on this website is for historical information purposes only and does not indicate or represent copyright ownership.
Created with cregit.