1. 05 4月, 2016 4 次提交
    • L
      Merge branch 'PAGE_CACHE_SIZE-removal' · 4a2d057e
      Linus Torvalds 提交于
      Merge PAGE_CACHE_SIZE removal patches from Kirill Shutemov:
       "PAGE_CACHE_{SIZE,SHIFT,MASK,ALIGN} macros were introduced *long* time
        ago with promise that one day it will be possible to implement page
        cache with bigger chunks than PAGE_SIZE.
      
        This promise never materialized.  And unlikely will.
      
        Let's stop pretending that pages in page cache are special.  They are
        not.
      
        The first patch with most changes has been done with coccinelle.  The
        second is manual fixups on top.
      
        The third patch removes macros definition"
      
      [ I was planning to apply this just before rc2, but then I spaced out,
        so here it is right _after_ rc2 instead.
      
        As Kirill suggested as a possibility, I could have decided to only
        merge the first two patches, and leave the old interfaces for
        compatibility, but I'd rather get it all done and any out-of-tree
        modules and patches can trivially do the converstion while still also
        working with older kernels, so there is little reason to try to
        maintain the redundant legacy model.    - Linus ]
      
      * PAGE_CACHE_SIZE-removal:
        mm: drop PAGE_CACHE_* and page_cache_{get,release} definition
        mm, fs: remove remaining PAGE_CACHE_* and page_cache_{get,release} usage
        mm, fs: get rid of PAGE_CACHE_* and page_cache_{get,release} macros
      4a2d057e
    • K
      mm: drop PAGE_CACHE_* and page_cache_{get,release} definition · 1fa64f19
      Kirill A. Shutemov 提交于
      All users gone.  We can remove these macros.
      Signed-off-by: NKirill A. Shutemov <kirill.shutemov@linux.intel.com>
      Acked-by: NMichal Hocko <mhocko@suse.com>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      1fa64f19
    • K
      mm, fs: remove remaining PAGE_CACHE_* and page_cache_{get,release} usage · ea1754a0
      Kirill A. Shutemov 提交于
      Mostly direct substitution with occasional adjustment or removing
      outdated comments.
      Signed-off-by: NKirill A. Shutemov <kirill.shutemov@linux.intel.com>
      Acked-by: NMichal Hocko <mhocko@suse.com>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      ea1754a0
    • K
      mm, fs: get rid of PAGE_CACHE_* and page_cache_{get,release} macros · 09cbfeaf
      Kirill A. Shutemov 提交于
      PAGE_CACHE_{SIZE,SHIFT,MASK,ALIGN} macros were introduced *long* time
      ago with promise that one day it will be possible to implement page
      cache with bigger chunks than PAGE_SIZE.
      
      This promise never materialized.  And unlikely will.
      
      We have many places where PAGE_CACHE_SIZE assumed to be equal to
      PAGE_SIZE.  And it's constant source of confusion on whether
      PAGE_CACHE_* or PAGE_* constant should be used in a particular case,
      especially on the border between fs and mm.
      
      Global switching to PAGE_CACHE_SIZE != PAGE_SIZE would cause to much
      breakage to be doable.
      
      Let's stop pretending that pages in page cache are special.  They are
      not.
      
      The changes are pretty straight-forward:
      
       - <foo> << (PAGE_CACHE_SHIFT - PAGE_SHIFT) -> <foo>;
      
       - <foo> >> (PAGE_CACHE_SHIFT - PAGE_SHIFT) -> <foo>;
      
       - PAGE_CACHE_{SIZE,SHIFT,MASK,ALIGN} -> PAGE_{SIZE,SHIFT,MASK,ALIGN};
      
       - page_cache_get() -> get_page();
      
       - page_cache_release() -> put_page();
      
      This patch contains automated changes generated with coccinelle using
      script below.  For some reason, coccinelle doesn't patch header files.
      I've called spatch for them manually.
      
      The only adjustment after coccinelle is revert of changes to
      PAGE_CAHCE_ALIGN definition: we are going to drop it later.
      
      There are few places in the code where coccinelle didn't reach.  I'll
      fix them manually in a separate patch.  Comments and documentation also
      will be addressed with the separate patch.
      
      virtual patch
      
      @@
      expression E;
      @@
      - E << (PAGE_CACHE_SHIFT - PAGE_SHIFT)
      + E
      
      @@
      expression E;
      @@
      - E >> (PAGE_CACHE_SHIFT - PAGE_SHIFT)
      + E
      
      @@
      @@
      - PAGE_CACHE_SHIFT
      + PAGE_SHIFT
      
      @@
      @@
      - PAGE_CACHE_SIZE
      + PAGE_SIZE
      
      @@
      @@
      - PAGE_CACHE_MASK
      + PAGE_MASK
      
      @@
      expression E;
      @@
      - PAGE_CACHE_ALIGN(E)
      + PAGE_ALIGN(E)
      
      @@
      expression E;
      @@
      - page_cache_get(E)
      + get_page(E)
      
      @@
      expression E;
      @@
      - page_cache_release(E)
      + put_page(E)
      Signed-off-by: NKirill A. Shutemov <kirill.shutemov@linux.intel.com>
      Acked-by: NMichal Hocko <mhocko@suse.com>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      09cbfeaf
  2. 03 4月, 2016 9 次提交
  3. 02 4月, 2016 27 次提交