search for: d_page

Displaying 20 results from an estimated 21 matches for "d_page".

Did you mean: s_page
2016 Mar 11
0
[PATCH v1 06/19] zsmalloc: clean up many BUG_ON
...x); first_page = get_first_page(f_page); @@ -1546,7 +1540,6 @@ static void zs_object_copy(unsigned long dst, unsigned long src, kunmap_atomic(d_addr); kunmap_atomic(s_addr); s_page = get_next_page(s_page); - BUG_ON(!s_page); s_addr = kmap_atomic(s_page); d_addr = kmap_atomic(d_page); s_size = class->size - written; @@ -1556,7 +1549,6 @@ static void zs_object_copy(unsigned long dst, unsigned long src, if (d_off >= PAGE_SIZE) { kunmap_atomic(d_addr); d_page = get_next_page(d_page); - BUG_ON(!d_page); d_addr = kmap_atomic(d_page); d_size = class-&g...
2018 May 10
4
kernel spew from nouveau/ swiotlb
Greetings, When box is earning its keep, nouveau/swiotlb grumble.. a LOT. The below is from master.today. [12594.640959] nouveau 0000:01:00.0: swiotlb buffer is full (sz: 2097152 bytes) [12594.693000] nouveau 0000:01:00.0: swiotlb buffer is full (sz: 2097152 bytes) [12594.713787] nouveau 0000:01:00.0: swiotlb buffer is full (sz: 2097152 bytes) [12594.743413] nouveau 0000:01:00.0: swiotlb buffer
2016 Mar 12
1
[PATCH v1 09/19] zsmalloc: keep max_object in size_class
...;inuse == class->objs_per_zspage; > } > > unsigned long zs_get_total_pages(struct zs_pool *pool) > @@ -1625,7 +1622,7 @@ static int migrate_zspage(struct zs_pool *pool, struct size_class *class, > } > > /* Stop if there is no more space */ > - if (zspage_full(d_page)) { > + if (zspage_full(class, d_page)) { > unpin_tag(handle); > ret = -ENOMEM; > break; > @@ -1684,7 +1681,7 @@ static enum fullness_group putback_zspage(struct zs_pool *pool, > { > enum fullness_group fullness; > > - fullness = get_fullness_group(fi...
2016 Mar 12
1
[PATCH v1 09/19] zsmalloc: keep max_object in size_class
...;inuse == class->objs_per_zspage; > } > > unsigned long zs_get_total_pages(struct zs_pool *pool) > @@ -1625,7 +1622,7 @@ static int migrate_zspage(struct zs_pool *pool, struct size_class *class, > } > > /* Stop if there is no more space */ > - if (zspage_full(d_page)) { > + if (zspage_full(class, d_page)) { > unpin_tag(handle); > ret = -ENOMEM; > break; > @@ -1684,7 +1681,7 @@ static enum fullness_group putback_zspage(struct zs_pool *pool, > { > enum fullness_group fullness; > > - fullness = get_fullness_group(fi...
2016 Mar 11
0
[PATCH v1 07/19] zsmalloc: reordering function parameter
...(struct zs_pool *pool, unsigned long handle) } EXPORT_SYMBOL_GPL(zs_free); -static void zs_object_copy(unsigned long dst, unsigned long src, - struct size_class *class) +static void zs_object_copy(struct size_class *class, unsigned long dst, + unsigned long src) { struct page *s_page, *d_page; unsigned long s_objidx, d_objidx; @@ -1563,8 +1565,8 @@ static void zs_object_copy(unsigned long dst, unsigned long src, * Find alloced object in zspage from index object and * return handle. */ -static unsigned long find_alloced_obj(struct page *page, int index, - struct size_class *c...
2018 May 10
0
kernel spew from nouveau/ swiotlb
...he one on hand? (seems to work) --- drivers/gpu/drm/ttm/ttm_page_alloc_dma.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) --- a/drivers/gpu/drm/ttm/ttm_page_alloc_dma.c +++ b/drivers/gpu/drm/ttm/ttm_page_alloc_dma.c @@ -342,7 +342,7 @@ static struct dma_page *__ttm_dma_alloc_ if (!d_page) return NULL; - if (pool->type & IS_HUGE) + if (1 || pool->type & IS_HUGE) attrs = DMA_ATTR_NO_WARN; vaddr = dma_alloc_attrs(pool->dev, pool->size, &d_page->dma,
2016 Mar 11
0
[PATCH v1 09/19] zsmalloc: keep max_object in size_class
...age->objects; + return first_page->inuse == class->objs_per_zspage; } unsigned long zs_get_total_pages(struct zs_pool *pool) @@ -1625,7 +1622,7 @@ static int migrate_zspage(struct zs_pool *pool, struct size_class *class, } /* Stop if there is no more space */ - if (zspage_full(d_page)) { + if (zspage_full(class, d_page)) { unpin_tag(handle); ret = -ENOMEM; break; @@ -1684,7 +1681,7 @@ static enum fullness_group putback_zspage(struct zs_pool *pool, { enum fullness_group fullness; - fullness = get_fullness_group(first_page); + fullness = get_fullness_group(class...
2016 Mar 30
0
[PATCH v3 05/16] zsmalloc: keep max_object in size_class
...age->objects; + return first_page->inuse == class->objs_per_zspage; } unsigned long zs_get_total_pages(struct zs_pool *pool) @@ -1628,7 +1625,7 @@ static int migrate_zspage(struct zs_pool *pool, struct size_class *class, } /* Stop if there is no more space */ - if (zspage_full(d_page)) { + if (zspage_full(class, d_page)) { unpin_tag(handle); ret = -ENOMEM; break; @@ -1687,7 +1684,7 @@ static enum fullness_group putback_zspage(struct zs_pool *pool, { enum fullness_group fullness; - fullness = get_fullness_group(first_page); + fullness = get_fullness_group(class...
2016 Mar 14
0
[PATCH v1 09/19] zsmalloc: keep max_object in size_class
...e; > > } > > > > unsigned long zs_get_total_pages(struct zs_pool *pool) > >@@ -1625,7 +1622,7 @@ static int migrate_zspage(struct zs_pool *pool, struct size_class *class, > > } > > > > /* Stop if there is no more space */ > >- if (zspage_full(d_page)) { > >+ if (zspage_full(class, d_page)) { > > unpin_tag(handle); > > ret = -ENOMEM; > > break; > >@@ -1684,7 +1681,7 @@ static enum fullness_group putback_zspage(struct zs_pool *pool, > > { > > enum fullness_group fullness; > > > &...
2018 May 11
2
kernel spew from nouveau/ swiotlb
...-- > drivers/gpu/drm/ttm/ttm_page_alloc_dma.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > --- a/drivers/gpu/drm/ttm/ttm_page_alloc_dma.c > +++ b/drivers/gpu/drm/ttm/ttm_page_alloc_dma.c > @@ -342,7 +342,7 @@ static struct dma_page *__ttm_dma_alloc_ > if (!d_page) > return NULL; > > - if (pool->type & IS_HUGE) > + if (1 || pool->type & IS_HUGE) > attrs = DMA_ATTR_NO_WARN; > > vaddr = dma_alloc_attrs(pool->dev, pool->size, &d_page->dma, While IS_HUGE is indeed false on my box, it just doesn't m...
2020 Feb 06
4
Latest kernel reports "process '/bin/sh' started with executable stack"
...git/torvalds/linux.git/commit/fs/exec.c?id=47a2ebb7f5053387f5753b524f4920b9b829f922 "execve: warn if process starts with executable stack" objdump -x shows: /usr/lib/klibc/bin/sh: file format elf32-powerpc /usr/lib/klibc/bin/sh architecture: powerpc:common, flags 0x00000102: EXEC_P, D_PAGED start address 0x10000140 Program Header: PHDR off 0x00000034 vaddr 0x10000034 paddr 0x10000034 align 2**2 filesz 0x000000a0 memsz 0x000000a0 flags r-x INTERP off 0x000000d4 vaddr 0x100000d4 paddr 0x100000d4 align 2**0 filesz 0x0000002a memsz 0x0000002a flags r--...
2014 Jul 08
8
[PATCH v4 0/6] drm: nouveau: memory coherency on ARM
Another revision of this patchset critical for GK20A to operate. Previous attempts were exclusively using either TTM's regular page allocator or the DMA API one. Both have their advantages and drawbacks: the page allocator is fast but requires explicit synchronization on non-coherent architectures, whereas the DMA allocator always returns coherent memory, but is also slower, creates a
2016 Mar 11
31
[PATCH v1 00/19] Support non-lru page migration
Recently, I got many reports about perfermance degradation in embedded system(Android mobile phone, webOS TV and so on) and failed to fork easily. The problem was fragmentation caused by zram and GPU driver pages. Their pages cannot be migrated so compaction cannot work well, either so reclaimer ends up shrinking all of working set pages. It made system very slow and even to fail to fork easily.
2016 Mar 11
31
[PATCH v1 00/19] Support non-lru page migration
Recently, I got many reports about perfermance degradation in embedded system(Android mobile phone, webOS TV and so on) and failed to fork easily. The problem was fragmentation caused by zram and GPU driver pages. Their pages cannot be migrated so compaction cannot work well, either so reclaimer ends up shrinking all of working set pages. It made system very slow and even to fail to fork easily.
2016 Mar 21
22
[PATCH v2 00/18] Support non-lru page migration
Recently, I got many reports about perfermance degradation in embedded system(Android mobile phone, webOS TV and so on) and failed to fork easily. The problem was fragmentation caused by zram and GPU driver pages. Their pages cannot be migrated so compaction cannot work well, either so reclaimer ends up shrinking all of working set pages. It made system very slow and even to fail to fork easily.
2016 Mar 21
22
[PATCH v2 00/18] Support non-lru page migration
Recently, I got many reports about perfermance degradation in embedded system(Android mobile phone, webOS TV and so on) and failed to fork easily. The problem was fragmentation caused by zram and GPU driver pages. Their pages cannot be migrated so compaction cannot work well, either so reclaimer ends up shrinking all of working set pages. It made system very slow and even to fail to fork easily.
2016 Mar 30
0
[PATCH v3 08/16] zsmalloc: squeeze freelist into page->mapping
...= (void *)obj; + set_freeobj(first_page, f_objidx); mod_zspage_inuse(first_page, -1); zs_stat_dec(class, OBJ_USED, 1); } @@ -1543,8 +1576,8 @@ static void zs_object_copy(struct size_class *class, unsigned long dst, obj_to_location(src, &s_page, &s_objidx); obj_to_location(dst, &d_page, &d_objidx); - s_off = obj_idx_to_offset(s_page, s_objidx, class->size); - d_off = obj_idx_to_offset(d_page, d_objidx, class->size); + s_off = (class->size * s_objidx) & ~PAGE_MASK; + d_off = (class->size * d_objidx) & ~PAGE_MASK; if (s_off + class->size > PAGE_S...
2016 Mar 11
0
[PATCH v1 11/19] zsmalloc: squeeze freelist into page->mapping
...= (void *)obj; + set_freeobj(first_page, f_objidx); mod_zspage_inuse(first_page, -1); zs_stat_dec(class, OBJ_USED, 1); } @@ -1541,8 +1573,8 @@ static void zs_object_copy(struct size_class *class, unsigned long dst, obj_to_location(src, &s_page, &s_objidx); obj_to_location(dst, &d_page, &d_objidx); - s_off = obj_idx_to_offset(s_page, s_objidx, class->size); - d_off = obj_idx_to_offset(d_page, d_objidx, class->size); + s_off = (class->size * s_objidx) & ~PAGE_MASK; + d_off = (class->size * d_objidx) & ~PAGE_MASK; if (s_off + class->size > PAGE_S...
2020 Feb 25
0
Latest kernel reports "process '/bin/sh' started with executable stack"
...starts with executable stack" This commit is not a good idea. Does it think it's only in x86_64 land? > > objdump -x shows: > > /usr/lib/klibc/bin/sh: file format elf32-powerpc > /usr/lib/klibc/bin/sh > architecture: powerpc:common, flags 0x00000102: > EXEC_P, D_PAGED > start address 0x10000140 > > Program Header: > PHDR off 0x00000034 vaddr 0x10000034 paddr 0x10000034 align 2**2 > filesz 0x000000a0 memsz 0x000000a0 flags r-x > INTERP off 0x000000d4 vaddr 0x100000d4 paddr 0x100000d4 align 2**0 > filesz 0x00000...
2016 Mar 30
33
[PATCH v3 00/16] Support non-lru page migration
Recently, I got many reports about perfermance degradation in embedded system(Android mobile phone, webOS TV and so on) and failed to fork easily. The problem was fragmentation caused by zram and GPU driver pages. Their pages cannot be migrated so compaction cannot work well, either so reclaimer ends up shrinking all of working set pages. It made system very slow and even to fail to fork easily.