您当前的位置:首页 > IT编程 > C++
| C语言 | Java | VB | VC | python | Android | TensorFlow | C++ | oracle | 学术与代码 | cnn卷积神经网络 | gnn | 图像修复 | Keras | 数据集 | Neo4j | 自然语言处理 | 深度学习 | 医学CAD | 医学影像 | 超参数 | pointnet | pytorch | 异常检测 | Transformers | 情感分类 | 知识图谱 |

自学教程:C++ CPUCLOCK_WHICH函数代码示例

51自学网 2021-06-01 20:05:05
  C++
这篇教程C++ CPUCLOCK_WHICH函数代码示例写得很实用,希望能帮到您。

本文整理汇总了C++中CPUCLOCK_WHICH函数的典型用法代码示例。如果您正苦于以下问题:C++ CPUCLOCK_WHICH函数的具体用法?C++ CPUCLOCK_WHICH怎么用?C++ CPUCLOCK_WHICH使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。

在下文中一共展示了CPUCLOCK_WHICH函数的10个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。

示例1: arm_timer

/* * Insert the timer on the appropriate list before any timers that * expire later.  This must be called with the sighand lock held. */static void arm_timer(struct k_itimer *timer){	struct task_struct *p = timer->it.cpu.task;	struct list_head *head, *listpos;	struct task_cputime *cputime_expires;	struct cpu_timer_list *const nt = &timer->it.cpu;	struct cpu_timer_list *next;	if (CPUCLOCK_PERTHREAD(timer->it_clock)) {		head = p->cpu_timers;		cputime_expires = &p->cputime_expires;	} else {		head = p->signal->cpu_timers;		cputime_expires = &p->signal->cputime_expires;	}	head += CPUCLOCK_WHICH(timer->it_clock);	listpos = head;	list_for_each_entry(next, head, entry) {		if (nt->expires < next->expires)			break;		listpos = &next->entry;	}	list_add(&nt->entry, listpos);	if (listpos == head) {		unsigned long long exp = nt->expires;		/*		 * We are the new earliest-expiring POSIX 1.b timer, hence		 * need to update expiration cache. Take into account that		 * for process timers we share expiration cache with itimers		 * and RLIMIT_CPU and for thread timers with RLIMIT_RTTIME.		 */		switch (CPUCLOCK_WHICH(timer->it_clock)) {		case CPUCLOCK_PROF:			if (expires_gt(cputime_expires->prof_exp, expires_to_cputime(exp)))				cputime_expires->prof_exp = expires_to_cputime(exp);			break;		case CPUCLOCK_VIRT:			if (expires_gt(cputime_expires->virt_exp, expires_to_cputime(exp)))				cputime_expires->virt_exp = expires_to_cputime(exp);			break;		case CPUCLOCK_SCHED:			if (cputime_expires->sched_exp == 0 ||			    cputime_expires->sched_exp > exp)				cputime_expires->sched_exp = exp;			break;		}		if (CPUCLOCK_PERTHREAD(timer->it_clock))			tick_dep_set_task(p, TICK_DEP_BIT_POSIX_TIMER);		else			tick_dep_set_signal(p->signal, TICK_DEP_BIT_POSIX_TIMER);	}}
开发者ID:Ayokunle,项目名称:linux,代码行数:60,


示例2: __clock_settime

