struct wb_domain
来源:互联网 发布:深圳咫尺网络 编辑:程序博客网 时间:2024/05/29 12:31
/*
* A wb_domain represents a domain that wb's (bdi_writeback's) belong to
* and are measured against each other in. There always is one global
* domain, global_wb_domain, that every wb in the system is a member of.
* This allows measuring the relative bandwidth of each wb to distribute
* dirtyable memory accordingly.
*/
struct wb_domain {
spinlock_t lock;
struct fprop_global completions;
struct timer_list period_timer;/* timer for aging of completions */
unsigned long period_time;
unsigned long dirty_limit_tstamp;
unsigned long dirty_limit;
};
static inline void wb_domain_size_changed(struct wb_domain *dom)
{
spin_lock(&dom->lock);
dom->dirty_limit_tstamp = jiffies;
dom->dirty_limit = 0;
spin_unlock(&dom->lock);
}
int wb_domain_init(struct wb_domain *dom, gfp_t gfp)
{
memset(dom, 0, sizeof(*dom));
spin_lock_init(&dom->lock);
init_timer_deferrable(&dom->period_timer);
dom->period_timer.function = writeout_period;
dom->period_timer.data = (unsigned long)dom;
dom->dirty_limit_tstamp = jiffies;
return fprop_global_init(&dom->completions, gfp);
}
int fprop_global_init(struct fprop_global *p, gfp_t gfp)
{
int err;
p->period = 0;
/* Use 1 to avoid dealing with periods with 0 events... */
err = percpu_counter_init(&p->events, 1, gfp);
if (err)
return err;
seqcount_init(&p->sequence);
return 0;
}
- struct wb_domain
- Struct
- struct
- struct
- struct
- Struct
- struct
- struct
- struct
- struct
- struct
- struct
- struct
- struct
- struct
- struct
- struct
- struct
- MLlib中决策树算法的实现原理解析
- BlurDialogFragment——显示模糊背景的Android DialogFragment
- 第一个SpringMVC程序
- cassandra 3.x官方文档(7)---内部原理之如何读写数据
- Java--键盘录入数据
- struct wb_domain
- POJ 3041 Asteroids (最小点覆盖)
- 模拟银行取钱,和火车票代售
- a href=#与 a href=javascript:void(0) 的区别
- 增强for循环
- 【CodeForces 729C】【二分+贪心】Road to Cinema 题解
- Java并发编程系列(七)---- 线程池的使用
- 移动开发必知必会的六大数据统计平台(入门篇)
- 文章标题