search for: do_swap_pag

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