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

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

?? ladder.c

?? linux 內(nèi)核源代碼
?? C
字號:
/* * ladder.c - the residency ladder algorithm * *  Copyright (C) 2001, 2002 Andy Grover <andrew.grover@intel.com> *  Copyright (C) 2001, 2002 Paul Diefenbaugh <paul.s.diefenbaugh@intel.com> *  Copyright (C) 2004, 2005 Dominik Brodowski <linux@brodo.de> * * (C) 2006-2007 Venkatesh Pallipadi <venkatesh.pallipadi@intel.com> *               Shaohua Li <shaohua.li@intel.com> *               Adam Belay <abelay@novell.com> * * This code is licenced under the GPL. */#include <linux/kernel.h>#include <linux/cpuidle.h>#include <linux/latency.h>#include <linux/moduleparam.h>#include <linux/jiffies.h>#include <asm/io.h>#include <asm/uaccess.h>#define PROMOTION_COUNT 4#define DEMOTION_COUNT 1struct ladder_device_state {	struct {		u32 promotion_count;		u32 demotion_count;		u32 promotion_time;		u32 demotion_time;	} threshold;	struct {		int promotion_count;		int demotion_count;	} stats;};struct ladder_device {	struct ladder_device_state states[CPUIDLE_STATE_MAX];	int last_state_idx;};static DEFINE_PER_CPU(struct ladder_device, ladder_devices);/** * ladder_do_selection - prepares private data for a state change * @ldev: the ladder device * @old_idx: the current state index * @new_idx: the new target state index */static inline void ladder_do_selection(struct ladder_device *ldev,				       int old_idx, int new_idx){	ldev->states[old_idx].stats.promotion_count = 0;	ldev->states[old_idx].stats.demotion_count = 0;	ldev->last_state_idx = new_idx;}/** * ladder_select_state - selects the next state to enter * @dev: the CPU */static int ladder_select_state(struct cpuidle_device *dev){	struct ladder_device *ldev = &__get_cpu_var(ladder_devices);	struct ladder_device_state *last_state;	int last_residency, last_idx = ldev->last_state_idx;	if (unlikely(!ldev))		return 0;	last_state = &ldev->states[last_idx];	if (dev->states[last_idx].flags & CPUIDLE_FLAG_TIME_VALID)		last_residency = cpuidle_get_last_residency(dev) - dev->states[last_idx].exit_latency;	else		last_residency = last_state->threshold.promotion_time + 1;	/* consider promotion */	if (last_idx < dev->state_count - 1 &&	    last_residency > last_state->threshold.promotion_time &&	    dev->states[last_idx + 1].exit_latency <= system_latency_constraint()) {		last_state->stats.promotion_count++;		last_state->stats.demotion_count = 0;		if (last_state->stats.promotion_count >= last_state->threshold.promotion_count) {			ladder_do_selection(ldev, last_idx, last_idx + 1);			return last_idx + 1;		}	}	/* consider demotion */	if (last_idx > 0 &&	    last_residency < last_state->threshold.demotion_time) {		last_state->stats.demotion_count++;		last_state->stats.promotion_count = 0;		if (last_state->stats.demotion_count >= last_state->threshold.demotion_count) {			ladder_do_selection(ldev, last_idx, last_idx - 1);			return last_idx - 1;		}	}	/* otherwise remain at the current state */	return last_idx;}/** * ladder_enable_device - setup for the governor * @dev: the CPU */static int ladder_enable_device(struct cpuidle_device *dev){	int i;	struct ladder_device *ldev = &per_cpu(ladder_devices, dev->cpu);	struct ladder_device_state *lstate;	struct cpuidle_state *state;	ldev->last_state_idx = 0;	for (i = 0; i < dev->state_count; i++) {		state = &dev->states[i];		lstate = &ldev->states[i];		lstate->stats.promotion_count = 0;		lstate->stats.demotion_count = 0;		lstate->threshold.promotion_count = PROMOTION_COUNT;		lstate->threshold.demotion_count = DEMOTION_COUNT;		if (i < dev->state_count - 1)			lstate->threshold.promotion_time = state->exit_latency;		if (i > 0)			lstate->threshold.demotion_time = state->exit_latency;	}	return 0;}static struct cpuidle_governor ladder_governor = {	.name =		"ladder",	.rating =	10,	.enable =	ladder_enable_device,	.select =	ladder_select_state,	.owner =	THIS_MODULE,};/** * init_ladder - initializes the governor */static int __init init_ladder(void){	return cpuidle_register_governor(&ladder_governor);}/** * exit_ladder - exits the governor */static void __exit exit_ladder(void){	cpuidle_unregister_governor(&ladder_governor);}MODULE_LICENSE("GPL");module_init(init_ladder);module_exit(exit_ladder);

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产精品高潮呻吟久久| 日本伦理一区二区| 久久嫩草精品久久久精品一| 青青草国产精品亚洲专区无| 日韩美女视频在线| 国产乱妇无码大片在线观看| 国产午夜精品一区二区| www.综合网.com| 亚洲一级在线观看| 欧美一区日韩一区| 国产一区二区看久久| 亚洲国产成人自拍| 91福利国产精品| 久久99久国产精品黄毛片色诱| 久久精品一区二区| 91啪在线观看| 天堂蜜桃91精品| 精品国产伦一区二区三区观看方式 | 日本特黄久久久高潮| 精品国产电影一区二区| 国产精品亚洲а∨天堂免在线| 国产亚洲精品中文字幕| 成人av第一页| 亚洲一区欧美一区| 日韩精品一区二区三区在线| 国内国产精品久久| 亚洲婷婷在线视频| 欧美日韩国产在线播放网站| 奇米影视一区二区三区| 久久久久久久久久久久久女国产乱| 国产大陆精品国产| 一个色综合网站| 91精品国产综合久久福利| 国产在线看一区| 亚洲视频综合在线| 欧美人牲a欧美精品| 日韩va欧美va亚洲va久久| 国产精品美女久久久久久久久| 在线免费观看日韩欧美| 风流少妇一区二区| 亚洲一区二区三区不卡国产欧美| 亚洲精品一线二线三线无人区| 国产美女一区二区三区| 婷婷开心激情综合| 久久蜜桃av一区二区天堂| 91国产视频在线观看| 男人的天堂亚洲一区| 国产精品动漫网站| 制服丝袜日韩国产| 国产成人在线视频网站| 日韩电影在线看| 中文字幕一区二区在线播放| 欧美日韩成人综合| 成人aaaa免费全部观看| 日韩成人一区二区三区在线观看| 国产精品欧美一级免费| 欧美熟乱第一页| 国产成人精品在线看| 午夜精品久久久久| 中文字幕一区二区三区乱码在线| 日韩一区二区三区电影| 91丨九色丨黑人外教| 成人av资源在线观看| 久久精品国产亚洲高清剧情介绍| 亚洲婷婷在线视频| 精品国产亚洲一区二区三区在线观看| 成a人片国产精品| 久久99精品久久久久婷婷| 一区二区三区免费| 国产精品午夜在线观看| 久久欧美一区二区| 欧美一区二区三区人| 色噜噜狠狠色综合中国| www.爱久久.com| 国产精品18久久久久久久久| 美国一区二区三区在线播放| 亚洲福中文字幕伊人影院| 亚洲免费观看高清| 国产精品久久久久久一区二区三区 | 国产精品欧美综合在线| 久久久久久亚洲综合影院红桃| 在线综合视频播放| 欧美私人免费视频| 日本久久一区二区三区| 成人综合在线观看| 国产激情偷乱视频一区二区三区| 国内外精品视频| 激情综合五月天| 久久99国产精品麻豆| 日本不卡的三区四区五区| 午夜精品影院在线观看| 亚洲第一福利一区| 五月婷婷久久丁香| 亚洲风情在线资源站| 亚洲电影在线免费观看| 亚洲成人福利片| 日韩在线观看一区二区| 日韩高清一区二区| 久久黄色级2电影| 久久国产欧美日韩精品| 国产成人精品1024| 欧美成人精品福利| 精品精品欲导航| 久久久精品欧美丰满| 久久九九国产精品| 中文字幕中文在线不卡住| 国产精品免费视频一区| 18成人在线观看| 亚洲高清免费观看高清完整版在线观看| 一区二区三区资源| 日韩高清一区在线| 国产乱色国产精品免费视频| 国产成人啪午夜精品网站男同| 成人精品国产福利| 91成人看片片| 91精品国产乱码久久蜜臀| 久久亚洲精华国产精华液 | 欧美美女直播网站| 欧美成人性战久久| 国产精品视频一二三| 亚洲国产视频一区二区| 日本欧美肥老太交大片| 国产成人久久精品77777最新版本| 99国产精品视频免费观看| 欧美在线免费观看视频| 欧美电影免费观看高清完整版| 国产拍揄自揄精品视频麻豆| 亚洲激情自拍偷拍| 麻豆精品在线播放| 成人福利在线看| 在线成人av网站| 国产欧美精品一区二区三区四区| 亚洲男人的天堂av| 日韩电影在线一区二区三区| 国产成人免费av在线| 91在线观看地址| 日韩精品综合一本久道在线视频| 中文字幕第一区综合| 三级不卡在线观看| 成人在线综合网站| 91精品国产综合久久蜜臀| 中文字幕色av一区二区三区| 免费在线一区观看| 91免费精品国自产拍在线不卡| 欧美二区三区91| 亚洲免费在线观看| 国产乱一区二区| 欧美一三区三区四区免费在线看| 综合激情成人伊人| 黄色日韩三级电影| 欧美日韩1234| 亚洲特黄一级片| 韩国v欧美v亚洲v日本v| 成人性生交大片免费看在线播放| 2020国产精品| 日韩国产精品久久久久久亚洲| 一本高清dvd不卡在线观看| 欧美精品一区二区蜜臀亚洲| 亚洲高清免费观看高清完整版在线观看| 国产成人综合亚洲网站| 91精品国产一区二区人妖| 亚洲色图.com| 国产九九视频一区二区三区| 欧美一区二区福利在线| 亚洲婷婷在线视频| 成人理论电影网| 欧美激情综合五月色丁香小说| 极品少妇一区二区三区精品视频 | 一区二区三区日韩欧美精品| 成人妖精视频yjsp地址| 久久影院视频免费| 免费精品视频最新在线| 91.成人天堂一区| 性做久久久久久久久| bt7086福利一区国产| 亚洲成人免费看| 欧美午夜精品一区| 亚洲国产高清在线| 91网站黄www| 亚洲精品国久久99热| 在线观看日韩电影| 亚洲电影一区二区三区| 欧美日韩和欧美的一区二区| 亚洲sss视频在线视频| 日本精品视频一区二区| 亚洲福利国产精品| 91精选在线观看| 蜜桃传媒麻豆第一区在线观看| 欧美一区二区在线看| 日韩电影免费一区| 欧美成人女星排行榜| 日韩国产高清影视| 5858s免费视频成人| 免费成人在线播放| 欧美成人精品二区三区99精品| 国产在线观看免费一区| 日本一区二区免费在线| 成人天堂资源www在线| 亚洲精品中文字幕乱码三区| 欧美色图激情小说|