Пример #1
0
/*
 * Get task statistic information
 */
SYSCALL ER _td_inf_tsk( ID tskid, TD_ITSK *pk_itsk, BOOL clr )
{
	TD_ITSK_U	litsk;
	ER		ercd;

	ercd = _td_inf_tsk_u(tskid, &litsk, clr);

	pk_itsk->stime = to_msec(litsk.stime_u);
	pk_itsk->utime = to_msec(litsk.utime_u);

	return ercd;
}
Пример #2
0
static ssize_t omap_pm_clock_bail_stat_show(struct kset *subsys, char *buf)
{
	int i;
	int len;
	int idx;
	int n = 0;

	len = sprintf(buf, "Time   Total Sleep ms/%% Wake ms/%%  WUp Condition\n");
	buf += len;
	n   += len;
	len = sprintf(buf, "==========================================================================\n");
	buf += len;
	n   += len;

	idx = (cbt_idx +1) % CLOCK_BAIL_TRACE_MAX;
	for (i = 0; i < CLOCK_BAIL_TRACE_MAX; i++) {
		u32 total_ms;
		u32 sleep_ms;
		u32 sleep_perc;

		if (!cbt_list[idx].desc) {
			idx = (idx +1) % CLOCK_BAIL_TRACE_MAX;
			continue;
		}

		total_ms = to_msec(cbt_list[idx].total_residency);
		sleep_ms = to_msec(cbt_list[idx].sleep_residency);
		if (total_ms)
			sleep_perc = (sleep_ms * 100) / total_ms;
		else
			sleep_perc = 0;

		len = sprintf(buf, "%6u %5u %5u %3u%% %5u %3u%% %3u %s %08x\n",
				to_msec(cbt_list[idx].first_entry) % 1000000,
				total_ms,
				sleep_ms, sleep_perc,
				to_msec(cbt_list[idx].wake_residency),
				100 - sleep_perc,
				cbt_list[idx].num_wakeups,
				cbt_list[idx].desc,
				cbt_list[idx].cond);
		buf += len;
		n   += len;
		idx = (idx +1) % CLOCK_BAIL_TRACE_MAX;

		/* Don't overwrite the page... */
		if (n > 4000)
			break;
	}
	return n;
}
Пример #3
0
/*
 * Refer task state
 */
SYSCALL ER _td_ref_tsk( ID tskid, TD_RTSK *pk_rtsk )
{
	TD_RTSK_U	lrtsk;
	ER		ercd;

	ercd = _td_ref_tsk_u(tskid, &lrtsk);

	pk_rtsk->exinf	   = lrtsk.exinf;
	pk_rtsk->tskpri	   = lrtsk.tskpri;
	pk_rtsk->tskbpri   = lrtsk.tskbpri;
	pk_rtsk->tskstat   = lrtsk.tskstat;
	pk_rtsk->tskwait   = lrtsk.tskwait;
	pk_rtsk->wid	   = lrtsk.wid;
	pk_rtsk->wupcnt	   = lrtsk.wupcnt;
	pk_rtsk->suscnt	   = lrtsk.suscnt;
	pk_rtsk->slicetime = to_msec(lrtsk.slicetime_u);
	pk_rtsk->waitmask  = lrtsk.waitmask;
	pk_rtsk->texmask   = lrtsk.texmask;
	pk_rtsk->tskevent  = lrtsk.tskevent;
	pk_rtsk->task	   = lrtsk.task;
	pk_rtsk->stksz	   = lrtsk.stksz;
	pk_rtsk->sstksz	   = lrtsk.sstksz;
	pk_rtsk->istack	   = lrtsk.istack;
	pk_rtsk->isstack   = lrtsk.isstack;

	return ercd;
}