[LU-13289] cgroup writeback support for Lustre kernel 5.2+ is broken Created: 22/Feb/20 Updated: 25/Feb/20 Resolved: 25/Feb/20 |
|
| Status: | Resolved |
| Project: | Lustre |
| Component/s: | None |
| Affects Version/s: | None |
| Fix Version/s: | None |
| Type: | Bug | Priority: | Minor |
| Reporter: | Wang Shilong (Inactive) | Assignee: | WC Triage |
| Resolution: | Duplicate | Votes: | 0 |
| Labels: | None | ||
| Issue Links: |
|
||||||||
| Severity: | 3 | ||||||||
| Rank (Obsolete): | 9223372036854775807 | ||||||||
| Description |
|
Since newer kernel no long export account_page_dirtied() void account_page_dirtied(struct page *page, struct address_space *mapping)
{
struct inode *inode = mapping->host;
trace_writeback_dirty_page(page, mapping);
if (mapping_cap_account_dirty(mapping)) {
struct bdi_writeback *wb;
inode_attach_wb(inode, page);
wb = inode_to_wb(inode);
__inc_lruvec_page_state(page, NR_FILE_DIRTY);
__inc_zone_page_state(page, NR_ZONE_WRITE_PENDING);
__inc_node_page_state(page, NR_DIRTIED);
inc_wb_stat(wb, WB_RECLAIMABLE);
inc_wb_stat(wb, WB_DIRTIED);
task_io_account_write(PAGE_SIZE);
current->nr_dirtied++;
this_cpu_inc(bdp_ratelimits);
mem_cgroup_track_foreign_dirty(page, wb);
}
}
It looks harder to add Lustre cgourp support for new kernel, as copy function back to Lustre dosen't work, as there is static bdp_ratelimits in page-writeback.c , aslo potentially, we might call This looks not easy to be fixed without any upstream linux modifications.. |
| Comments |
| Comment by Wang Shilong (Inactive) [ 22/Feb/20 ] |
|
One of walkaround might be we unlock page before call __set_page_dirty_nobuffers(), but there might be some possible race for this? |
| Comment by Wang Shilong (Inactive) [ 24/Feb/20 ] |
|
One of intresting approach could be using kprobe, there is an API kallsyms_lookup_name() to do this, luckily it looks its config is enabled by default. |
| Comment by Andreas Dilger [ 24/Feb/20 ] |
|
Shilong, can this be resolved by the patch https://review.whamcloud.com/37686 " |
| Comment by Wang Shilong (Inactive) [ 25/Feb/20 ] |
|
adilgerI think patch perfectly solve the problem this ticket try to address. |