/* Set CLOCK to value TP.  */int__clock_settime (clockid_t clock_id, const struct timespec *tp){  int retval;  /* Make sure the time cvalue is OK.  */  if (tp->tv_nsec < 0 || tp->tv_nsec >= 1000000000)    {      __set_errno (EINVAL);      return -1;    }  switch (clock_id)    {#define HANDLE_REALTIME /      do {								      /	struct timeval tv;						      /	TIMESPEC_TO_TIMEVAL (&tv, tp);					      /									      /	retval = settimeofday (&tv, NULL);				      /      } while (0)#ifdef SYSDEP_SETTIME      SYSDEP_SETTIME;#endif#ifndef HANDLED_REALTIME    case CLOCK_REALTIME:      HANDLE_REALTIME;      break;#endif    default:#ifdef SYSDEP_SETTIME_CPU      SYSDEP_SETTIME_CPU;#endif#ifndef HANDLED_CPUTIME# if HP_TIMING_AVAIL      if (CPUCLOCK_WHICH (clock_id) == CLOCK_PROCESS_CPUTIME_ID	  || CPUCLOCK_WHICH (clock_id) == CLOCK_THREAD_CPUTIME_ID)	retval = hp_timing_settime (clock_id, tp);      else# endif	{	  __set_errno (EINVAL);	  retval = -1;	}#endif      break;    }  return retval;}
开发者ID:Drakey83,项目名称:steamlink-sdk,代码行数:54,


示例3: sample_to_timespec

static void sample_to_timespec(const clockid_t which_clock,			       unsigned long long expires,			       struct timespec *tp){	if (CPUCLOCK_WHICH(which_clock) == CPUCLOCK_SCHED)		*tp = ns_to_timespec(expires);	else		cputime_to_timespec((__force cputime_t)expires, tp);}
开发者ID:Ayokunle,项目名称:linux,代码行数:9,


示例4: sample_to_timespec

static void sample_to_timespec(const clockid_t which_clock,			       union cpu_time_count cpu,			       struct timespec *tp){	if (CPUCLOCK_WHICH(which_clock) == CPUCLOCK_SCHED) {		tp->tv_sec = div_long_long_rem(cpu.sched,					       NSEC_PER_SEC, &tp->tv_nsec);	} else {		cputime_to_timespec(cpu.cpu, tp);	}}
开发者ID:mrtos,项目名称:Logitech-Revue,代码行数:11,


示例5: posix_cpu_clock_getres

static intposix_cpu_clock_getres(const clockid_t which_clock, struct timespec *tp){	int error = check_clock(which_clock);	if (!error) {		tp->tv_sec = 0;		tp->tv_nsec = ((NSEC_PER_SEC + HZ - 1) / HZ);		if (CPUCLOCK_WHICH(which_clock) == CPUCLOCK_SCHED) {			/*			 * If sched_clock is using a cycle counter, we			 * don't have any idea of its true resolution			 * exported, but it is much more than 1s/HZ.			 */			tp->tv_nsec = 1;		}	}	return error;}
开发者ID:Ayokunle,项目名称:linux,代码行数:18,


示例6: cpu_clock_sample

/* * Sample a per-thread clock for the given task. */static int cpu_clock_sample(const clockid_t which_clock, struct task_struct *p,			    unsigned long long *sample){	switch (CPUCLOCK_WHICH(which_clock)) {	default:		return -EINVAL;	case CPUCLOCK_PROF:		*sample = prof_ticks(p);		break;	case CPUCLOCK_VIRT:		*sample = virt_ticks(p);		break;	case CPUCLOCK_SCHED:		*sample = task_sched_runtime(p);		break;	}	return 0;}
开发者ID:Ayokunle,项目名称:linux,代码行数:21,


示例7: cpu_timer_sample_group

/* * Sample a process (thread group) timer for the given group_leader task. * Must be called with task sighand lock held for safe while_each_thread() * traversal. */static int cpu_timer_sample_group(const clockid_t which_clock,				  struct task_struct *p, u64 *sample){	struct task_cputime cputime;	thread_group_cputimer(p, &cputime);	switch (CPUCLOCK_WHICH(which_clock)) {	default:		return -EINVAL;	case CPUCLOCK_PROF:		*sample = cputime.utime + cputime.stime;		break;	case CPUCLOCK_VIRT:		*sample = cputime.utime;		break;	case CPUCLOCK_SCHED:		*sample = cputime.sum_exec_runtime;		break;	}	return 0;}
开发者ID:rldleblanc,项目名称:linux,代码行数:26,


示例8: check_clock

static int check_clock(const clockid_t which_clock){	int error = 0;	struct task_struct *p;	const pid_t pid = CPUCLOCK_PID(which_clock);	if (CPUCLOCK_WHICH(which_clock) >= CPUCLOCK_MAX)		return -EINVAL;	if (pid == 0)		return 0;	read_lock(&tasklist_lock);	p = find_task_by_pid(pid);	if (!p || (CPUCLOCK_PERTHREAD(which_clock) ?		   p->tgid != current->tgid : p->tgid != pid)) {		error = -EINVAL;	}	read_unlock(&tasklist_lock);	return error;}
开发者ID:mrtos,项目名称:Logitech-Revue,代码行数:22,


示例9: posix_cpu_timer_create

/* * Validate the clockid_t for a new CPU-clock timer, and initialize the timer. * This is called from sys_timer_create() and do_cpu_nanosleep() with the * new timer already all-zeros initialized. */static int posix_cpu_timer_create(struct k_itimer *new_timer){	int ret = 0;	const pid_t pid = CPUCLOCK_PID(new_timer->it_clock);	struct task_struct *p;	if (CPUCLOCK_WHICH(new_timer->it_clock) >= CPUCLOCK_MAX)		return -EINVAL;	INIT_LIST_HEAD(&new_timer->it.cpu.entry);	rcu_read_lock();	if (CPUCLOCK_PERTHREAD(new_timer->it_clock)) {		if (pid == 0) {			p = current;		} else {			p = find_task_by_vpid(pid);			if (p && !same_thread_group(p, current))				p = NULL;		}	} else {		if (pid == 0) {			p = current->group_leader;		} else {			p = find_task_by_vpid(pid);			if (p && !has_group_leader_pid(p))				p = NULL;		}	}	new_timer->it.cpu.task = p;	if (p) {		get_task_struct(p);	} else {		ret = -EINVAL;	}	rcu_read_unlock();	return ret;}
开发者ID:Ayokunle,项目名称:linux,代码行数:44,


示例10: cpu_clock_sample_group

/* * Sample a process (thread group) clock for the given group_leader task. * Must be called with task sighand lock held for safe while_each_thread() * traversal. */static int cpu_clock_sample_group(const clockid_t which_clock,				  struct task_struct *p,				  unsigned long long *sample){	struct task_cputime cputime;	switch (CPUCLOCK_WHICH(which_clock)) {	default:		return -EINVAL;	case CPUCLOCK_PROF:		thread_group_cputime(p, &cputime);		*sample = cputime_to_expires(cputime.utime + cputime.stime);		break;	case CPUCLOCK_VIRT:		thread_group_cputime(p, &cputime);		*sample = cputime_to_expires(cputime.utime);		break;	case CPUCLOCK_SCHED:		thread_group_cputime(p, &cputime);		*sample = cputime.sum_exec_runtime;		break;	}	return 0;}
开发者ID:Ayokunle,项目名称:linux,代码行数:29,



注:本文中的CPUCLOCK_WHICH函数示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


C++ CPUID函数代码示例
C++ CPR_ERROR函数代码示例
万事OK自学网:51自学网_软件自学网_CAD自学网自学excel、自学PS、自学CAD、自学C语言、自学css3实例,是一个通过网络自主学习工作技能的自学平台,网友喜欢的软件自学网站。