skipping them when other reserved pages are initialized and
initializing them later with a separate kernel thread.
Signed-off-by: Anthony Yznaga
---
arch/x86/mm/init_64.c | 1 -
include/linux/mm.h| 2 +-
mm/memblock.c | 10 --
mm/page_alloc.c | 52
Support preserving a transparent hugepage by recording the page order and
a flag indicating it is a THP. Use these values when the page is
restored to reconstruct the THP.
Signed-off-by: Anthony Yznaga
---
include/linux/pkram.h | 2 ++
mm/pkram.c| 20
2 files
, add them
to a local xarray, export the xarray node, and then take the lock on the
page cache xarray and insert the node.
Signed-off-by: Anthony Yznaga
---
mm/shmem.c | 145 ++---
1 file changed, 138 insertions(+), 7 deletions(-)
diff --git
Reduce LRU lock contention when inserting shmem pages by staging pages
to be added to the same LRU and adding them en masse.
Signed-off-by: Anthony Yznaga
---
mm/shmem.c | 8 +++-
1 file changed, 7 insertions(+), 1 deletion(-)
diff --git a/mm/shmem.c b/mm/shmem.c
index ca5edf580f24
allocated from as will be seen in a later patch.
Signed-off-by: Anthony Yznaga
---
include/linux/pkram.h | 15 +
mm/Makefile | 2 +-
mm/pkram_pagetable.c | 169 ++
3 files changed, 185 insertions(+), 1 deletion(-)
create mode
: Vladimir Davydov
Signed-off-by: Anthony Yznaga
---
include/linux/pkram.h | 2 +
mm/pkram.c| 210 ++
2 files changed, 212 insertions(+)
diff --git a/include/linux/pkram.h b/include/linux/pkram.h
index 409022e1472f..1ba48442ef8e 100644
ff-by: Anthony Yznaga
---
mm/shmem.c | 21 +
1 file changed, 13 insertions(+), 8 deletions(-)
diff --git a/mm/shmem.c b/mm/shmem.c
index 13475073fb52..1f3b43b8fa34 100644
--- a/mm/shmem.c
+++ b/mm/shmem.c
@@ -693,6 +693,7 @@ int shmem_insert_page(struct mm_struct *mm, struct inode
*
, but improvements in performance
when multiple threads are adding to the same pagecache are achieved
by calling a new shmem_add_to_page_cache_fast() function that does
not check for conflicts and drops the xarray lock before updating stats.
Signed-off-by: Anthony Yznaga
---
mm/shmem.c | 95
and the next aligned page will not fit on the pkram_link
page.
Signed-off-by: Anthony Yznaga
---
mm/pkram.c | 14 --
1 file changed, 12 insertions(+), 2 deletions(-)
diff --git a/mm/pkram.c b/mm/pkram.c
index ef092aa5ce7a..416c3ca4411b 100644
--- a/mm/pkram.c
+++ b/mm/pkram.c
pages in the array are provided
to the caller.
pkram_finish_load_pages()
Called when no more pages will be loaded from the pkram_obj.
Signed-off-by: Anthony Yznaga
---
include/linux/pkram.h | 6 +++
mm/pkram.c| 106 ++
2 files
by the contiguous ranges present rather than a page at a time.
Signed-off-by: Anthony Yznaga
---
arch/x86/kernel/setup.c | 3 +
arch/x86/mm/init_64.c | 2 +
include/linux/pkram.h | 8 +++
mm/pkram.c | 179 +++-
4 files changed
the shmem_inode_info lock
and prepare for future optimizations, introduce shmem_insert_pages()
which allows a caller to pass an array of pages to be inserted into a
shmem segment.
Signed-off-by: Anthony Yznaga
---
include/linux/shmem_fs.h | 3 +-
mm/shmem.c | 114
Make use of new interfaces for loading and inserting preserved pages
into a shmem file in bulk.
Signed-off-by: Anthony Yznaga
---
mm/shmem_pkram.c | 23 +--
1 file changed, 17 insertions(+), 6 deletions(-)
diff --git a/mm/shmem_pkram.c b/mm/shmem_pkram.c
index 4992b6c3e54e
puts it.
Originally-by: Vladimir Davydov
Signed-off-by: Anthony Yznaga
---
include/linux/pkram.h | 5 ++
mm/pkram.c| 219 +-
2 files changed, 221 insertions(+), 3 deletions(-)
diff --git a/include/linux/pkram.h b/include/linux/pkram.h
. For now only unevictable pages are supported.
Signed-off-by: Anthony Yznaga
---
include/linux/swap.h | 11 ++
mm/swap.c| 101 +++
2 files changed, 112 insertions(+)
diff --git a/include/linux/swap.h b/include/linux/swap.h
index
it.
Signed-off-by: Anthony Yznaga
---
Documentation/core-api/xarray.rst | 8 +++
include/linux/xarray.h| 2 +
lib/test_xarray.c | 45 +
lib/xarray.c | 100 ++
4 files changed, 155 insertions
To support deferred initialization of page structs for preserved pages,
separate memblocks containing preserved pages by setting a new flag
when adding them to the memblock reserved list.
Signed-off-by: Anthony Yznaga
---
include/linux/memblock.h | 7 +++
mm/memblock.c| 8
implified: it supports only regular files in the root directory without
multiple hard links, and it does not save swapped out files and aborts if
any are found. However, it can be elaborated to fully support tmpfs.
Originally-by: Vladimir Davydov
Signed-off-by: Anthony Yznaga
---
include/linux/pkram
Add and remove pkram_link pages from a pkram_obj atomically to prepare
for multithreading.
Signed-off-by: Anthony Yznaga
---
mm/pkram.c | 27 ++-
1 file changed, 18 insertions(+), 9 deletions(-)
diff --git a/mm/pkram.c b/mm/pkram.c
index 5f4e4d12865f..042c14dedc25
of a file to a pkram_obj
until no more no more chunks are available.
When restoring pages each thread loads pages using a copy of a
pkram_stream initialized by pkram_prepare_load_obj(). Under the hood
each thread ends up fetching and operating on pkram_link pages.
Signed-off-by: Anth
When a kernel is loaded for kexec the address ranges where the kexec
segments will be copied to may conflict with pages already set to be
preserved. Provide a way to determine if preserved pages exist in a
specified range.
Signed-off-by: Anthony Yznaga
---
include/linux/pkram.h | 2 ++
mm
.
Signed-off-by: Anthony Yznaga
---
arch/x86/include/asm/numa.h | 4
arch/x86/mm/numa.c | 32
2 files changed, 24 insertions(+), 12 deletions(-)
diff --git a/arch/x86/include/asm/numa.h b/arch/x86/include/asm/numa.h
index bbfde3d2662f..f9e05f4eb1c6
On 5/11/20 6:57 AM, Mike Rapoport wrote:
> On Wed, May 06, 2020 at 05:41:40PM -0700, Anthony Yznaga wrote:
>> The size of the memblock reserved array may be increased while preserved
>> pages are being reserved. When this happens, preserved pages that have
>> not yet been
On 5/7/20 9:30 AM, Randy Dunlap wrote:
> On 5/6/20 5:42 PM, Anthony Yznaga wrote:
>> Improve performance by multithreading the work to preserve and restore
>> shmem pages.
>>
>> Add 'pkram_max_threads=' kernel option to specify the maximum number
>> o
On 5/7/20 10:51 AM, Kees Cook wrote:
> On Wed, May 06, 2020 at 05:41:47PM -0700, Anthony Yznaga wrote:
>> Avoid regions of memory that contain preserved pages when computing
>> slots used to select where to put the decompressed kernel.
> This is changing the slot-walki
nother thread
> (Suggested by Anthony)
Looks good, Khalid. Thanks for making the changes.
For the entire series:
Reviewed-by: Anthony Yznaga
> On Aug 9, 2017, at 2:26 PM, Khalid Aziz wrote:
>
> ADI is a new feature supported on SPARC M7 and newer processors to allow
> hardware to catch rogue accesses to memory. ADI is supported for data
> fetches only and not instruction fetches. An app can enable ADI on its
> data pages, set version
Hi Khalid,
> On Aug 30, 2017, at 3:27 PM, Khalid Aziz wrote:
>
> Hi Anthony,
>
> Thanks for taking the time to provide feedback. My comments inline below.
>
> On 08/25/2017 04:31 PM, Anthony Yznaga wrote:
>>> On Aug 9, 2017, at 2:26 PM, Khalid
> On Sep 27, 2017, at 12:56 PM, Sam Ravnborg wrote:
>
> Hi Vijay.
>
> On Wed, Sep 27, 2017 at 01:25:26PM -0600, Vijay Kumar wrote:
>> For T4 and above, patch fls and __fls functions
>> at the boot time to use lzcnt instruction.
>>
>> Signed-off-by: Vijay Kumar
>> Reviewed-by: Babu Moger
>> -
> On Oct 12, 2017, at 7:44 AM, Khalid Aziz wrote:
>
> Hi Anthony,
>
> Please quote only the relevant parts of the patch with comments. That makes
> it much easier to find the comments.
Okay.
>
> On 10/06/2017 04:12 PM, Anthony Yznaga wrote:
>>> On Sep
> On Oct 13, 2017, at 9:18 AM, Khalid Aziz wrote:
>
> On 10/13/2017 08:14 AM, Khalid Aziz wrote:
>> On 10/12/2017 02:27 PM, Anthony Yznaga wrote:
>>>
>>>> On Oct 12, 2017, at 7:44 AM, Khalid Aziz wrote:
>>>>
>>>>
>>>>
.
>
> Signed-off-by: Khalid Aziz
> Cc: Khalid Aziz
> ---
> v8:
> - Added note to doc about non-faulting loads not triggering
> ADI tag mismatch and more details on special tag values
> of 0x0 and 0xf, as suggested by Anthony Yznaga)
> - Added an IP
> On Oct 6, 2017, at 9:54 AM, Vijay Kumar wrote:
>
> Defined SPARC optimised fls using lzcnt opcode.
>
> Signed-off-by: Vijay Kumar
> ---
> arch/sparc/lib/Makefile |1 +
> arch/sparc/lib/NG4fls.S | 20
> 2 files changed, 21 insertions(+), 0 deletions(-)
>
> diff --git
> On Oct 20, 2017, at 9:57 AM, Khalid Aziz wrote:
>
> Patch 9/10
> When a processor supports additional metadata on memory pages, that
> additional metadata needs to be copied to new memory pages when those
> pages are moved. This patch allows architecture specific code to
> replace the defa
101 - 134 of 134 matches
Mail list logo