亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? rt_process.c

?? fsmlabs的real time linux的內(nèi)核
?? C
字號(hào):
/* * (C) Finite State Machine Labs Inc. 1997-2000 <business@fsmlabs.com> * * Released under the terms of GPL 2. * Open RTLinux makes use of a patented process described in * US Patent 5,995,745. Use of this process is governed * by the Open RTLinux Patent License which can be obtained from * www.fsmlabs.com/PATENT or by sending email to * licensequestions@fsmlabs.com */#include <rtl.h>#include <rtl_fifo.h>#include <time.h>#include <rtl_sched.h>#include <rtl_sync.h>#include <pthread.h>#include <unistd.h>#include <rtl_debug.h>#include <rtl_tracer.h>#include <errno.h>#include "common.h"int ntests=500;int period=1000000;int bperiod=3100000;int mode=0;int absolute=0;int fifo_size=4000;int advance=0;MODULE_PARM(period,"i");MODULE_PARM(bperiod,"i");MODULE_PARM(ntests,"i");MODULE_PARM(mode,"i");MODULE_PARM(absolute,"i");MODULE_PARM(advance,"i");pthread_t thread;int fd_fifo;void *thread_code(void *param){	hrtime_t expected;	hrtime_t diff;	hrtime_t now;	hrtime_t last_time = 0;	hrtime_t min_diff;	hrtime_t max_diff;	hrtime_t abs_max_diff = 0;	struct sample samp;	int i;	int cnt = 0;	int cpu_id = rtl_getcpuid();	rtl_printf ("Measurement task starts on CPU %d\n", cpu_id);	if (mode) {		int ret = rtl_setclockmode (CLOCK_REALTIME, RTL_CLOCK_MODE_PERIODIC, period);		if (ret != 0) {			conpr("Setting periodic mode failed\n");			mode = 0;		}	} else {		rtl_setclockmode (CLOCK_REALTIME, RTL_CLOCK_MODE_ONESHOT, 0);	}	expected = clock_gethrtime(CLOCK_REALTIME) + 2 * (hrtime_t) period;	if (advance) {		pthread_make_periodic_np (pthread_self(), expected - advance, period);	} else {		pthread_make_periodic_np (pthread_self(), expected, period);	}	fd_fifo = open("/dev/rtf0", O_NONBLOCK);	if (fd_fifo < 0) {		rtl_printf("/dev/rtf0 open returned %d\n", fd_fifo);		return (void *) -1;	}	if (advance) {		rtl_stop_interrupts(); /* Be careful with this! The task won't be preempted by anything else. This is probably only appropriate for small high-priority tasks. */	}	/* first cycle */	pthread_wait_np();	expected += period;	now = clock_gethrtime(CLOCK_MONOTONIC);	last_time = now;	do {		min_diff = 2000000000;		max_diff = -2000000000;		for (i = 0; i < ntests; i++) {			++cnt;			pthread_wait_np();			now = clock_gethrtime(CLOCK_MONOTONIC);			if (absolute && advance && !mode) {				if (now < expected) {					rtl_delay (expected - now);				}				now = clock_gethrtime(CLOCK_MONOTONIC);			}			if (absolute) {				diff = now - expected;			} else {				diff = now - last_time - period;				if (diff < 0) {					diff = -diff;				}			}			if (diff < min_diff) {				min_diff = diff;			}			if (diff > max_diff) {				max_diff = diff;				if (max_diff > abs_max_diff) {					abs_max_diff = max_diff;					rtl_trace2 (RTL_TRACE_USER, (long) abs_max_diff);					rtl_trace2 (RTL_TRACE_FINALIZE, 0);				}			}			expected += period;			last_time = now;		}		samp.min = min_diff;		samp.max = max_diff;		write (fd_fifo, &samp, sizeof(samp));	} while (1);	return 0;}pthread_t background_threadid;void *background_thread(void *param){	pthread_make_periodic_np (pthread_self(), gethrtime(), bperiod);	while (1) {		hrtime_t t = gethrtime ();		/* the measurement task should preempt the following loop */		while (gethrtime() < t + bperiod * 2 / 3);		pthread_wait_np();	}}int init_module(void){	pthread_attr_t attr;	struct sched_param sched_param;	int thread_status;        int fifo_status;	/*	rtl_trace_settracemask(RTL_TRACE_CLASS_USER|RTL_TRACE_CLASS_SCHEDULER);	rtl_trace_seteventname(RTL_TRACE_USER + 1, "myevent");	rtl_trace_seteventclass(RTL_TRACE_USER + 1, RTL_TRACE_CLASS_USER);	*/	rtf_destroy(0);	fifo_status = rtf_create(0, fifo_size);	if (fifo_status) {		rtl_printf("RTL measurement test fail. fifo_status=%d\n",fifo_status);		return -1;	}	rtl_printf("RTL measurement module on CPU %d\n",rtl_getcpuid());	pthread_attr_init (&attr);	if (rtl_cpu_exists(1)) {		pthread_attr_setcpu_np(&attr, 1);	}	sched_param.sched_priority = 1;	pthread_attr_setschedparam (&attr, &sched_param);	rtl_printf("About to thread create\n");	thread_status = pthread_create (&thread,  &attr, thread_code, (void *)1);	if (thread_status != 0) {		rtl_printf("failed to create RT-thread: %d\n", thread_status);		return -1;	} else {		rtl_printf("created RT-thread\n");	}	if (bperiod) {		pthread_create (&background_threadid,  NULL, background_thread, NULL);	}	return 0;}void cleanup_module(void){        rtl_printf ("Removing module on CPU %d\n", rtl_getcpuid());	pthread_cancel (thread);	pthread_join (thread, NULL);	close(fd_fifo);	rtf_destroy(0);	if (bperiod) {		pthread_cancel (background_threadid);		pthread_join (background_threadid, NULL);	}}

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
高清不卡一区二区| 国产精品久久久99| 亚洲午夜电影在线观看| 在线观看91视频| 亚洲第一成年网| 6080日韩午夜伦伦午夜伦| 日产欧产美韩系列久久99| 日韩三级精品电影久久久 | 欧美一区2区视频在线观看| 蜜桃久久久久久| 欧美精品一区二区三区高清aⅴ| 精品一区二区精品| 亚洲视频在线一区| 91麻豆精品国产91久久久| 九一九一国产精品| 国产精品色呦呦| 欧美在线视频日韩| 蜜臀av在线播放一区二区三区 | 91麻豆精品国产91久久久| 久久国产精品第一页| 久久精品在线观看| 欧美吻胸吃奶大尺度电影 | 亚洲综合免费观看高清完整版| 制服丝袜日韩国产| 成人免费观看男女羞羞视频| 亚洲综合图片区| 久久这里只有精品首页| 在线观看不卡视频| 国产一二三精品| 午夜精品福利一区二区蜜股av| 久久一夜天堂av一区二区三区| 欧美日韩在线播放三区| jizz一区二区| 日本韩国欧美一区| 成人一区二区三区视频在线观看| 日韩精品高清不卡| 亚洲免费视频中文字幕| 国产清纯白嫩初高生在线观看91| 欧美精品亚洲二区| 在线观看亚洲一区| 91蜜桃婷婷狠狠久久综合9色| 国产大陆亚洲精品国产| 麻豆精品久久久| 三级亚洲高清视频| 日韩黄色小视频| 日本欧美大码aⅴ在线播放| 亚洲自拍偷拍麻豆| 亚洲自拍欧美精品| 亚洲狠狠爱一区二区三区| 一二三区精品福利视频| 亚洲大片一区二区三区| 亚洲不卡av一区二区三区| 亚洲v日本v欧美v久久精品| 成人app在线观看| 一区二区三区精品| 99国产精品视频免费观看| 欧美午夜影院一区| 99国内精品久久| 欧美专区在线观看一区| 精品av久久707| 全国精品久久少妇| 色综合久久久久综合99| 久久久蜜臀国产一区二区| 亚洲午夜免费电影| 在线观看不卡一区| 亚洲欧美激情小说另类| 国产91在线观看丝袜| 777亚洲妇女| 精品国免费一区二区三区| 国产三级一区二区| 亚洲综合在线视频| 日韩高清一区二区| 国产69精品久久777的优势| av不卡一区二区三区| 在线成人午夜影院| 久久久精品日韩欧美| 一二三区精品视频| 国产精品一区免费视频| 欧美午夜片在线看| 久久精品亚洲一区二区三区浴池| 亚洲精选视频在线| 国产麻豆一精品一av一免费| 欧美精品一二三| 自拍偷拍亚洲欧美日韩| 国产一区二区免费视频| 欧美视频一区二| 国产精品乱码人人做人人爱| 奇米色一区二区| 欧美亚一区二区| 亚洲精品大片www| 99久久婷婷国产精品综合| 精品国产露脸精彩对白| 日韩二区三区在线观看| 欧美视频精品在线| 亚洲国产一区二区在线播放| 不卡的av在线播放| 国产精品免费久久久久| 国产一区二区精品在线观看| 精品国产乱码久久久久久夜甘婷婷| 亚洲激情图片一区| 欧美日韩视频在线第一区 | 久久国产精品免费| 久久综合久久久久88| 国产91精品入口| 亚洲成av人片观看| 国产视频一区在线播放| 欧美自拍偷拍午夜视频| 蜜桃av一区二区三区电影| 国产精品日韩成人| 欧美午夜影院一区| 激情久久五月天| 玉足女爽爽91| 久久久午夜精品| 欧美三日本三级三级在线播放| 国产一区二区精品久久99| 一区二区理论电影在线观看| 久久久激情视频| 91精品国产综合久久精品图片| 国产二区国产一区在线观看| 日日摸夜夜添夜夜添亚洲女人| 国产亚洲综合色| 精品国产一区二区亚洲人成毛片 | 免费精品99久久国产综合精品| 久久噜噜亚洲综合| 欧美在线色视频| 国产精品99久久久| 精品制服美女丁香| 香蕉成人啪国产精品视频综合网 | 国产精品久久久久久久裸模| 久久一留热品黄| 欧美一区二区三区男人的天堂| 日本乱人伦aⅴ精品| 91同城在线观看| 99国产精品久久久久久久久久 | 91久久精品一区二区| 国产精品18久久久| 韩国av一区二区三区四区| 亚洲第一成人在线| 亚洲电影视频在线| 怡红院av一区二区三区| 1024国产精品| 亚洲一区二区三区中文字幕 | 色香蕉成人二区免费| 色婷婷激情综合| 欧美亚洲综合另类| 国产91富婆露脸刺激对白| 亚洲国产精品久久久男人的天堂 | 精品国产露脸精彩对白| 亚洲欧洲综合另类在线| 麻豆视频观看网址久久| 日本精品视频一区二区三区| 精品国精品自拍自在线| 天天色图综合网| 91老师片黄在线观看| 国产欧美一区二区精品性| 青青草国产精品亚洲专区无| 日本道在线观看一区二区| 国产精品久久久久桃色tv| 日韩成人精品视频| www.亚洲色图.com| 精品国产精品一区二区夜夜嗨| 一区二区三区欧美激情| 国产精品影视在线| 欧美成人精品3d动漫h| 一区二区三区欧美久久| 成人va在线观看| 久久综合久久综合久久| 另类小说色综合网站| 欧美午夜一区二区三区免费大片| 国产精品免费观看视频| 国产盗摄精品一区二区三区在线| 日韩精品一区二区三区蜜臀| 亚洲成精国产精品女| 在线区一区二视频| 亚洲三级视频在线观看| caoporn国产精品| 中文字幕欧美三区| 成人app在线| 日韩理论在线观看| 不卡高清视频专区| 国产精品久久久久久亚洲毛片| 国内精品伊人久久久久影院对白| 欧美色爱综合网| 亚洲网友自拍偷拍| 欧亚一区二区三区| 亚洲精选在线视频| 欧美欧美欧美欧美首页| 久久精品国产精品亚洲精品| 久久综合九色综合欧美98| 国产91色综合久久免费分享| 最新国产成人在线观看| 色香色香欲天天天影视综合网| 无吗不卡中文字幕| 欧美videossexotv100| 成人天堂资源www在线| 夜夜精品浪潮av一区二区三区| 日韩三区在线观看| 99久久综合99久久综合网站| 亚洲成在人线在线播放| 精品国产三级a在线观看|