Skip to content
  1. Apr 05, 2016
    • Linus Torvalds's avatar
      Merge tag 'for-linus-4.6-rc2-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/xen/tip · 93e2aeac
      Linus Torvalds authored
      Pull xen fixes from David Vrabel:
       "Regression and bug fixes for 4.6-rc2:
      
         - safely migrate event channels between CPUs
         - fix CPU hotplug
         - maintainer changes"
      
      * tag 'for-linus-4.6-rc2-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/xen/tip:
        MAINTAINERS: xen: Konrad to step down and Juergen to pick up
        xen/events: Mask a moving irq
        Xen on ARM and ARM64: update MAINTAINERS info
        xen/x86: Call cpu_startup_entry(CPUHP_AP_ONLINE_IDLE) from xen_play_dead()
        xen/apic: Provide Xen-specific version of cpu_present_to_apicid APIC op
      93e2aeac
    • Linus Torvalds's avatar
      Merge branch 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-fs · e865f496
      Linus Torvalds authored
      Pull quota fixes from Jan Kara:
       "Fixes for oopses when the new quotactl gets used with quotas disabled"
      
      * 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-fs:
        ocfs2: Fix Q_GETNEXTQUOTA for filesystem without quotas
        quota: Handle Q_GETNEXTQUOTA when quota is disabled
      e865f496
    • Linus Torvalds's avatar
      Merge tag 'f2fs-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jaegeuk/f2fs · c7e82c64
      Linus Torvalds authored
      Pull f2fs fixes from Jaegeuk Kim.
      
      * tag 'f2fs-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jaegeuk/f2fs:
        f2fs: retrieve IO write stat from the right place
        f2fs crypto: fix corrupted symlink in encrypted case
        f2fs: cover large section in sanity check of super
      c7e82c64
    • Linus Torvalds's avatar
      gma500: remove annoying deprecation warning · 166c5a6e
      Linus Torvalds authored
      
      
      In commit e4570897 ("drm/dp-helper: Move the legacy helpers to
      gma500") the legacy i2c helpers were moved to the only remaining user of
      them, the gma500 driver.  Together with that move, i2c_dp_aux_add_bus()
      was marked deprecated and started warning about its remaining use.
      
      It's now been a year and a half of annoying warning, and apparently
      nobody cares enough about gma500 to try to move it along to the more
      modern models.
      
      Get rid of the warning - if even the gma500 people don't care enough,
      then they should certainly not spam other innocent developers with a
      warning that might hide other, much more real issues.
      
      Cc: Daniel Vetter <daniel.vetter@intel.com>
      Cc: Alan Cox <alan@linux.intel.com>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      166c5a6e
    • Linus Torvalds's avatar
      Merge branch 'PAGE_CACHE_SIZE-removal' · 4a2d057e
      Linus Torvalds authored
      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
    • Kirill A. Shutemov's avatar
      mm: drop PAGE_CACHE_* and page_cache_{get,release} definition · 1fa64f19
      Kirill A. Shutemov authored
      
      
      All users gone.  We can remove these macros.
      
      Signed-off-by: default avatarKirill A. Shutemov <kirill.shutemov@linux.intel.com>
      Acked-by: default avatarMichal Hocko <mhocko@suse.com>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      1fa64f19
    • Kirill A. Shutemov's avatar
      mm, fs: remove remaining PAGE_CACHE_* and page_cache_{get,release} usage · ea1754a0
      Kirill A. Shutemov authored
      
      
      Mostly direct substitution with occasional adjustment or removing
      outdated comments.
      
      Signed-off-by: default avatarKirill A. Shutemov <kirill.shutemov@linux.intel.com>
      Acked-by: default avatarMichal Hocko <mhocko@suse.com>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      ea1754a0
    • Kirill A. Shutemov's avatar
      mm, fs: get rid of PAGE_CACHE_* and page_cache_{get,release} macros · 09cbfeaf
      Kirill A. Shutemov authored
      
      
      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: default avatarKirill A. Shutemov <kirill.shutemov@linux.intel.com>
      Acked-by: default avatarMichal Hocko <mhocko@suse.com>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      09cbfeaf
  2. Apr 04, 2016
    • Konrad Rzeszutek Wilk's avatar
      MAINTAINERS: xen: Konrad to step down and Juergen to pick up · 101ecde5
      Konrad Rzeszutek Wilk authored
      
      
      I've lately been concentrating on other projects and haven't been
      doing much of Xen core maintainership for the last year.
      
      I am quite thrilled that Juergen is willing to help out!
      
      P.S.
      I am still the maintainer of Xen-SWIOTLB, Xen PCI-[front|backend],
      and co-maintainer of Xen block-[front|backend]; amongst others.
      
      Acked-by: default avatarJuergen Gross <jgross@suse.com>
      Acked-by: default avatarBoris Ostrovsky <boris.ostrovsky@oracle.com>
      Signed-off-by: default avatarKonrad Rzeszutek Wilk <konrad.wilk@oracle.com>
      Signed-off-by: default avatarDavid Vrabel <david.vrabel@citrix.com>
      101ecde5
    • Boris Ostrovsky's avatar
      xen/events: Mask a moving irq · ff1e22e7
      Boris Ostrovsky authored
      
      
      Moving an unmasked irq may result in irq handler being invoked on both
      source and target CPUs.
      
      With 2-level this can happen as follows:
      
      On source CPU:
              evtchn_2l_handle_events() ->
                  generic_handle_irq() ->
                      handle_edge_irq() ->
                         eoi_pirq():
                             irq_move_irq(data);
      
                             /***** WE ARE HERE *****/
      
                             if (VALID_EVTCHN(evtchn))
                                 clear_evtchn(evtchn);
      
      If at this moment target processor is handling an unrelated event in
      evtchn_2l_handle_events()'s loop it may pick up our event since target's
      cpu_evtchn_mask claims that this event belongs to it *and* the event is
      unmasked and still pending. At the same time, source CPU will continue
      executing its own handle_edge_irq().
      
      With FIFO interrupt the scenario is similar: irq_move_irq() may result
      in a EVTCHNOP_unmask hypercall which, in turn, may make the event
      pending on the target CPU.
      
      We can avoid this situation by moving and clearing the event while
      keeping event masked.
      
      Signed-off-by: default avatarBoris Ostrovsky <boris.ostrovsky@oracle.com>
      Cc: stable@vger.kernel.org
      Signed-off-by: default avatarDavid Vrabel <david.vrabel@citrix.com>
      ff1e22e7
  3. Apr 03, 2016
  4. Apr 02, 2016