Lines Matching refs:hswb
20 struct hmdfs_server_writeback *hswb = container_of(work,
23 struct super_block *lower_sb = hswb->sbi->lower_sb;
30 dirty_pages = hswb->dirty_nr_pages_to_wb;
34 trace_hmdfs_start_srv_wb(hswb->sbi, dirty_pages, hswb->dirty_thresh_pg);
37 void hmdfs_server_check_writeback(struct hmdfs_server_writeback *hswb)
42 old_time = hswb->last_reset_time;
44 dirty_nr_pages = atomic_inc_return(&hswb->dirty_nr_pages);
46 cmpxchg(&hswb->last_reset_time, old_time, now) == old_time) {
52 * exceeds @hswb->dirty_thresh_pg:
55 * belows @hswb->dirty_thresh_pg:
62 if (writepage_speed >= hswb->dirty_thresh_pg) {
64 * Writeback @hswb->dirty_nr_pages_to_wb pages in
66 * 1s, @hswb->dirty_nr_pages_to_wb could be assigned
74 hswb->dirty_nr_pages_to_wb = dirty_nr_pages;
82 queue_work(hswb->dirty_writeback_wq,
83 &hswb->dirty_sb_writeback_work);
92 atomic_set(&hswb->dirty_nr_pages, 0);
109 struct hmdfs_server_writeback *hswb;
112 hswb = kzalloc(sizeof(struct hmdfs_server_writeback), GFP_KERNEL);
113 if (!hswb)
116 hswb->sbi = sbi;
117 hswb->dirty_writeback_control = true;
118 hswb->dirty_thresh_pg = HMDFS_SRV_WB_DEF_DIRTY_THRESH <<
120 atomic_set(&hswb->dirty_nr_pages, 0);
121 hswb->last_reset_time = jiffies;
124 hswb->dirty_writeback_wq = create_singlethread_workqueue(name);
125 if (!hswb->dirty_writeback_wq) {
127 kfree(hswb);
130 INIT_WORK(&hswb->dirty_sb_writeback_work, hmdfs_srv_wb_handler);
131 sbi->h_swb = hswb;