Displaying 20 results from an estimated 25 matches for "do_swap_pag".
Did you mean:
do_swap_page
2019 Apr 17
3
[PATCH] drm/nouveau: Fix DEVICE_PRIVATE dependencies
...et direct dependencies detected for DEVICE_PRIVATE
Depends on [n]: ARCH_HAS_HMM_DEVICE [=n] && ZONE_DEVICE [=n]
Selected by [y]:
- DRM_NOUVEAU_SVM [=y] && HAS_IOMEM [=y] && ARCH_HAS_HMM [=y] && DRM_NOUVEAU [=y] && STAGING [=y]
mm/memory.o: In function `do_swap_page':
memory.c:(.text+0x2754): undefined reference to `device_private_entry_fault'
commit 5da25090ab04 ("mm/hmm: kconfig split HMM address space mirroring from device memory")
split CONFIG_DEVICE_PRIVATE dependencies from
ARCH_HAS_HMM to ARCH_HAS_HMM_DEVICE and ZONE_DEVICE,
so enabl...
2019 Jul 12
2
Out of memory: kill process
...762303.508403] ? swapin_readahead+0x60/0x5e0
[762303.508405] swapin_readahead+0x60/0x5e0
[762303.508406] ? free_swap_slot+0xc0/0xe0
[762303.508408] ? radix_tree_lookup_slot+0x1e/0x50
[762303.508411] ? find_get_entry+0x19/0x100
[762303.508413] ? pagecache_get_page+0x30/0x2c0
[762303.508416] ? do_swap_page+0x3af/0x970
[762303.508417] do_swap_page+0x3af/0x970
[762303.508420] __handle_mm_fault+0x7c5/0x1210
[762303.508422] ? __switch_to_asm+0x40/0x70
[762303.508423] ? __switch_to_asm+0x34/0x70
[762303.508425] handle_mm_fault+0xfc/0x1f0
[762303.508429] __do_page_fault+0x255/0x4f0
[762303.508432]...
2019 Jul 12
0
Out of memory: kill process
...head+0x60/0x5e0
> [762303.508405] swapin_readahead+0x60/0x5e0
> [762303.508406] ? free_swap_slot+0xc0/0xe0
> [762303.508408] ? radix_tree_lookup_slot+0x1e/0x50
> [762303.508411] ? find_get_entry+0x19/0x100
> [762303.508413] ? pagecache_get_page+0x30/0x2c0
> [762303.508416] ? do_swap_page+0x3af/0x970
> [762303.508417] do_swap_page+0x3af/0x970
> [762303.508420] __handle_mm_fault+0x7c5/0x1210
> [762303.508422] ? __switch_to_asm+0x40/0x70
> [762303.508423] ? __switch_to_asm+0x34/0x70
> [762303.508425] handle_mm_fault+0xfc/0x1f0
> [762303.508429] __do_page_fault...
2025 Jan 24
1
[Question] Are "device exclusive non-swap entries" / "SVM atomics in Nouveau" still getting used in practice?
...y anon
> memory and only excluding userspace access) then I expect we'll need this
> for a very long time. I just had no idea whether even that is possible.
>
> What isn't good is if it's only mostly reliable, like the current
> pgmap->ops->migrate_to_ram() path in do_swap_page() still is.
I'll cc you on patches once I figure out some details on how to fix some
page table walkers that really don't expect these non-swap entries.
Fortunately, the hmm test device is in place to trigger some shaky
scenarios.
--
Cheers,
David / dhildenb
2019 Apr 17
0
[PATCH] drm/nouveau: Fix DEVICE_PRIVATE dependencies
...tected for DEVICE_PRIVATE
> Depends on [n]: ARCH_HAS_HMM_DEVICE [=n] && ZONE_DEVICE [=n]
> Selected by [y]:
> - DRM_NOUVEAU_SVM [=y] && HAS_IOMEM [=y] && ARCH_HAS_HMM [=y] && DRM_NOUVEAU [=y] && STAGING [=y]
>
> mm/memory.o: In function `do_swap_page':
> memory.c:(.text+0x2754): undefined reference to `device_private_entry_fault'
>
> commit 5da25090ab04 ("mm/hmm: kconfig split HMM address space mirroring from device memory")
> split CONFIG_DEVICE_PRIVATE dependencies from
> ARCH_HAS_HMM to ARCH_HAS_HMM_DEVICE...
2019 May 30
0
[PATCH] drm/nouveau: Fix DEVICE_PRIVATE dependencies
...tected for DEVICE_PRIVATE
> Depends on [n]: ARCH_HAS_HMM_DEVICE [=n] && ZONE_DEVICE [=n]
> Selected by [y]:
> - DRM_NOUVEAU_SVM [=y] && HAS_IOMEM [=y] && ARCH_HAS_HMM [=y] && DRM_NOUVEAU [=y] && STAGING [=y]
>
> mm/memory.o: In function `do_swap_page':
> memory.c:(.text+0x2754): undefined reference to `device_private_entry_fault'
>
> commit 5da25090ab04 ("mm/hmm: kconfig split HMM address space mirroring from device memory")
> split CONFIG_DEVICE_PRIVATE dependencies from
> ARCH_HAS_HMM to ARCH_HAS_HMM_DEVICE...
2007 Apr 18
0
[patch 7/9] Guest page hinting: minor fault optimization.
...dition is created. If a minor fault races with the discard of a page
the page may not get mapped to the page table because the discard handler
removed the page from the cache which removes the page->mapping that is
needed to find the page table entry. A check for the PG_discarded bit is
added to do_swap_page and do_no_page. The page table lock for the pte
takes care of the synchronization.
After that there is only one state transition left in the minor fault.
page_add_anon_rmap/page_add_file_rmap try to get the page into volatile
state. If these two calls are removed we end up with almost all pages
i...
2007 Apr 18
0
[patch 7/9] Guest page hinting: minor fault optimization.
...dition is created. If a minor fault races with the discard of a page
the page may not get mapped to the page table because the discard handler
removed the page from the cache which removes the page->mapping that is
needed to find the page table entry. A check for the PG_discarded bit is
added to do_swap_page and do_no_page. The page table lock for the pte
takes care of the synchronization.
After that there is only one state transition left in the minor fault.
page_add_anon_rmap/page_add_file_rmap try to get the page into volatile
state. If these two calls are removed we end up with almost all pages
i...
2005 Aug 28
0
Help with kernel crash log file included.
...8 bfe8ed8c c0149a28
Aug 28 04:22:34 unifiedpaging kernel: Call Trace:
Aug 28 04:22:34 unifiedpaging kernel: [<c015137e>] valid_swaphandles+0x42/0x6d
Aug 28 04:22:34 unifiedpaging kernel: [<c01490d4>] swapin_readahead+0x18/0x57
Aug 28 04:22:34 unifiedpaging kernel: [<c0149189>] do_swap_page+0x76/0x2c5
Aug 28 04:22:34 unifiedpaging kernel: [<c0149a28>] handle_mm_fault+0xf8/0x175
Aug 28 04:22:34 unifiedpaging kernel: [<c011a65b>] do_page_fault+0x1ae/0x5b6
Aug 28 04:22:34 unifiedpaging kernel: [<c01604b3>] pipe_readv+0x225/0x29e
Aug 28 04:22:34 unifiedpaging kernel:...
2019 Jun 13
0
[PATCH 10/22] memremap: add a migrate callback to struct dev_pagemap_ops
...FT);
- devmem->page_fault = hmm_devmem_fault;
devmem->pagemap.type = MEMORY_DEVICE_PRIVATE;
devmem->pagemap.res = *devmem->resource;
diff --git a/mm/memory.c b/mm/memory.c
index ddf20bd0c317..cbf3cb598436 100644
--- a/mm/memory.c
+++ b/mm/memory.c
@@ -2782,13 +2782,8 @@ vm_fault_t do_swap_page(struct vm_fault *vmf)
migration_entry_wait(vma->vm_mm, vmf->pmd,
vmf->address);
} else if (is_device_private_entry(entry)) {
- /*
- * For un-addressable device memory we call the pgmap
- * fault handler callback. The callback must migrate
- * the page back to...
2019 Jun 26
0
[PATCH 12/25] memremap: add a migrate_to_ram method to struct dev_pagemap_ops
...FT);
- devmem->page_fault = hmm_devmem_fault;
devmem->pagemap.type = MEMORY_DEVICE_PRIVATE;
devmem->pagemap.res = *devmem->resource;
diff --git a/mm/memory.c b/mm/memory.c
index bd21e7063bf0..293d2936fd6c 100644
--- a/mm/memory.c
+++ b/mm/memory.c
@@ -2748,13 +2748,8 @@ vm_fault_t do_swap_page(struct vm_fault *vmf)
migration_entry_wait(vma->vm_mm, vmf->pmd,
vmf->address);
} else if (is_device_private_entry(entry)) {
- /*
- * For un-addressable device memory we call the pgmap
- * fault handler callback. The callback must migrate
- * the page back to...
2019 Jun 13
1
[PATCH 10/22] memremap: add a migrate callback to struct dev_pagemap_ops
...ault;
>
> devmem->pagemap.type = MEMORY_DEVICE_PRIVATE;
> devmem->pagemap.res = *devmem->resource;
> diff --git a/mm/memory.c b/mm/memory.c
> index ddf20bd0c317..cbf3cb598436 100644
> --- a/mm/memory.c
> +++ b/mm/memory.c
> @@ -2782,13 +2782,8 @@ vm_fault_t do_swap_page(struct vm_fault *vmf)
> migration_entry_wait(vma->vm_mm, vmf->pmd,
> vmf->address);
> } else if (is_device_private_entry(entry)) {
> - /*
> - * For un-addressable device memory we call the pgmap
> - * fault handler callback. The callback must...
2007 Apr 18
0
[patch 6/9] Guest page hinting: writable page table entries.
...entry = mk_pte(new_page, vma->vm_page_prot);
entry = maybe_mkwrite(pte_mkdirty(entry), vma);
+ page_check_writable(new_page, entry);
lazy_mmu_prot_update(entry);
ptep_establish(vma, address, page_table, entry);
update_mmu_cache(vma, address, entry);
@@ -2055,6 +2057,7 @@ static int do_swap_page(struct mm_struct
}
flush_icache_page(vma, page);
+ page_check_writable(page, pte);
set_pte_at(mm, address, page_table, pte);
page_add_anon_rmap(page, vma, address);
@@ -2117,6 +2120,7 @@ static int do_anonymous_page(struct mm_s
entry = mk_pte(page, vma->vm_page_prot);
entry...
2007 Apr 18
0
[patch 6/9] Guest page hinting: writable page table entries.
...entry = mk_pte(new_page, vma->vm_page_prot);
entry = maybe_mkwrite(pte_mkdirty(entry), vma);
+ page_check_writable(new_page, entry);
lazy_mmu_prot_update(entry);
ptep_establish(vma, address, page_table, entry);
update_mmu_cache(vma, address, entry);
@@ -2055,6 +2057,7 @@ static int do_swap_page(struct mm_struct
}
flush_icache_page(vma, page);
+ page_check_writable(page, pte);
set_pte_at(mm, address, page_table, pte);
page_add_anon_rmap(page, vma, address);
@@ -2117,6 +2120,7 @@ static int do_anonymous_page(struct mm_s
entry = mk_pte(page, vma->vm_page_prot);
entry...
2007 Apr 18
2
[patch 4/9] Guest page hinting: volatile swap cache.
...just do not bother to grab the page, it's meaningless anyway.
*/
diff -urpN linux-2.6/mm/memory.c linux-2.6-patched/mm/memory.c
--- linux-2.6/mm/memory.c 2006-09-01 12:50:23.000000000 +0200
+++ linux-2.6-patched/mm/memory.c 2006-09-01 12:50:23.000000000 +0200
@@ -2064,8 +2064,16 @@ static int do_swap_page(struct mm_struct
unlock_page(page);
if (write_access) {
- if (do_wp_page(mm, vma, address,
- page_table, pmd, ptl, pte) == VM_FAULT_OOM)
+ int rc = do_wp_page(mm, vma, address, page_table,
+ pmd, ptl, pte);
+ if (page_host_discards() && rc == VM_FAULT_MAJOR)
+ /*
+...
2007 Apr 18
2
[patch 4/9] Guest page hinting: volatile swap cache.
...just do not bother to grab the page, it's meaningless anyway.
*/
diff -urpN linux-2.6/mm/memory.c linux-2.6-patched/mm/memory.c
--- linux-2.6/mm/memory.c 2006-09-01 12:50:23.000000000 +0200
+++ linux-2.6-patched/mm/memory.c 2006-09-01 12:50:23.000000000 +0200
@@ -2064,8 +2064,16 @@ static int do_swap_page(struct mm_struct
unlock_page(page);
if (write_access) {
- if (do_wp_page(mm, vma, address,
- page_table, pmd, ptl, pte) == VM_FAULT_OOM)
+ int rc = do_wp_page(mm, vma, address, page_table,
+ pmd, ptl, pte);
+ if (page_host_discards() && rc == VM_FAULT_MAJOR)
+ /*
+...
2007 Aug 05
3
OOM killer observed during heavy I/O from VMs (XEN 3.0.4 and XEN 3.1)
...show_trace+0x21/0x30
Aug 4 18:36:51 [<c010593e>] dump_stack+0x1e/0x20
Aug 4 18:36:51 [<c0140de0>] out_of_memory+0x90/0xc0
Aug 4 18:36:52 [<c014219d>] __alloc_pages+0x2ed/0x320
Aug 4 18:36:52 [<c014d0c0>] do_wp_page+0xa0/0x4c0
Aug 4 18:36:52 [<c014ddd8>] do_swap_page+0x2f8/0x480
Aug 4 18:36:52 [<c014e972>] __handle_mm_fault+0x302/0x430
Aug 4 18:36:53 [<c011581f>] do_page_fault+0x1df/0x906
Aug 4 18:36:53 [<c01054cb>] error_code+0x2b/0x30
Aug 4 18:36:53 [<c0104f91>] handle_signal+0x81/0x170
Aug 4 18:36:53 [<c0105136>]...
2007 Jun 28
6
[patch 0/6] resend: guest page hinting version 5.
Greetings,
after Carsten pitched CMM2 on the kvm mini summit here is a repost
of version 5 of the guest page hinting patches. The code is still
the same but has been adapted to the latest git level.
--
blue skies,
Martin.
"Reality continues to ruin my life." - Calvin.
2007 Jun 28
6
[patch 0/6] resend: guest page hinting version 5.
Greetings,
after Carsten pitched CMM2 on the kvm mini summit here is a repost
of version 5 of the guest page hinting patches. The code is still
the same but has been adapted to the latest git level.
--
blue skies,
Martin.
"Reality continues to ruin my life." - Calvin.
2007 May 11
6
[patch 0/6] [rfc] guest page hinting version 5
After way to many months here is the fifth version of the guest page
hinting patches. Compared to version four a few improvements have been
added:
- Avoid page_host_discards() calls outside of page-states.h
- The discard list is now implemented via the page_free_discarded
hook and architecture specific code.
- PG_state_change page flag has been replaced with architecture
specficic