#
5232c63f |
| 06-Jan-2022 |
Matthew Wilcox (Oracle) <willy@infradead.org> |
mm: Make compound_pincount always available
Move compound_pincount from the third page to the second page, which means it's available for all compound pages. That lets us delete hpage_pincount_avai
mm: Make compound_pincount always available
Move compound_pincount from the third page to the second page, which means it's available for all compound pages. That lets us delete hpage_pincount_available().
On 32-bit systems, there isn't enough space for both compound_pincount and compound_nr in the second page (it would collide with page->private, which is in use for pages in the swap cache), so revert the optimisation of storing both compound_order and compound_nr on 32-bit systems.
Signed-off-by: Matthew Wilcox (Oracle) <willy@infradead.org> Reviewed-by: John Hubbard <jhubbard@nvidia.com> Reviewed-by: Christoph Hellwig <hch@lst.de> Reviewed-by: Jason Gunthorpe <jgg@nvidia.com> Reviewed-by: William Kucharski <william.kucharski@oracle.com>
show more ...
|
#
6315d8a2 |
| 07-Jan-2022 |
Matthew Wilcox (Oracle) <willy@infradead.org> |
mm/gup: Remove hpage_pincount_sub()
Move the assertion (and correct it to be a cheaper variant), and inline the atomic_sub() operation.
Signed-off-by: Matthew Wilcox (Oracle) <willy@infradead.org>
mm/gup: Remove hpage_pincount_sub()
Move the assertion (and correct it to be a cheaper variant), and inline the atomic_sub() operation.
Signed-off-by: Matthew Wilcox (Oracle) <willy@infradead.org> Reviewed-by: Christoph Hellwig <hch@lst.de> Reviewed-by: John Hubbard <jhubbard@nvidia.com> Reviewed-by: Jason Gunthorpe <jgg@nvidia.com> Reviewed-by: William Kucharski <william.kucharski@oracle.com>
show more ...
|
#
78d9d6ce |
| 07-Jan-2022 |
Matthew Wilcox (Oracle) <willy@infradead.org> |
mm/gup: Remove hpage_pincount_add()
It's clearer to call atomic_add() in the callers; the assertions clearly can't fire there because they're part of the condition for calling atomic_add().
Signed-
mm/gup: Remove hpage_pincount_add()
It's clearer to call atomic_add() in the callers; the assertions clearly can't fire there because they're part of the condition for calling atomic_add().
Signed-off-by: Matthew Wilcox (Oracle) <willy@infradead.org> Reviewed-by: John Hubbard <jhubbard@nvidia.com> Reviewed-by: Christoph Hellwig <hch@lst.de>
show more ...
|
#
59409373 |
| 07-Jan-2022 |
Matthew Wilcox (Oracle) <willy@infradead.org> |
mm/gup: Handle page split race more efficiently
If we hit the page split race, the current code returns NULL which will presumably trigger a retry under the mmap_lock. This isn't necessary; we can
mm/gup: Handle page split race more efficiently
If we hit the page split race, the current code returns NULL which will presumably trigger a retry under the mmap_lock. This isn't necessary; we can just retry the compound_head() lookup. This is a very minor optimisation of an unlikely path, but conceptually it matches (eg) the page cache RCU-protected lookup.
Signed-off-by: Matthew Wilcox (Oracle) <willy@infradead.org> Reviewed-by: Christoph Hellwig <hch@lst.de> Reviewed-by: John Hubbard <jhubbard@nvidia.com> Reviewed-by: Jason Gunthorpe <jgg@nvidia.com> Reviewed-by: William Kucharski <william.kucharski@oracle.com>
show more ...
|
#
4c654229 |
| 07-Jan-2022 |
Matthew Wilcox (Oracle) <willy@infradead.org> |
mm/gup: Remove an assumption of a contiguous memmap
This assumption needs the inverse of nth_page(), which is temporarily named page_nth() until it's renamed later in this series.
Signed-off-by: Ma
mm/gup: Remove an assumption of a contiguous memmap
This assumption needs the inverse of nth_page(), which is temporarily named page_nth() until it's renamed later in this series.
Signed-off-by: Matthew Wilcox (Oracle) <willy@infradead.org> Reviewed-by: Christoph Hellwig <hch@lst.de> Reviewed-by: John Hubbard <jhubbard@nvidia.com> Reviewed-by: Jason Gunthorpe <jgg@nvidia.com> Reviewed-by: William Kucharski <william.kucharski@oracle.com>
show more ...
|
#
c228afb1 |
| 07-Jan-2022 |
Matthew Wilcox (Oracle) <willy@infradead.org> |
mm/gup: Fix some contiguous memmap assumptions
Several functions in gup.c assume that a compound page has virtually contiguous page structs. This isn't true for SPARSEMEM configs unless SPARSEMEM_V
mm/gup: Fix some contiguous memmap assumptions
Several functions in gup.c assume that a compound page has virtually contiguous page structs. This isn't true for SPARSEMEM configs unless SPARSEMEM_VMEMMAP is also set. Fix them by using nth_page() instead of plain pointer arithmetic.
Signed-off-by: Matthew Wilcox (Oracle) <willy@infradead.org> Reviewed-by: Christoph Hellwig <hch@lst.de> Reviewed-by: John Hubbard <jhubbard@nvidia.com> Reviewed-by: Jason Gunthorpe <jgg@nvidia.com> Reviewed-by: William Kucharski <william.kucharski@oracle.com>
show more ...
|
#
28297dbc |
| 09-Jan-2022 |
Matthew Wilcox (Oracle) <willy@infradead.org> |
mm/gup: Change the calling convention for compound_next()
Return the head page instead of storing it to a passed parameter. Reorder the arguments to match the calling function's arguments.
Signed-o
mm/gup: Change the calling convention for compound_next()
Return the head page instead of storing it to a passed parameter. Reorder the arguments to match the calling function's arguments.
Signed-off-by: Matthew Wilcox (Oracle) <willy@infradead.org> Reviewed-by: Christoph Hellwig <hch@lst.de> Reviewed-by: John Hubbard <jhubbard@nvidia.com> Reviewed-by: Jason Gunthorpe <jgg@nvidia.com> Reviewed-by: William Kucharski <william.kucharski@oracle.com>
show more ...
|
#
0b046e12 |
| 09-Jan-2022 |
Matthew Wilcox (Oracle) <willy@infradead.org> |
mm/gup: Optimise compound_range_next()
By definition, a compound page has an order >= 1, so the second half of the test was redundant. Also, this cannot be a tail page since it's the result of call
mm/gup: Optimise compound_range_next()
By definition, a compound page has an order >= 1, so the second half of the test was redundant. Also, this cannot be a tail page since it's the result of calling compound_head(), so use PageHead() instead of PageCompound().
Signed-off-by: Matthew Wilcox (Oracle) <willy@infradead.org> Reviewed-by: Christoph Hellwig <hch@lst.de> Reviewed-by: John Hubbard <jhubbard@nvidia.com> Reviewed-by: Jason Gunthorpe <jgg@nvidia.com> Reviewed-by: William Kucharski <william.kucharski@oracle.com>
show more ...
|
#
8f39f5fc |
| 09-Jan-2022 |
Matthew Wilcox (Oracle) <willy@infradead.org> |
mm/gup: Change the calling convention for compound_range_next()
Return the head page instead of storing it to a passed parameter. Pass the start page directly instead of passing a pointer to it. Reo
mm/gup: Change the calling convention for compound_range_next()
Return the head page instead of storing it to a passed parameter. Pass the start page directly instead of passing a pointer to it. Reorder the arguments to match the calling function's arguments.
Signed-off-by: Matthew Wilcox (Oracle) <willy@infradead.org> Reviewed-by: John Hubbard <jhubbard@nvidia.com> Reviewed-by: Jason Gunthorpe <jgg@nvidia.com> Reviewed-by: William Kucharski <william.kucharski@oracle.com> Reviewed-by: Christoph Hellwig <hch@lst.de>
show more ...
|
#
e7602748 |
| 08-Jan-2022 |
Matthew Wilcox (Oracle) <willy@infradead.org> |
mm/gup: Remove for_each_compound_head()
This macro doesn't simplify the users; it's easier to just call compound_next() inside a standard loop.
Signed-off-by: Matthew Wilcox (Oracle) <willy@infrade
mm/gup: Remove for_each_compound_head()
This macro doesn't simplify the users; it's easier to just call compound_next() inside a standard loop.
Signed-off-by: Matthew Wilcox (Oracle) <willy@infradead.org> Reviewed-by: Christoph Hellwig <hch@lst.de> Reviewed-by: John Hubbard <jhubbard@nvidia.com> Reviewed-by: Jason Gunthorpe <jgg@nvidia.com> Reviewed-by: William Kucharski <william.kucharski@oracle.com>
show more ...
|
#
a5f100db |
| 08-Jan-2022 |
Matthew Wilcox (Oracle) <willy@infradead.org> |
mm/gup: Remove for_each_compound_range()
This macro doesn't simplify the users; it's easier to just call compound_range_next() inside the loop.
Signed-off-by: Matthew Wilcox (Oracle) <willy@infrade
mm/gup: Remove for_each_compound_range()
This macro doesn't simplify the users; it's easier to just call compound_range_next() inside the loop.
Signed-off-by: Matthew Wilcox (Oracle) <willy@infradead.org> Reviewed-by: Christoph Hellwig <hch@lst.de> Reviewed-by: John Hubbard <jhubbard@nvidia.com> Reviewed-by: Jason Gunthorpe <jgg@nvidia.com> Reviewed-by: William Kucharski <william.kucharski@oracle.com>
show more ...
|
#
8ea2979c |
| 04-Feb-2022 |
Matthew Wilcox (Oracle) <willy@infradead.org> |
mm/gup: Increment the page refcount before the pincount
We should always increase the refcount before doing anything else to the page so that other page users see the elevated refcount first.
Signe
mm/gup: Increment the page refcount before the pincount
We should always increase the refcount before doing anything else to the page so that other page users see the elevated refcount first.
Signed-off-by: Matthew Wilcox (Oracle) <willy@infradead.org> Reviewed-by: John Hubbard <jhubbard@nvidia.com> Reviewed-by: Christoph Hellwig <hch@lst.de>
show more ...
|
#
1422df58 |
| 21-Mar-2022 |
Borislav Petkov <bp@suse.de> |
Merge branch 'edac-amd64' into edac-updates-for-v5.18
Signed-off-by: Borislav Petkov <bp@suse.de>
|
#
4e371d99 |
| 18-Mar-2022 |
Miquel Raynal <miquel.raynal@bootlin.com> |
Merge tag 'spi-nor/for-5.18' into mtd/next
SPI NOR core changes: - move vendor specific code out of the core into vendor drivers. - unify all function and object names in the vendor modules. - make
Merge tag 'spi-nor/for-5.18' into mtd/next
SPI NOR core changes: - move vendor specific code out of the core into vendor drivers. - unify all function and object names in the vendor modules. - make setup() callback optional to improve readability. - skip erase logic when the SPI_NOR_NO_ERASE flag is set at flash declaration.
Signed-off-by: Miquel Raynal <miquel.raynal@bootlin.com>
show more ...
|
#
a8253684 |
| 17-Mar-2022 |
Thomas Zimmermann <tzimmermann@suse.de> |
Merge drm/drm-fixes into drm-misc-fixes
Backmerging drm/drm-fixes for commit 3755d35ee1d2 ("drm/panel: Select DRM_DP_HELPER for DRM_PANEL_EDP").
Signed-off-by: Thomas Zimmermann <tzimmermann@suse.d
Merge drm/drm-fixes into drm-misc-fixes
Backmerging drm/drm-fixes for commit 3755d35ee1d2 ("drm/panel: Select DRM_DP_HELPER for DRM_PANEL_EDP").
Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
show more ...
|
#
7f220d4a |
| 16-Mar-2022 |
Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
Merge tag 'v5.17-rc8' into usb-next
We need the Xen USB fixes as other patches depend on those changes.
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
|
#
99105cc8 |
| 15-Mar-2022 |
Stephen Boyd <sboyd@kernel.org> |
Merge tag 'v5.17-rc4' into clk-ti
We want to get commit 31aa7056bbec ("ARM: dts: Don't use legacy clock defines for dra7 clkctrl") so merge in the nearest rc.
|
#
ccdbf33c |
| 15-Mar-2022 |
Ingo Molnar <mingo@kernel.org> |
Merge tag 'v5.17-rc8' into sched/core, to pick up fixes
Signed-off-by: Ingo Molnar <mingo@kernel.org>
|
#
ce835633 |
| 14-Mar-2022 |
Dmitry Torokhov <dmitry.torokhov@gmail.com> |
Merge tag 'v5.17-rc8' into next
Sync up with mainline to again get the latest changes in HID subsystem.
|
#
65eab2bc |
| 14-Mar-2022 |
Arnaldo Carvalho de Melo <acme@redhat.com> |
Merge remote-tracking branch 'torvalds/master' into perf/core
To pick up fixes that went thru perf/urgent.
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
|
#
411472ae |
| 14-Mar-2022 |
Ingo Molnar <mingo@kernel.org> |
Merge tag 'v5.17-rc8' into irq/core, to fix conflicts
Conflicts: drivers/pinctrl/pinctrl-starfive.c
Signed-off-by: Ingo Molnar <mingo@kernel.org>
|
#
4cc89317 |
| 14-Mar-2022 |
Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
Merge 5.17-rc8 into staging-next
We need the staging fixes in here as well.
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
|
#
1e8a3f0d |
| 10-Mar-2022 |
Jakub Kicinski <kuba@kernel.org> |
Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net
net/dsa/dsa2.c commit afb3cc1a397d ("net: dsa: unlock the rtnl_mutex when dsa_master_setup() fails") commit e83d56537859 ("net: dsa
Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net
net/dsa/dsa2.c commit afb3cc1a397d ("net: dsa: unlock the rtnl_mutex when dsa_master_setup() fails") commit e83d56537859 ("net: dsa: replay master state events in dsa_tree_{setup,teardown}_master") https://lore.kernel.org/all/20220307101436.7ae87da0@canb.auug.org.au/
drivers/net/ethernet/intel/ice/ice.h commit 97b0129146b1 ("ice: Fix error with handling of bonding MTU") commit 43113ff73453 ("ice: add TTY for GNSS module for E810T device") https://lore.kernel.org/all/20220310112843.3233bcf1@canb.auug.org.au/
drivers/staging/gdm724x/gdm_lte.c commit fc7f750dc9d1 ("staging: gdm724x: fix use after free in gdm_lte_rx()") commit 4bcc4249b4cf ("staging: Use netif_rx().") https://lore.kernel.org/all/20220308111043.1018a59d@canb.auug.org.au/
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
show more ...
|
#
fe673d3f |
| 08-Mar-2022 |
Linus Torvalds <torvalds@linux-foundation.org> |
mm: gup: make fault_in_safe_writeable() use fixup_user_fault()
Instead of using GUP, make fault_in_safe_writeable() actually force a 'handle_mm_fault()' using the same fixup_user_fault() machinery t
mm: gup: make fault_in_safe_writeable() use fixup_user_fault()
Instead of using GUP, make fault_in_safe_writeable() actually force a 'handle_mm_fault()' using the same fixup_user_fault() machinery that futexes already use.
Using the GUP machinery meant that fault_in_safe_writeable() did not do everything that a real fault would do, ranging from not auto-expanding the stack segment, to not updating accessed or dirty flags in the page tables (GUP sets those flags on the pages themselves).
The latter causes problems on architectures (like s390) that do accessed bit handling in software, which meant that fault_in_safe_writeable() didn't actually do all the fault handling it needed to, and trying to access the user address afterwards would still cause faults.
Reported-and-tested-by: Andreas Gruenbacher <agruenba@redhat.com> Fixes: cdd591fc86e3 ("iov_iter: Introduce fault_in_iov_iter_writeable") Link: https://lore.kernel.org/all/CAHc6FU5nP+nziNGG0JAF1FUx-GV7kKFvM7aZuU_XD2_1v4vnvg@mail.gmail.com/ Acked-by: David Hildenbrand <david@redhat.com> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
show more ...
|
#
04a5b0ee |
| 07-Mar-2022 |
Michael Ellerman <mpe@ellerman.id.au> |
Merge branch 'kvm-ppc-cap-210' of https://git.kernel.org/pub/scm/virt/kvm/kvm into topic/ppc-kvm
Merge this branch from the KVM tree to bring in a new KVM capability KVM_CAP_PPC_AIL_MODE_3.
It also
Merge branch 'kvm-ppc-cap-210' of https://git.kernel.org/pub/scm/virt/kvm/kvm into topic/ppc-kvm
Merge this branch from the KVM tree to bring in a new KVM capability KVM_CAP_PPC_AIL_MODE_3.
It also brings in some unrelated KVM changes as well as v5.17-rc3.
show more ...
|