KernelNewbies
  • Comments
  • Immutable Page
  • Menu
    • Navigation
    • RecentChanges
    • FindPage
    • Local Site Map
    • Help
    • HelpContents
    • HelpOnMoinWikiSyntax
    • Display
    • Attachments
    • Info
    • Raw Text
    • Print View
    • Edit
    • Load
    • Save
  • Login

Kernel Hacking

  • Frontpage

  • Kernel Hacking

  • Kernel Documentation

  • Kernel Glossary

  • FAQ

  • Found a bug?

  • Kernel Changelog

  • Upstream Merge Guide

Projects

  • KernelTasklists

  • KernelJanitors

  • KernelMentors

  • KernelProjects

Community

  • Why a community?

  • Regional Kernelnewbies

  • Personal Pages

  • Upcoming Events

References

  • Mailing Lists

  • Related Sites

  • Programming Links

Wiki

  • Recent Changes

  • Site Editors

  • Side Bar

  • Tips for Editors

  • Hosted by WikiWall

Navigation

  • RecentChanges
  • FindPage
  • HelpContents
You are not allowed to do recoverpass on this page. Login and try again.
KernelNewbies:
  • MatthewWilcox
  • Projects

I have "a few" projects I'm working on / intending to work on in the near future.

Folios is the big one. This has sub-projects:

  • MM:
    • Convert vmscan.c to folios (partly done for 5.18)
      • isolate_lru_pages()
      • alloc_demote_page()
      • reclaim_clean_pages_from_list()
      • move_pages_to_lru()
      • shrink_active_list()
      • reclaim_pages()
    • Convert filemap.c to folios
      • filemap_range_has_page()
      • filemap_fdatawait_range()

      • filemap_range_has_writeback()
      • replace_page_cache_page()
      • page_endio()
      • find_get_pages_contig() (or can we remove it?)
      • find_get_pages_range_tag()
      • filemap_map_pmd()
      • filemap_map_pages()
      • generic_perform_write()
    • Get rid of readahead_page()
    • Move split_huge_page() to non-THP code
    • Get rid of all thp_size(), thp_order() and thp_nr_pages() calls (probably?)
  • FS:
    • Adapt NFS to use large folios
    • Adapt btrfs to use large folios
    • Adapt CIFS to use large folios
    • Convert the a_ops to take folios instead of pages (most aops done for 5.19)

Tangential to folios:

  • Phyr
  • net pool as its own type
  • pt pages as its own type
  • zspage as its own type
  • Can we make mapcount more sensible or disappear entirely?
  • Implement iomap ->writepages properly

Unrelated to folios:

  • Maple Tree (Liam is doing most of the work)
  • Shrink struct mutex (Vishal has taken this on)
  • Remove PG_private
  • Remove PG_error
  • Synchronous ->readpage

  • Broadcast readpage errors to all waiters
  • Implement ->readahead for squashfs (Hsin-Yi)

  • MatthewWilcox/ImprovedReadaheadAlgorithm

  • Slab Sevenths (Bill is attacking this one)
  • NUMA-aware zero page (Bill is working on this one too)
  • NUMA text pages in the page cache (Linus seems sceptical)
  • Usercopy for order-0 pages
    • If we check ->mapping, is that a sure sign of individual allocation?

  • Big Buckets (or integrate with Maple Tree)
  • Readahead for compressed filesystems in general
  • Fix XArray memory leak when memory allocation fails
  • Removing b_end_io (Jitendra)
  • Enable -Wshadow (needs header file cleanups)
  • Share memory when caching reflinked files
  • Make page cache better at writethrough for O_SYNC (and related)

Completed projects

  • Folios:
  • MM:
    • Get large folio support in (5.18)
    • Convert GUP to folios (5.18)
    • Convert page_vma_mapped to PFNs (5.18)
    • Convert rmap to folios (5.18)
  • FS:
    • Convert XFS to large folios (5.18)
  • Remove aops->readpages (5.18)

  • Use an iov_iter in proc/vmcore (5.19)
  • Usercopy improvements (5.19)
  • Make the last argument to read_mapping_page() / read_mapping_folio() a struct file ptr (5.19)
  • Slab (Vlastimil took this over. merged 5.17)
  • MoinMoin Powered
  • Python Powered
  • GPL licensed
  • Valid HTML 4.01