Uploaded image for project: 'Lustre'
  1. Lustre
  2. LU-13289

cgroup writeback support for Lustre kernel 5.2+ is broken

    XMLWordPrintable

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

          Activity

            People

              wc-triage WC Triage
              wshilong Wang Shilong (Inactive)
              Votes:
              0 Vote for this issue
              Watchers:
              5 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: