cregit-Linux how code gets into the kernel

Release 4.10 tools/perf/util/target.h

Directory: tools/perf/util
#ifndef _PERF_TARGET_H

#define _PERF_TARGET_H

#include <stdbool.h>
#include <sys/types.h>


struct target {
	
const char   *pid;
	
const char   *tid;
	
const char   *cpu_list;
	
const char   *uid_str;
	
uid_t	     uid;
	
bool	     system_wide;
	
bool	     uses_mmap;
	
bool	     default_per_cpu;
	
bool	     per_thread;
};


enum target_errno {
	
TARGET_ERRNO__SUCCESS		= 0,

	/*
         * Choose an arbitrary negative big number not to clash with standard
         * errno since SUS requires the errno has distinct positive values.
         * See 'Issue 6' in the link below.
         *
         * http://pubs.opengroup.org/onlinepubs/9699919799/basedefs/errno.h.html
         */
	
__TARGET_ERRNO__START		= -10000,

	/* for target__validate() */
	
TARGET_ERRNO__PID_OVERRIDE_CPU	= __TARGET_ERRNO__START,
	
TARGET_ERRNO__PID_OVERRIDE_UID,
	
TARGET_ERRNO__UID_OVERRIDE_CPU,
	
TARGET_ERRNO__PID_OVERRIDE_SYSTEM,
	
TARGET_ERRNO__UID_OVERRIDE_SYSTEM,
	
TARGET_ERRNO__SYSTEM_OVERRIDE_THREAD,

	/* for target__parse_uid() */
	
TARGET_ERRNO__INVALID_UID,
	
TARGET_ERRNO__USER_NOT_FOUND,

	
__TARGET_ERRNO__END,
};

enum target_errno target__validate(struct target *target);
enum target_errno target__parse_uid(struct target *target);

int target__strerror(struct target *target, int errnum, char *buf, size_t buflen);


static inline bool target__has_task(struct target *target) { return target->tid || target->pid || target->uid_str; }

Contributors

PersonTokensPropCommitsCommitProp
namhyung kimnamhyung kim2392.00%266.67%
arnaldo carvalho de meloarnaldo carvalho de melo28.00%133.33%
Total25100.00%3100.00%


static inline bool target__has_cpu(struct target *target) { return target->system_wide || target->cpu_list; }

Contributors

PersonTokensPropCommitsCommitProp
namhyung kimnamhyung kim1990.48%266.67%
arnaldo carvalho de meloarnaldo carvalho de melo29.52%133.33%
Total21100.00%3100.00%


static inline bool target__none(struct target *target) { return !target__has_task(target) && !target__has_cpu(target); }

Contributors

PersonTokensPropCommitsCommitProp
namhyung kimnamhyung kim2184.00%266.67%
arnaldo carvalho de meloarnaldo carvalho de melo416.00%133.33%
Total25100.00%3100.00%


static inline bool target__uses_dummy_map(struct target *target) { bool use_dummy = false; if (target->default_per_cpu) use_dummy = target->per_thread ? true : false; else if (target__has_task(target) || (!target__has_cpu(target) && !target->uses_mmap)) use_dummy = true; return use_dummy; }

Contributors

PersonTokensPropCommitsCommitProp
dongsheng yangdongsheng yang61100.00%1100.00%
Total61100.00%1100.00%

#endif /* _PERF_TARGET_H */

Overall Contributors

PersonTokensPropCommitsCommitProp
namhyung kimnamhyung kim16261.83%763.64%
dongsheng yangdongsheng yang6123.28%19.09%
arnaldo carvalho de meloarnaldo carvalho de melo3111.83%19.09%
adrian hunteradrian hunter83.05%218.18%
Total262100.00%11100.00%
Directory: tools/perf/util
Information contained on this website is for historical information purposes only and does not indicate or represent copyright ownership.