dump), without
any calculations.
https://jira.sw.ru/browse/PSBM-64123
Signed-off-by: Valeriy Vdovin
(cherry picked from vz7 commit eca790eaed527bae7029b4ae1cd557ce847ac6c0)
Signed-off-by: Konstantin Khorenko
v2: rebased to branch-rh8-4.18.0-240.1.1.vz8.5.x-ovz branch
v3: added missing ve.h incl
The commit is pushed to "branch-rh8-4.18.0-240.1.1.vz8.5.x-ovz" and will appear
at https://src.openvz.org/scm/ovz/vzkernel.git
after rh8-4.18.0-240.1.1.vz8.5.3
-->
commit b1517a7192febd59da249c6391bbff56094ceaaf
Author: Konstantin Khorenko
Date: Mon Dec 21 14:58:
The commit is pushed to "branch-rh8-4.18.0-240.1.1.vz8.5.x-ovz" and will appear
at https://src.openvz.org/scm/ovz/vzkernel.git
after rh8-4.18.0-240.1.1.vz8.5.3
-->
commit 573a50c973f989aecb6e0beeace679a8463b900c
Author: Konstantin Khorenko
Date: Mon Dec 21 14:50:
The commit is pushed to "branch-rh8-4.18.0-240.1.1.vz8.5.x-ovz" and will appear
at https://src.openvz.org/scm/ovz/vzkernel.git
after rh8-4.18.0-240.1.1.vz8.5.3
-->
commit 1855f8f5de8bcdeaa58557cdcbfc52e11f970936
Author: Andrey Zhadchenko
Date: Mon Dec 21 18:51:31 2020 +0300
netlink: ad
The commit is pushed to "branch-rh8-4.18.0-240.1.1.vz8.5.x-ovz" and will appear
at https://src.openvz.org/scm/ovz/vzkernel.git
after rh8-4.18.0-240.1.1.vz8.5.3
-->
commit 0ba63537137941826825b89fd7d6540b00c85357
Author: Andrey Zhadchenko
Date: Mon Dec 21 18:51:30 2020 +0300
netlink: pr
The commit is pushed to "branch-rh8-4.18.0-240.1.1.vz8.5.x-ovz" and will appear
at https://src.openvz.org/scm/ovz/vzkernel.git
after rh8-4.18.0-240.1.1.vz8.5.3
-->
commit 58b2cd949131965c57ddd7f584144645cf97fafe
Author: Andrey Ryabinin
Date: Mon Dec 21 19:42:59 2020 +0300
proc,memcg: u
The commit is pushed to "branch-rh8-4.18.0-240.1.1.vz8.5.x-ovz" and will appear
at https://src.openvz.org/scm/ovz/vzkernel.git
after rh8-4.18.0-240.1.1.vz8.5.3
-->
commit 89c9c96179c7c59ca937010420c590e38fa1bf30
Author: Vladimir Davydov
Date: Mon Dec 21 19:49:33 2020 +0300
oom: make be
The commit is pushed to "branch-rh8-4.18.0-240.1.1.vz8.5.x-ovz" and will appear
at https://src.openvz.org/scm/ovz/vzkernel.git
after rh8-4.18.0-240.1.1.vz8.5.3
-->
commit fd0c0eddf619ad335ed60170bdb7024e6df818d6
Author: Vladimir Davydov
Date: Mon Dec 21 19:49:32 2020 +0300
oom: resurre
leriy Vdovin
(cherry picked from vz7 commit eca790eaed527bae7029b4ae1cd557ce847ac6c0)
Signed-off-by: Konstantin Khorenko
Reviewed-by: Valeriy Vdovin
---
fs/proc/array.c| 12 +++-
include/linux/sched.h | 7 ++-
include/linux/ve.h | 16
The commit is pushed to "branch-rh8-4.18.0-240.1.1.vz8.5.x-ovz" and will appear
at https://src.openvz.org/scm/ovz/vzkernel.git
after rh8-4.18.0-240.1.1.vz8.5.3
-->
commit d99d1df4d0a762c8eb674cd764b08a7e0735c632
Author: Konstantin Khorenko
Date: Tue Nov 10 19:03:14 2020 +0300
Dropping this as already applied by RedHat:
* Thu Apr 16 2020 Frantisek Hrbata [4.18.0-193.9.el8]
- [block] loop: fix no-unmap write-zeroes request behavior (Ming Lei) [1798919]
--
Best regards,
Konstantin Khorenko,
Virtuozzo Linux Kernel Team
On 11/17/2020 01:21 PM, Kirill Tkhai wrote
The commit is pushed to "branch-rh8-4.18.0-240.1.1.vz8.5.x-ovz" and will appear
at https://src.openvz.org/scm/ovz/vzkernel.git
after rh8-4.18.0-240.1.1.vz8.5.3
-->
commit 8d9b6a4975972a522c1790ad5cc93c221e68604a
Author: Kirill Tkhai
Date: Tue Dec 22 14:21:13 2020 +0300
dm-ploop: Skip z
The commit is pushed to "branch-rh8-4.18.0-240.1.1.vz8.5.x-ovz" and will appear
at https://src.openvz.org/scm/ovz/vzkernel.git
after rh8-4.18.0-240.1.1.vz8.5.3
-->
commit df45cae70ccd9baddd35f22abcd43dc01f78e3c2
Author: Vasily Averin
Date: Fri Nov 20 09:27:18 2020 +0300
ms/tracing: rem
The commit is pushed to "branch-rh8-4.18.0-240.1.1.vz8.5.x-ovz" and will appear
at https://src.openvz.org/scm/ovz/vzkernel.git
after rh8-4.18.0-240.1.1.vz8.5.3
-->
commit 64b9ec9f3dd51c53b048508ea1936dec57b146e6
Author: Pavel Tikhomirov
Date: Tue Dec 22 16:48:03 2020 +0300
venetdev: ch
The commit is pushed to "branch-rh8-4.18.0-240.1.1.vz8.5.x-ovz" and will appear
at https://src.openvz.org/scm/ovz/vzkernel.git
after rh8-4.18.0-240.1.1.vz8.5.3
-->
commit 347eb23fe824e903516f1c80fa6bcbe01b6d28e0
Author: Pavel Tikhomirov
Date: Tue Dec 22 16:48:03 2020 +0300
ve: allow wr
The commit is pushed to "branch-rh8-4.18.0-240.1.1.vz8.5.x-ovz" and will appear
at https://src.openvz.org/scm/ovz/vzkernel.git
after rh8-4.18.0-240.1.1.vz8.5.3
-->
commit f266f5b08aa571a7c8e77940580cacbd09d8b08b
Author: Jozsef Kadlecsik
Date: Tue Dec 22 17:02:07 2020 +0300
ms/netfilter
The commit is pushed to "branch-rh8-4.18.0-240.1.1.vz8.5.x-ovz" and will appear
at https://src.openvz.org/scm/ovz/vzkernel.git
after rh8-4.18.0-240.1.1.vz8.5.3
-->
commit 375b9696ec2b0eb6af3a22647ade8e9881d03133
Author: Oleg Nesterov
Date: Tue Dec 22 17:02:07 2020 +0300
ms/ptrace: fix
The commit is pushed to "branch-rh8-4.18.0-240.1.1.vz8.5.x-ovz" and will appear
at https://src.openvz.org/scm/ovz/vzkernel.git
after rh8-4.18.0-240.1.1.vz8.5.3
-->
commit f33a6bd814d31dd056682c49cf8baa3490eae5c0
Author: Stanislav Kinsburskiy
Date: Tue Dec 22 17:49:02 2020 +0300
ve/fs/a
The commit is pushed to "branch-rh8-4.18.0-240.1.1.vz8.5.x-ovz" and will appear
at https://src.openvz.org/scm/ovz/vzkernel.git
after rh8-4.18.0-240.1.1.vz8.5.3
-->
commit f5d12793d7fcea5477c0e5736adb1d7129a0e762
Author: Stanislav Kinsburskiy
Date: Tue Dec 22 17:56:03 2020 +0300
ve/aio:
::direct_IO() which uses iters, but
file_operations::read_iter()/write_iter() are not implemented (they are
implemented in vz kernel, but have different declaration, thus not
detected correctly).
So, let's make zfs happy.
To_merge: eddb0e72476d ("fs/aio: kernel direct aio")
Signed-off
mainstream's version which breaks zfs compilation.
This patchset make our iter interface close to mainstream version
which should be enough for zfs.
https://bugs.openvz.org/browse/OVZ-7243
Konstantin Khorenko (4):
fs: Drop "pos" argument from {read,write}_iter() callbacks
fs
envz.org/browse/OVZ-7243
Signed-off-by: Konstantin Khorenko
---
fs/aio.c | 4 ++--
fs/ext4/file.c | 29 +++--
include/linux/fs.h | 8
mm/filemap.c | 24
4 files changed, 33 insertions(+), 32 deletions(-)
diff --git
zfs code checks the iov_iter type via "type" struct field, so
we have to
1) have it
2) put proper types there
https://bugs.openvz.org/browse/OVZ-7243
Signed-off-by: Konstantin Khorenko
---
include/linux/fs.h | 164 +
1 file ch
zfs code expects the data of ITER_IOVEC iov_iter is accessed
via .iov member, so add the field to struct iov_iter
and fill with the data correctly.
https://bugs.openvz.org/browse/OVZ-7243
Signed-off-by: Konstantin Khorenko
---
fs/ceph/file.c | 4 ++--
include/linux/fs.h | 14
And no such iterator in mainstream kernel as well =>
good reason to drop it.
To_merge: 3f4f3e9c9d8e ("mm: extend generic iov iterator API")
Signed-off-by: Konstantin Khorenko
---
include/linux/fs.h | 26 -
mm/iov-iter.c | 141 -
host and inside
iptables-containers
and inside centos8 containers where nftables nat is only used without any
additional
configuration.
https://jira.sw.ru/browse/PSBM-123345
Signed-off-by: Vasily Averin
Reviewed-by: Konstantin Khorenko
---
include/net/netfilter/nf_nat.h
am version thus zfs external module
tries live without iters and assumes generic_segment_checks() exists.
So keep the generic_segment_checks() specially for zfs.
https://bugs.openvz.org/browse/OVZ-7243
Signed-off-by: Konstantin Khorenko
---
include/linux/fs.h | 2 ++
mm/filemap.c
ot needed anymore.
We can probably drop PAGE_ITER - it's just a cleanup.
i'll send that patch once again.
Thank you,
Vasily Averin
On 12/29/20 4:40 PM, Konstantin Khorenko wrote:
This is a partial revert of a9ca9d715754 ("kill generic_segment_checks()").
The patch resurre
The patchset is obsoleted by the patch
[PATCH rh7] fs: Resurrect generic_segment_checks()
--
Best regards,
Konstantin Khorenko,
Virtuozzo Linux Kernel Team
On 12/25/2020 07:15 PM, Konstantin Khorenko wrote:
Commit 9fdccb71a24b ("fs: Pass iov_iter to ->direct_IO") in VZ kernel
ha
The commit is pushed to "branch-rh8-4.18.0-240.1.1.vz8.5.x-ovz" and will appear
at https://src.openvz.org/scm/ovz/vzkernel.git
after rh8-4.18.0-240.1.1.vz8.5.4
-->
commit 4267859a056ae596d339de2b508ca56531000ca3
Author: Andrey Ryabinin
Date: Wed Jan 27 16:46:47 2021 +0300
fs/ovelayfs:
The commit is pushed to "branch-rh8-4.18.0-240.1.1.vz8.5.x-ovz" and will appear
at https://src.openvz.org/scm/ovz/vzkernel.git
after rh8-4.18.0-240.1.1.vz8.5.4
-->
commit 1dbf0a9824e7b51b67562ff5b96eee74a12d873b
Author: Kirill Tkhai
Date: Wed Jan 27 16:51:35 2021 +0300
config.OpenVZ.mi
The commit is pushed to "branch-rh8-4.18.0-240.1.1.vz8.5.x-ovz" and will appear
at https://src.openvz.org/scm/ovz/vzkernel.git
after rh8-4.18.0-240.1.1.vz8.5.4
-->
commit aac7255e284c7eace406fc77bf47c96f97d5ad9b
Author: Kirill Tkhai
Date: Wed Jan 27 17:00:37 2021 +0300
dm-ploop: Fix de
The commit is pushed to "branch-rh8-4.18.0-240.1.1.vz8.5.x-ovz" and will appear
at https://src.openvz.org/scm/ovz/vzkernel.git
after rh8-4.18.0-240.1.1.vz8.5.4
-->
commit fde304ae7d3b59e6feefee7889652a321198a012
Author: Kirill Tkhai
Date: Wed Jan 27 17:00:37 2021 +0300
ploop: Add GFP_N
--
Best regards,
Konstantin Khorenko,
Virtuozzo Linux Kernel Team
On 01/20/2021 10:15 AM, Vasily Averin wrote:
according to
https://access.redhat.com/labs/rhcb/RHEL-8.3/kernel-4.18.0-240.10.1.el8/sources/
original RHEL8 kernel uses COPYING name.
problem was happen during our rebase.
Kostja
The commit is pushed to "branch-rh8-4.18.0-240.1.1.vz8.5.x-ovz" and will appear
at https://src.openvz.org/scm/ovz/vzkernel.git
after rh8-4.18.0-240.1.1.vz8.5.5
-->
commit 9e33af2e36f9e0f8e021adc672e07eaf37a79e34
Author: Konstantin Khorenko
Date: Wed Jan 27 19:00:21 2021 +0300
CSS_ONLINE instead of CGRP_DEAD
=> the current patch is not needed, let's rework places where CGRP_REMOVED is
used during the rebase.
--
Best regards,
Konstantin Khorenko,
Virtuozzo Linux Kernel Team
On 01/18/2021 09:08 PM, Valeriy Vdovin wrote:
The flag will be used in subsequent porting pat
On 01/18/2021 09:08 PM, Valeriy Vdovin wrote:
fixes: 915a1130c7ee4ffb6de3f69a5bd98c5ee42a723f
Signed-off-by: Valeriy Vdovin
Reviewed-by: Kirill Tkhai
Cherry-picked from 5dceccf5dd794673ebb1b0e6840d96aa654ec33e)
Signed-off-by: Valeriy Vdovin
Ack, i will drop one redundant copy-paste line du
The commit is pushed to "branch-rh8-4.18.0-240.1.1.vz8.5.x-ovz" and will appear
at https://src.openvz.org/scm/ovz/vzkernel.git
after rh8-4.18.0-240.1.1.vz8.5.5
-->
commit 4a0b1219c4ca72b0a3b79654b45c7004ba7d7571
Author: Valeriy Vdovin
Date: Thu Jan 28 12:04:25 2021 +0300
cgroup/cfs: ad
The commit is pushed to "branch-rh8-4.18.0-240.1.1.vz8.5.x-ovz" and will appear
at https://src.openvz.org/scm/ovz/vzkernel.git
after rh8-4.18.0-240.1.1.vz8.5.5
-->
commit eb1382872c59700876c558bddf3c056028b384d5
Author: Valeriy Vdovin
Date: Thu Jan 28 12:04:25 2021 +0300
ve/cgroup: Unm
Just potentially useful mainstream patches which can prevent fs
corruptions due to proper error handlings.
Harshad Shirwadkar (1):
ms/ext4: handle ext4_mark_inode_dirty errors
Theodore Ts'o (3):
ms/ext4: allow ext4_truncate() to return an error
ms/ext4: allow ext4_ext_truncate() to return a
From: Theodore Ts'o
Signed-off-by: Theodore Ts'o
(cherry picked from commit 01daf9452569fe2e69e27fe3e617b43d2ebb1e93)
Signed-off-by: Konstantin Khorenko
---
fs/ext4/ext4.h | 2 +-
fs/ext4/inline.c | 40 +++-
fs/ext4/inode.c | 4 +++-
3 fil
Kara
(cherry picked from commit 2c98eb5ea249767bbc11cf4e70e91d5b0458ed13)
Signed-off-by: Konstantin Khorenko
---
fs/ext4/ext4.h | 2 +-
fs/ext4/inode.c | 41 ++---
fs/ext4/ioctl.c | 7 +--
fs/ext4/super.c | 6 --
4 files changed, 36 insertions(+
From: Theodore Ts'o
Return errors to the caller instead of declaring the file system
corrupted.
Signed-off-by: Theodore Ts'o
Reviewed-by: Jan Kara
(cherry picked from commit d0abb36db44faaf8f8aa148ca206fe2404042dec)
Signed-off-by: Konstantin Khorenko
---
fs/ext4/ext4.h| 2 +
ommit 4209ae12b12265d475bba28634184423149bd14f)
Signed-off-by: Konstantin Khorenko
Backport notes:
* skipped hunk for ext4_handle_inode_extension(), no function in vz7
* skipped hunk for ext4_xattr_inode_write(), no function in vz7
* added an error check of ext4_mark_inode_dirty() ret code in
ext4_iomap_end()
* add
igned-off-by: Konstantin Khorenko
---
fs/ext4/inode.c | 10 ++
1 file changed, 10 insertions(+)
diff --git a/fs/ext4/inode.c b/fs/ext4/inode.c
index f89fdb951aee..1c8e0cb64116 100644
--- a/fs/ext4/inode.c
+++ b/fs/ext4/inode.c
@@ -232,6 +232,16 @@ void ext4_evict_inode(struct inode *
rnel.org/r/20200427013438.219117-2-harshadshirwad...@gmail.com
Signed-off-by: Theodore Ts'o
(cherry picked from commit b60ca3343e78761c6ebe6ff52c628893c8297b73)
Signed-off-by: Konstantin Khorenko
---
fs/ext4/extents.c | 6 +-
1 file changed, 5 insertions(+), 1 deletion(-)
diff --git a/fs/ext4/exte
Oops, disregard this one,
wrong patch sent.
--
Best regards,
Konstantin Khorenko,
Virtuozzo Linux Kernel Team
On 02/03/2021 06:37 PM, Konstantin Khorenko wrote:
From: Jan Kara
When we are evicting inode with journalled data, we may race with
transaction commit in the following way:
CPU0
-by: Theodore Ts'o
(cherry picked from commit 4301efa4c7cca11556dd89899eee066d49b47bf7)
Signed-off-by: Konstantin Khorenko
---
fs/fs-writeback.c | 1 +
fs/internal.h | 2 --
include/linux/writeback.h | 1 +
3 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/
igned-off-by: Konstantin Khorenko
---
fs/ext4/inode.c | 10 ++
1 file changed, 10 insertions(+)
diff --git a/fs/ext4/inode.c b/fs/ext4/inode.c
index f89fdb951aee..1c8e0cb64116 100644
--- a/fs/ext4/inode.c
+++ b/fs/ext4/inode.c
@@ -232,6 +232,16 @@ void ext4_evict_inode(struct inode *
ommit 4209ae12b12265d475bba28634184423149bd14f)
Signed-off-by: Konstantin Khorenko
Backport note: dropped hunk in ext4_handle_inode_extension() as vz8
kernel does not have this function yet.
---
fs/ext4/acl.c | 2 +-
fs/ext4/ext4.h | 3 +-
fs/ext4/ext4_jbd2.h | 5 ++-
fs/ext4/extents.c
rnel.org/r/20200427013438.219117-2-harshadshirwad...@gmail.com
Signed-off-by: Theodore Ts'o
(cherry picked from commit b60ca3343e78761c6ebe6ff52c628893c8297b73)
Signed-off-by: Konstantin Khorenko
---
fs/ext4/extents.c | 6 +-
1 file changed, 5 insertions(+), 1 deletion(-)
diff --git a/fs/ext4/exte
brings node to swapin/swapout while the node has a lot of
free RAM.
https://jira.sw.ru/browse/PSBM-123655
Signed-off-by: Konstantin Khorenko
---
mm/vmscan.c | 15 +++
1 file changed, 15 insertions(+)
diff --git a/mm/vmscan.c b/mm/vmscan.c
index 81a115313582..7695bb1d4d72 100644
--- a/mm/
the position which is exactly the memory cgroup being destroyed.
The patchset ensures the iter->last_visited is NULL-ified on
invalidation and thus restarts only in the unlikely case when
the iter points to the memcg being destroyed.
Konstantin Khorenko (8):
mm/mem_cgroup_iter: Make 'iter-&
the position which is exactly the memory cgroup being destroyed.
The patchset ensures the iter->last_visited is NULL-ified on
invalidation and thus restarts only in the unlikely case when
the iter points to the memcg being destroyed.
https://jira.sw.ru/browse/PSBM-123655
Konstantin Khorenko (8
#x27;t be
ever offlined (and moreover - destroyed) until we css_put() it.
And if now we call css_put() after iter->last_visited is
assigned a new cgroup, the only case when 'last_visited' may
contain invalid entry is "break-ed" mem_cgroup_iter().
https://jira.sw.ru/bro
Our target is to invalidate only those iterators which have our
dying memcg as 'last_visited' and put NULL there instead.
As the first step let's put NULL to all iterators'
'last_visited' we are invalidating.
https://jira.sw.ru/browse/PSBM-123655
Signed-off-by
All other places (both read and assignment) are performed under
seqlock.
https://jira.sw.ru/browse/PSBM-123655
Signed-off-by: Konstantin Khorenko
---
mm/memcontrol.c | 2 ++
1 file changed, 2 insertions(+)
diff --git a/mm/memcontrol.c b/mm/memcontrol.c
index 5be8fbfe0308..ba107b12f314 100644
It will be used by next patches when we search for this pointer
stored in iterators.
https://jira.sw.ru/browse/PSBM-123655
Signed-off-by: Konstantin Khorenko
---
mm/memcontrol.c | 7 ---
1 file changed, 4 insertions(+), 3 deletions(-)
diff --git a/mm/memcontrol.c b/mm/memcontrol.c
index
Previously we invalidated all iterators up to the memcg root,
but this is overkill: we can check if currently dying memcg is
stored in iterator's 'last_visited' and invalidate only those
unlucky iterators.
https://jira.sw.ru/browse/PSBM-123655
Signed-off-by: Konstantin Kh
ot needed anymore.
Note: the patch is not as small as possible - for review simplicity.
Cleanup patch will follow.
https://jira.sw.ru/browse/PSBM-123655
Signed-off-by: Konstantin Khorenko
---
mm/memcontrol.c | 4
1 file changed, 4 deletions(-)
diff --git a/mm/memcontrol.c b/mm/me
No functional changes here.
https://jira.sw.ru/browse/PSBM-123655
Signed-off-by: Konstantin Khorenko
---
mm/memcontrol.c | 25 +++--
1 file changed, 11 insertions(+), 14 deletions(-)
diff --git a/mm/memcontrol.c b/mm/memcontrol.c
index 39b3350eddf9..62bc824adb53 100644
As we now have stable and reliable iter->last_visited,
don't need to save/compare number of destroyed cgroups.
https://jira.sw.ru/browse/PSBM-123655
Signed-off-by: Konstantin Khorenko
---
mm/memcontrol.c | 22 --
1 file changed, 4 insertions(+), 18 deletions(-)
di
erted 2 patches in this code which were focused on syncronizing
updates of iter->last_visited and ->last_dead_count
(as we are getting rid of iter->last_dead_count at all)
- use rcu primitives to access iter->last_visited
Konstantin Khorenko (10):
Revert "mm/memcg: fix css_tryg
This reverts commit 5f351790d598bbf014441a86e7081972086de61b.
We are going to get rid of seqlock 'iter->last_visited_lock',
so reverting the patch.
https://jira.sw.ru/browse/PSBM-123655
Signed-off-by: Konstantin Khorenko
---
mm/memcontrol.c | 3 +--
1 file changed, 1 insertion(+)
#x27;t be
ever offlined (and moreover - destroyed) until we css_put() it.
And if now we call css_put() after iter->last_visited is
assigned a new cgroup, the only case when 'last_visited' may
contain invalid entry is "break-ed" mem_cgroup_iter().
https://jira.sw.ru/bro
#x27;last_dead_count' consistently (we'll remove 'iter->last_dead_count'
field at all), thus dropping the seqlock.
https://jira.sw.ru/browse/PSBM-123655
Signed-off-by: Konstantin Khorenko
---
mm/memcontrol.c | 18 +++---
1 file changed, 3 insertions(+), 15 de
PSBM-123655
Signed-off-by: Konstantin Khorenko
---
mm/memcontrol.c | 8 +++-
1 file changed, 3 insertions(+), 5 deletions(-)
diff --git a/mm/memcontrol.c b/mm/memcontrol.c
index 8040f09425bf..2f1dfb0de524 100644
--- a/mm/memcontrol.c
+++ b/mm/memcontrol.c
@@ -1591,8 +1591,7 @@ mem_
Our target is to invalidate only those iterators which have our
dying memcg as 'last_visited' and put NULL there instead.
As the first step let's put NULL to all iterators'
'last_visited' we are invalidating.
https://jira.sw.ru/browse/PSBM-123655
Signed-off-by
It will be used by next patches when we search for this pointer
stored in iterators.
https://jira.sw.ru/browse/PSBM-123655
Signed-off-by: Konstantin Khorenko
---
mm/memcontrol.c | 7 ---
1 file changed, 4 insertions(+), 3 deletions(-)
diff --git a/mm/memcontrol.c b/mm/memcontrol.c
index
Previously we invalidated all iterators up to the memcg root,
but this is overkill: we can check if currently dying memcg is
stored in iterator's 'last_visited' and invalidate only those
unlucky iterators.
https://jira.sw.ru/browse/PSBM-123655
Signed-off-by: Konstantin Kh
No functional changes here.
https://jira.sw.ru/browse/PSBM-123655
Signed-off-by: Konstantin Khorenko
---
mm/memcontrol.c | 21 ++---
1 file changed, 10 insertions(+), 11 deletions(-)
diff --git a/mm/memcontrol.c b/mm/memcontrol.c
index 5fde291ecfee..22c404cc69ab 100644
--- a
ot needed anymore.
Note: the patch is prepared as small as possible - for review simplicity.
Cleanup patch will follow.
https://jira.sw.ru/browse/PSBM-123655
Signed-off-by: Konstantin Khorenko
---
mm/memcontrol.c | 3 ---
1 file changed, 3 deletions(-)
diff --git a/mm/memcontrol.c b/mm/me
As we now have stable and reliable iter->last_visited,
don't need to save/compare number of destroyed cgroups.
https://jira.sw.ru/browse/PSBM-123655
Signed-off-by: Konstantin Khorenko
---
mm/memcontrol.c | 22 --
1 file changed, 4 insertions(+), 18 deletions(-)
di
use rcu_read_{lock,unlock}_sched() in mem_cgroup_iter()
for syncronization with iterator invalidation func
- do not use rcu_read_{lock/unlock}() wrap in iterator invalidation func
as it protects nothing
Konstantin Khorenko (9):
Revert "mm/memcg: fix css_tryget(),css_put() imbalance&
This reverts commit 5f351790d598bbf014441a86e7081972086de61b.
We are going to get rid of seqlock 'iter->last_visited_lock',
so reverting the patch.
https://jira.sw.ru/browse/PSBM-123655
Signed-off-by: Konstantin Khorenko
---
mm/memcontrol.c | 3 +--
1 file changed, 1 insertion(+)
PSBM-123655
Signed-off-by: Konstantin Khorenko
---
mm/memcontrol.c | 20 ++--
1 file changed, 14 insertions(+), 6 deletions(-)
diff --git a/mm/memcontrol.c b/mm/memcontrol.c
index 8040f09425bf..d0251d27de00 100644
--- a/mm/memcontrol.c
+++ b/mm/memcontrol.c
@@ -
#x27;last_dead_count' consistently (we'll remove 'iter->last_dead_count'
field at all), thus dropping the seqlock.
https://jira.sw.ru/browse/PSBM-123655
Signed-off-by: Konstantin Khorenko
---
mm/memcontrol.c | 18 +++---
1 file changed, 3 insertions(+), 15 de
#x27;t be
ever offlined (and moreover - destroyed) until we css_put() it.
And if now we call css_put() after iter->last_visited is
assigned a new cgroup, the only case when 'last_visited' may
contain invalid entry is "break-ed" mem_cgroup_iter().
https://jira.sw.ru/bro
Our target is to invalidate only those iterators which have our
dying memcg as 'last_visited' and put NULL there instead.
https://jira.sw.ru/browse/PSBM-123655
Signed-off-by: Konstantin Khorenko
---
mm/memcontrol.c | 136 ++--
1 file ch
It will be used by next patches when we search for this pointer
stored in iterators.
https://jira.sw.ru/browse/PSBM-123655
Signed-off-by: Konstantin Khorenko
---
mm/memcontrol.c | 7 ---
1 file changed, 4 insertions(+), 3 deletions(-)
diff --git a/mm/memcontrol.c b/mm/memcontrol.c
index
ot needed anymore.
Note: the patch is prepared as small as possible - for review simplicity.
Cleanup patch will follow.
https://jira.sw.ru/browse/PSBM-123655
Signed-off-by: Konstantin Khorenko
---
mm/memcontrol.c | 3 ---
1 file changed, 3 deletions(-)
diff --git a/mm/memcontrol.c b/mm/me
No functional changes here.
https://jira.sw.ru/browse/PSBM-123655
Signed-off-by: Konstantin Khorenko
---
mm/memcontrol.c | 21 ++---
1 file changed, 10 insertions(+), 11 deletions(-)
diff --git a/mm/memcontrol.c b/mm/memcontrol.c
index 96fdce58eacc..3613c01d6bd2 100644
--- a
As we now have stable and reliable iter->last_visited,
don't need to save/compare number of destroyed cgroups.
https://jira.sw.ru/browse/PSBM-123655
Signed-off-by: Konstantin Khorenko
---
mm/memcontrol.c | 22 --
1 file changed, 4 insertions(+), 18 deletions(-)
di
dying memcg and no pointer to it can be written later
Konstantin Khorenko (9):
Revert "mm/memcg: fix css_tryget(),css_put() imbalance"
Revert "mm/memcg: use seqlock to protect reclaim_iter updates"
mm/mem_cgroup_iter: Make 'iter->last_visited' a bit
This reverts commit 5f351790d598bbf014441a86e7081972086de61b.
We are going to get rid of seqlock 'iter->last_visited_lock',
so reverting the patch.
https://jira.sw.ru/browse/PSBM-123655
Signed-off-by: Konstantin Khorenko
---
mm/memcontrol.c | 3 +--
1 file changed, 1 insertion(+)
#x27;last_dead_count' consistently (we'll remove 'iter->last_dead_count'
field at all), thus dropping the seqlock.
https://jira.sw.ru/browse/PSBM-123655
Signed-off-by: Konstantin Khorenko
---
mm/memcontrol.c | 18 +++---
1 file changed, 3 insertions(+), 15 de
#x27;t be
ever offlined (and moreover - destroyed) until we css_put() it.
And if now we call css_put() after iter->last_visited is
assigned a new cgroup, the only case when 'last_visited' may
contain invalid entry is "break-ed" mem_cgroup_iter().
https://jira.sw.ru/bro
It will be used by next patches when we search for this pointer
stored in iterators.
https://jira.sw.ru/browse/PSBM-123655
Signed-off-by: Konstantin Khorenko
---
mm/memcontrol.c | 7 ---
1 file changed, 4 insertions(+), 3 deletions(-)
diff --git a/mm/memcontrol.c b/mm/memcontrol.c
index
Our target is to invalidate only those iterators which have our
dying memcg as 'last_visited' and put NULL there instead.
https://jira.sw.ru/browse/PSBM-123655
Signed-off-by: Konstantin Khorenko
---
mm/memcontrol.c | 143 +++-
1 file ch
PSBM-123655
Signed-off-by: Konstantin Khorenko
---
mm/memcontrol.c | 20 ++--
1 file changed, 14 insertions(+), 6 deletions(-)
diff --git a/mm/memcontrol.c b/mm/memcontrol.c
index 8040f09425bf..d0251d27de00 100644
--- a/mm/memcontrol.c
+++ b/mm/memcontrol.c
@@ -
ot needed anymore.
Note: the patch is prepared as small as possible - for review simplicity.
Cleanup patch will follow.
https://jira.sw.ru/browse/PSBM-123655
Signed-off-by: Konstantin Khorenko
---
mm/memcontrol.c | 3 ---
1 file changed, 3 deletions(-)
diff --git a/mm/memcontrol.c b/mm/me
No functional changes here.
https://jira.sw.ru/browse/PSBM-123655
Signed-off-by: Konstantin Khorenko
---
mm/memcontrol.c | 21 ++---
1 file changed, 10 insertions(+), 11 deletions(-)
diff --git a/mm/memcontrol.c b/mm/memcontrol.c
index cdb7f6f4c994..3e8607c62035 100644
--- a
As we now have stable and reliable iter->last_visited,
don't need to save/compare number of destroyed cgroups.
https://jira.sw.ru/browse/PSBM-123655
Signed-off-by: Konstantin Khorenko
---
mm/memcontrol.c | 22 --
1 file changed, 4 insertions(+), 18 deletions(-)
di
On 02/26/2021 12:12 PM, Kirill Tkhai wrote:
On 24.02.2021 21:55, Konstantin Khorenko wrote:
It's quite strange to have rcu section in mem_cgroup_iter(),
but do not use rcu_dereference/rcu_assign for pointers being defended.
We plan to access/assign '->last_visited' during ite
--
Best regards,
Konstantin Khorenko,
Virtuozzo Linux Kernel Team
On 02/26/2021 12:12 PM, Kirill Tkhai wrote:
On 24.02.2021 21:55, Konstantin Khorenko wrote:
It's quite strange to have rcu section in mem_cgroup_iter(),
but do not use rcu_dereference/rcu_assign for pointers being def
v4 7/9] mm/mem_cgroup_iter: Don't bother checking
'dead_count' anymore", it makes the code valid in between 4th and 7th
patch.
- no more changes, resulted trees after v4 and v5 applied are identical
Konstantin Khorenko (9):
Revert "mm/memcg: fix css_tryget(),css_put() imbala
This reverts commit 5f351790d598bbf014441a86e7081972086de61b.
We are going to get rid of seqlock 'iter->last_visited_lock',
so reverting the patch.
https://jira.sw.ru/browse/PSBM-123655
Signed-off-by: Konstantin Khorenko
Reviewed-by: Kirill Tkhai
---
mm/memcontrol.c | 3 +--
1
#x27;last_dead_count' consistently (we'll remove 'iter->last_dead_count'
field at all), thus dropping the seqlock.
https://jira.sw.ru/browse/PSBM-123655
Signed-off-by: Konstantin Khorenko
Reviewed-by: Kirill Tkhai
---
mm/memcontrol.c | 18 +++---
1 file changed, 3 i
#x27;t be
ever offlined (and moreover - destroyed) until we css_put() it.
And if now we call css_put() after iter->last_visited is
assigned a new cgroup, the only case when 'last_visited' may
contain invalid entry is "break-ed" mem_cgroup_iter().
https://jira.sw.ru/bro
PSBM-123655
Signed-off-by: Konstantin Khorenko
Reviewed-by: Kirill Tkhai
---
mm/memcontrol.c | 18 ++
1 file changed, 14 insertions(+), 4 deletions(-)
diff --git a/mm/memcontrol.c b/mm/memcontrol.c
index 8040f09425bf..7921f04b3670 100644
--- a/mm/memcontrol.c
+++ b/mm/memcont
601 - 700 of 6185 matches
Mail list logo