Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > linux.kernel > #1319029
| From | Vladimir Davydov <vdavydov@virtuozzo.com> |
|---|---|
| Newsgroups | linux.kernel |
| Subject | Re: [PATCH 1/5] mm: memcontrol: generalize locking for the page->mem_cgroup binding |
| Date | 2016-01-27 15:40 +0100 |
| Message-ID | <qVzqi-4RW-33@gated-at.bofh.it> (permalink) |
| References | <qVj2a-1Dd-17@gated-at.bofh.it> <qVj2b-1Dd-31@gated-at.bofh.it> |
| Organization | linux.* mail to news gateway |
On Tue, Jan 26, 2016 at 04:00:02PM -0500, Johannes Weiner wrote: > @@ -683,17 +683,17 @@ int __set_page_dirty_buffers(struct page *page) > } while (bh != head); > } > /* > - * Use mem_group_begin_page_stat() to keep PageDirty synchronized with > - * per-memcg dirty page counters. > + * Lock out page->mem_cgroup migration to keep PageDirty > + * synchronized with per-memcg dirty page counters. > */ > - memcg = mem_cgroup_begin_page_stat(page); > + memcg = lock_page_memcg(page); > newly_dirty = !TestSetPageDirty(page); > spin_unlock(&mapping->private_lock); > > if (newly_dirty) > __set_page_dirty(page, mapping, memcg, 1); Do we really want to pass memcg to __set_page_dirty and then to account_page_dirtied, increasing stack/regs usage even in case memory cgroup is disabled? May be, it'd be better to make mem_cgroup_update_page_stat take a page instead of a memcg? Thanks, Vladimir > > - mem_cgroup_end_page_stat(memcg); > + unlock_page_memcg(memcg); > > if (newly_dirty) > __mark_inode_dirty(mapping->host, I_DIRTY_PAGES);
Back to linux.kernel | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread
[PATCH 0/5] mm: workingset: per-cgroup thrash detection Johannes Weiner <hannes@cmpxchg.org> - 2016-01-26 22:10 +0100
[PATCH 2/5] mm: workingset: #define radix entry eviction mask Johannes Weiner <hannes@cmpxchg.org> - 2016-01-26 22:10 +0100
Re: [PATCH 2/5] mm: workingset: #define radix entry eviction mask Vladimir Davydov <vdavydov@virtuozzo.com> - 2016-01-27 15:40 +0100
[PATCH 3/5] mm: workingset: separate shadow unpacking and refault calculation Johannes Weiner <hannes@cmpxchg.org> - 2016-01-26 22:10 +0100
Re: [PATCH 3/5] mm: workingset: separate shadow unpacking and refault calculation Vladimir Davydov <vdavydov@virtuozzo.com> - 2016-01-27 15:40 +0100
[PATCH 4/5] mm: workingset: eviction buckets for bigmem/lowbit machines Johannes Weiner <hannes@cmpxchg.org> - 2016-01-26 22:10 +0100
Re: [PATCH 4/5] mm: workingset: eviction buckets for bigmem/lowbit machines Vladimir Davydov <vdavydov@virtuozzo.com> - 2016-01-27 15:50 +0100
[PATCH 1/5] mm: memcontrol: generalize locking for the page->mem_cgroup binding Johannes Weiner <hannes@cmpxchg.org> - 2016-01-26 22:10 +0100
Re: [PATCH 1/5] mm: memcontrol: generalize locking for the page->mem_cgroup binding Vladimir Davydov <vdavydov@virtuozzo.com> - 2016-01-27 15:40 +0100
[PATCH 5/5] mm: workingset: per-cgroup cache thrash detection Johannes Weiner <hannes@cmpxchg.org> - 2016-01-26 22:10 +0100
Re: [PATCH 5/5] mm: workingset: per-cgroup cache thrash detection Vladimir Davydov <vdavydov@virtuozzo.com> - 2016-01-27 16:00 +0100
csiph-web