Details
-
Bug
-
Resolution: Duplicate
-
Minor
-
None
-
None
-
None
-
3
-
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
__set_page_dirty_nobuffers(), but the problem is Lustre assume page locked, while __set_page_dirty_nobuffers() assume unlocked .
This looks not easy to be fixed without any upstream linux modifications..
Attachments
Issue Links
- is related to
-
LU-13288 a performance regression on the single stream write
- Resolved