Re: [Devel] [PATCH rh8] ve/time: Limit values to write in ve::clock_[monotonic|bootbased]

2020-10-19 Thread Kirill Tkhai
c_valid_strict(). > > Fixes: 25cab3041305 ("ve: Add interface for > ve::clock_[monotonic|bootbased] adjustment") > > Signed-off-by: Konstantin Khorenko Reviewed-by: Kirill Tkhai > --- > kernel/ve/ve.c | 2 ++ > 1 file changed, 2 insertions(+) > > diff

[Devel] [PATCH RH7] pid: Use proper ns in proc_dointvec_pidmax()

2020-10-20 Thread Kirill Tkhai
Use current task pid ns instead of pid ns for future children Signed-off-by: Kirill Tkhai --- kernel/sysctl.c |2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/kernel/sysctl.c b/kernel/sysctl.c index 0e3aa418a87f..34dcbc792482 100644 --- a/kernel/sysctl.c +++ b/kernel

[Devel] [PATCH RH7 2/2] ploop: Add more debug on error

2020-10-26 Thread Kirill Tkhai
Signed-off-by: Kirill Tkhai --- include/linux/ploop/ploop.h |5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/include/linux/ploop/ploop.h b/include/linux/ploop/ploop.h index bffd83b08764..766a0e9f3d89 100644 --- a/include/linux/ploop/ploop.h +++ b/include/linux/ploop

[Devel] [PATCH RH7 1/2] ploop: Preallocate clusters before nullifying on grow

2020-10-26 Thread Kirill Tkhai
In case of future BAT clusters are data clusters and there is a hole, nullifying code fails since there is no extent. Fix that by future BAT preallocation. https://jira.sw.ru/browse/PSBM-121772 Signed-off-by: Kirill Tkhai --- drivers/block/ploop/fmt_ploop1.c |8 drivers/block

Re: [Devel] [PATCH RH7] cgroup: do not use cgroup_mutex in cgroup_show_options

2020-10-28 Thread Kirill Tkhai
On 27.10.2020 17:59, Valeriy Vdovin wrote: > In patch 87cb5fdb5b5c77ac617b46a0fe118a7d50a77b1c function > cgroup_show_options started to lock cgroup_mutex, which introduced > new deadlock possibility, described below: > > Thread A: > m_start() --> down_read(&namespace_sem); > cgroup_show_opt

[Devel] [PATCH RH7] ploop: Reduce batch size in populate_holes_bitmap()

2020-10-28 Thread Kirill Tkhai
.sync_read_many->kaio_sync_io() allocates bvec for passed pages, and high order warning fires. kaio_sync_io() uses GFP_NOIO, so kvmalloc() will be useless. Thus, we reduce batch size to fit order 2 in kaio_sync_io()->kmalloc(). https://jira.sw.ru/browse/PSBM-121839 Signed-off-by: Kirill

Re: [Devel] [PATCH 1/3 v2 RHEL7] ve/cgroup: change resource release order in ve_drop_context

2020-10-29 Thread Kirill Tkhai
ns, which is a bug. > root_css_set will now be set to NULL after ve_ns is released. > This reordering only affects the described piece of code in > cgroup_show_options. > > https://jira.sw.ru/browse/PSBM-121438 > > Signed-off-by: Valeriy Vdovin Reviewed-by: Kirill Tkhai >

Re: [Devel] [PATCH 2/3 v2 RHEL7] cgroup: do not use cgroup_mutex in cgroup_show_options

2020-10-29 Thread Kirill Tkhai
ained all the time when root_cgrp > is being accessed. > The patch also removes BUG_ON from css_cgroup_from_root, because all 3 calls > to this function pass ve->root_css_set as an argument and the above logic > applies. > > https://jira.sw.ru/browse/PSBM-121438 > > Signed-of

Re: [Devel] [PATCH 3/3 v2 RHEL7] ve: cleanup in function ve_get_release_agent_path

2020-10-29 Thread Kirill Tkhai
On 29.10.2020 14:00, Valeriy Vdovin wrote: > Signed-off-by: Valeriy Vdovin Reviewed-by: Kirill Tkhai > --- > kernel/ve/ve.c | 1 + > 1 file changed, 1 insertion(+) > > diff --git a/kernel/ve/ve.c b/kernel/ve/ve.c > index f61b1fe..482d658 100644 > --- a/kernel/ve/ve.

[Devel] [PATCH RH7] ve: Reorder ve->ve_ns assignment in ve_grab_context()

2020-10-29 Thread Kirill Tkhai
This function must provide guarantees for readers, that "ve_ns != NULL" under rcu_read_lock means the rest of context (say, ve->init_task) is stable. But now order is wrong, and it does not guarantee that. Fix it. Signed-off-by: Kirill Tkhai --- kernel/ve/ve.c |3 ++- 1 fi

[Devel] [PATCH RH7 v2] ve: Reorder ve->ve_ns assignment in ve_grab_context()

2020-10-30 Thread Kirill Tkhai
ter derefence. Signed-off-by: Kirill Tkhai --- kernel/ve/ve.c |7 +-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/kernel/ve/ve.c b/kernel/ve/ve.c index db26cbd41d3f..cfc3039bb85b 100644 --- a/kernel/ve/ve.c +++ b/kernel/ve/ve.c @@ -579,15 +579,18 @@ static void ve_stop_kthr

Re: [Devel] [PATCH vz8 1/3] arch/x86: introduce cpuid override

2020-11-03 Thread Kirill Tkhai
3ff > edx=0xbbebfbff > 0x8001 0x00: eax=0x ebx=0x ecx=0x0001 > edx=0x24100800 > > https://jira.sw.ru/browse/PSBM-28682 > > Signed-off-by: Vladimir Davydov > > Acked-by: Cyrill Gorcunov > ==

Re: [Devel] [PATCH vz8 v2 1/2] x86, cpuinfo: Fix race on parallel /proc/cpuinfo read

2020-11-03 Thread Kirill Tkhai
On 02.11.2020 20:13, Andrey Ryabinin wrote: > If several threads read /proc/cpuinfo some can see in 'flags' > values from c->x86_capability, before __do_cpuid_fault() called > and masks applied. Fix this by forming 'flags' on stack first > and copy them in per_cpu(cpu_flags, cpu) as a last step. >

Re: [Devel] [PATCH vz8 v2 2/2] x86: don't enable cpuid faults if /proc/vz/cpuid_override unused

2020-11-03 Thread Kirill Tkhai
he proper use of 'cpuid_override' requires > stopping all containers. > > https://jira.sw.ru/browse/PSBM-121823 > Signed-off-by: Andrey Ryabinin Reviewed-by: Kirill Tkhai > --- > > Changes since v1: > - git add include/linux/cpuid_override.h > > ar

Re: [Devel] [PATCH vz8 v3 1/2] x86, cpuinfo: Fix race on parallel /proc/cpuinfo read

2020-11-03 Thread Kirill Tkhai
_cpu(cpu_flags, cpu) as a last step. > > https://jira.sw.ru/browse/PSBM-121823 > Signed-off-by: Andrey Ryabinin Reviewed-by: Kirill Tkhai > --- > > Changes since v1: > - none > > Changes since v2: > - add spinlock, use temporary

[Devel] [PATCH RH7 v2 1/2] ploop: Add statistics of fastmap requests, which fails because of cache

2020-11-09 Thread Kirill Tkhai
Normally, mapping_needs_writeback() should not be true. But in case of some problem, or userspace touch root.hds without direct mode, cache may populate. Count such the failed fastmaps. Signed-off-by: Kirill Tkhai --- drivers/block/ploop/io_kaio.c|2 ++ fs/ext4/file.c

[Devel] [PATCH RH7 v2 2/2] ploop: Invalidate pagecache on service operations

2020-11-09 Thread Kirill Tkhai
This allows fastmap to work, otherwise it fails on mapping_needs_writeback() check. Signed-off-by: Kirill Tkhai --- drivers/block/ploop/io_kaio.c | 22 ++ 1 file changed, 22 insertions(+) diff --git a/drivers/block/ploop/io_kaio.c b/drivers/block/ploop/io_kaio.c index

[Devel] [PATCH RH7] ploop: Fix crash in purge_lru_warn()

2020-11-10 Thread Kirill Tkhai
do_div() works wrong in case of the second argument is long. We don't need remainder, so we don't need do_div() at all. https://jira.sw.ru/browse/PSBM-122035 Reported-by: Evgenii Shatokhin Signed-off-by: Kirill Tkhai --- drivers/block/ploop/io_direct_map.c |2 +- 1 file

Re: [Devel] [PATCH rh7 v2] cgroup: rework reference acquisition for cgroup_find_inode

2020-11-12 Thread Kirill Tkhai
Hi, Andrey, On 11.11.2020 10:32, Andrey Zhadchenko wrote: > Use more generic igrab instead of atomic inc. Move cgroup_hash_del to eviction > stage to avoid deadlock. > > Signed-off-by: Andrey Zhadchenko > --- > > v2: adjusted function call order in cgroup_evict_inode to match existing code > >

Re: [Devel] [PATCH rh7 v2] cgroup: rework reference acquisition for cgroup_find_inode

2020-11-12 Thread Kirill Tkhai
On 12.11.2020 18:08, Andrey Zhadchenko wrote: > On Thu, 12 Nov 2020 17:29:21 +0300 > Kirill Tkhai wrote: > > Hi, Kirill, > >> Hi, Andrey, >> >> On 11.11.2020 10:32, Andrey Zhadchenko wrote: >>> Use more generic igrab instead of atomic inc. Move cgro

Re: [Devel] [PATCH rh7 v2] cgroup: rework reference acquisition for cgroup_find_inode

2020-11-12 Thread Kirill Tkhai
On 12.11.2020 18:39, Pavel Tikhomirov wrote: > > > On 11/12/20 6:17 PM, Kirill Tkhai wrote: >> On 12.11.2020 18:08, Andrey Zhadchenko wrote: >>> On Thu, 12 Nov 2020 17:29:21 +0300 >>> Kirill Tkhai wrote: >>> >>> Hi, Kirill, >>> >&

[Devel] [PATCH RH8] loop: fix no-unmap write-zeroes request behavior

2020-11-17 Thread Kirill Tkhai
real storage, which suffices for our purposes. Fixes: 19372e2769179dd ("loop: implement REQ_OP_WRITE_ZEROES") Signed-off-by: Darrick J. Wong Reviewed-by: Christoph Hellwig Signed-off-by: Jens Axboe Signed-off-by: Kirill Tkhai --- drivers/block/loop.c | 26 ++-

[Devel] [PATCH RH7] mm: Fix race between reparenting memcg and list_lru_del()

2020-12-01 Thread Kirill Tkhai
l.org/lkml/2020/11/30/1093 Signed-off-by: Kirill Tkhai --- mm/list_lru.c |4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/mm/list_lru.c b/mm/list_lru.c index 21e12a8364ff..05d517197fbe 100644 --- a/mm/list_lru.c +++ b/mm/list_lru.c @@ -511,7 +511,6 @@ static

Re: [Devel] [PATCH RH7] mm: Fix race between reparenting memcg and list_lru_del()

2020-12-03 Thread Kirill Tkhai
l be notified, so please let me know when this happen. > > Thank you, > Vasily Averin > > On 12/1/20 1:34 PM, Kirill Tkhai wrote: >> From: Roman Gushchin >> >> On reparenting struct list_lru_one::nr_items may become >> negative, so all the shrinker bits

[Devel] [PATCH RH8] dm-ploop: Generalize defer_bio() and defer_bio_list()

2020-12-04 Thread Kirill Tkhai
..since they do almost the same. Signed-off-by: Kirill Tkhai --- drivers/md/dm-ploop-cmd.c |2 +- drivers/md/dm-ploop-map.c | 29 +++-- drivers/md/dm-ploop.h |3 +-- 3 files changed, 13 insertions(+), 21 deletions(-) diff --git a/drivers/md/dm-ploop-cmd.c

[Devel] [PATCH RH8] dm-ploop: Add PERCPU_REF_ALLOW_REINIT for refcounter

2020-12-04 Thread Kirill Tkhai
This is for RHEL8.4 rebase. Without the flag, refcounter memory is freed early. https://jira.sw.ru/browse/PSBM-123433 Signed-off-by: Kirill Tkhai --- drivers/md/dm-ploop-target.c |2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/md/dm-ploop-target.c b/drivers/md/dm

Re: [Devel] [PATCH RHEL8 COMMIT] dm-ploop: Add PERCPU_REF_ALLOW_REINIT for refcounter

2020-12-08 Thread Kirill Tkhai
On 07.12.2020 20:31, Konstantin Khorenko 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.el8 > --> > commit b304f2465c4e01078d261734ed7c0f106d6

Re: [Devel] [PATCH RHEL8 COMMIT] dm-ploop: Generalize defer_bio() and defer_bio_list()

2020-12-08 Thread Kirill Tkhai
On 07.12.2020 20:31, Konstantin Khorenko 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.el8 > --> > commit 2251161515d7aa39fc22d0ed2be193c0475

[Devel] [PATCH RH8] ploop: Zero tail of tail page

2020-12-10 Thread Kirill Tkhai
In case of BAT ends in middle of page, zero its tail. Otherwise, garbage is there. https://jira.sw.ru/browse/PSBM-123639 Signed-off-by: Kirill Tkhai --- drivers/md/dm-ploop-bat.c |5 + drivers/md/dm-ploop.h |1 + 2 files changed, 6 insertions(+) diff --git a/drivers/md/dm-ploop

[Devel] [PATCH RH8] dm-ploop: Skip zero writes to unallocated clusters

2020-12-15 Thread Kirill Tkhai
Sometimes this may safe some space... https://jira.sw.ru/browse/PSBM-123748 Signed-off-by: Kirill Tkhai --- drivers/md/dm-ploop-map.c | 24 1 file changed, 24 insertions(+) diff --git a/drivers/md/dm-ploop-map.c b/drivers/md/dm-ploop-map.c index 4b12b5fc082a

[Devel] [PATCH RH8] dm-ploop: Actually zero tail of tail page

2020-12-16 Thread Kirill Tkhai
@from is temporary buffer. We have to zero tail of @to instead. https://jira.sw.ru/browse/PSBM-123784 Fixes: 0497d745e201 "ploop: Zero tail of tail page" Signed-off-by: Kirill Tkhai --- drivers/md/dm-ploop-bat.c |2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/

[Devel] [PATCH] ploop: Forced clear discard alignment

2021-01-12 Thread Kirill Tkhai
hould inherit nothing discard-related from underlining block device. So, we clear inherited discard_alignment. https://jira.sw.ru/browse/PSBM-124496 Signed-off-by: Kirill Tkhai --- include/linux/ploop/ploop.h |2 ++ 1 file changed, 2 insertions(+) diff --git a/include/linux/ploop/ploop.h b/in

[Devel] [PATCH] cbt: Update CBT size from check_disk_size_change()

2021-01-12 Thread Kirill Tkhai
Here is customer node, where is CBT size is different to ploop size. Searching against kernel code shows, this is the only place we skip CBT size update after bd_inode size change. https://jira.sw.ru/browse/PSBM-123819 Signed-off-by: Kirill Tkhai --- fs/block_dev.c |1 + 1 file changed, 1

[Devel] [PATCH RH8] config.OpenVZ.minimal: Add NETFILTER_XT_NAT, IP_NF_NAT, IP_NF_TARGET_MASQUERADE

2021-01-19 Thread Kirill Tkhai
VZ services (and thus containers) fail to start without them. Signed-off-by: Kirill Tkhai --- configs/kernel-4.18.0-x86_64-KVM-minimal.config |5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/configs/kernel-4.18.0-x86_64-KVM-minimal.config b/configs/kernel-4.18.0

[Devel] [PATCH RH8] dm-ploop: Fix detection of unallocated clusters on write

2021-01-19 Thread Kirill Tkhai
bio_vec may start from bi_idx != 0 and has bi_bvec_done != 0 in case of it was created by bio_split(). https://jira.sw.ru/browse/PSBM-124701 Fixes: 8d9b6a497597 "dm-ploop: Skip zero writes to unallocated clusters" Signed-off-by: Kirill Tkhai --- drivers/md/dm-ploop-map.c |4 ++

[Devel] [PATCH RH7] ploop: Add comment in cached_submit()

2021-01-21 Thread Kirill Tkhai
Signed-off-by: Kirill Tkhai --- drivers/block/ploop/io_direct.c |4 1 file changed, 4 insertions(+) diff --git a/drivers/block/ploop/io_direct.c b/drivers/block/ploop/io_direct.c index dff12e2276bb..f24a3db23a62 100644 --- a/drivers/block/ploop/io_direct.c +++ b/drivers/block/ploop

[Devel] [PATCH RH8] ploop: Add GFP_NOIO brackets around call_read_iter()

2021-01-22 Thread Kirill Tkhai
Force all allocation to do not result in IO. Signed-off-by: Kirill Tkhai --- drivers/md/dm-ploop-map.c |5 - 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/drivers/md/dm-ploop-map.c b/drivers/md/dm-ploop-map.c index 74f9b199d273..0fa5f48eceb6 100644 --- a/drivers/md/dm

Re: [Devel] [PATCH VZ8 v1 01/14] ve/cgroup: unmark ve-root cgroups at container stop

2021-01-25 Thread Kirill Tkhai
On 20.01.2021 12:56, Valeriy Vdovin wrote: > fixes: 915a1130c7ee4ffb6de3f69a5bd98c5ee42a723f > > Signed-off-by: Valeriy Vdovin > Reviewed-by: Kirill Tkhai > > Cherry-picked from 5dceccf5dd794673ebb1b0e6840d96aa654ec33e) > Signed-off-by: Valeriy Vdovin Revi

Re: [Devel] [PATCH VZ8 v1 02/14] cgroup/cfs: added 'activate' option to cgroup_add_file

2021-01-25 Thread Kirill Tkhai
> Signed-off-by: Valeriy Vdovin Reviewed-by: Kirill Tkhai > --- > kernel/cgroup/cgroup.c | 6 -- > 1 file changed, 4 insertions(+), 2 deletions(-) > > diff --git a/kernel/cgroup/cgroup.c b/kernel/cgroup/cgroup.c > index 4488df184235..797a3971ab46 100644 > -

Re: [Devel] [PATCH VZ8 v1 04/14] ve/cgroup: implemented per-ve workqueue.

2021-01-25 Thread Kirill Tkhai
On 20.01.2021 12:56, Valeriy Vdovin wrote: > Signed-off-by: Valeriy Vdovin > Reviewed-by: Kirill Tkhai > (Cherry-picked from 0293870666c4f96bd56f612d94f560626c76e2fd) > Signed-off-by: Valeriy Vdovin Reviewed-by: Kirill Tkhai > --- > include/linux/ve.h | 1 + > ke

Re: [Devel] [PATCH VZ8 v1 03/14] cgroup: port CGROUP_REMOVED flag from vz7

2021-01-25 Thread Kirill Tkhai
On 20.01.2021 12:56, Valeriy Vdovin wrote: > The flag will be used in subsequent patches > Signed-off-by: Valeriy Vdovin Reviewed-by: Kirill Tkhai > --- > include/linux/cgroup-defs.h | 2 ++ > include/linux/cgroup.h | 5 + > kernel/cgroup/cgroup.c | 1 + >

Re: [Devel] [PATCH VZ8 v1 05/14] cgroup: added rcu node string wrapper for in-cgroup usage. This will be used in further patches in same patchset.

2021-01-25 Thread Kirill Tkhai
On 20.01.2021 12:56, Valeriy Vdovin wrote: > Signed-off-by: Valeriy Vdovin > > Reviewed-by: Kirill Tkhai > (Cherry-picked from e828803a5d776125c9c329f194aff74fb4ec181a) > Signed-off-by: Valeriy Vdovin Reviewed-by: Kirill Tkhai > --- > include/linux/cgroup-defs.h | 5 +

Re: [Devel] [PATCH VZ8 v1 06/14] cgroup: exported put_css_set and get_css_set to cgroup.h

2021-01-25 Thread Kirill Tkhai
On 20.01.2021 12:56, Valeriy Vdovin wrote: > (Cherry-picked from 8222bbe47ed1e3824e0890a1404735324189c0cb) > Signed-off-by: Valeriy.Vdovin Reviewed-by: Kirill Tkhai > --- > include/linux/cgroup.h | 28 > kernel/cgroup/cgroup-

Re: [Devel] [PATCH VZ8 v1 07/14] ve/cgroup: Added ve_owner field to cgroup

2021-01-25 Thread Kirill Tkhai
er patches and > is only rarely set at cgroup_mark_ve_root/cgroup_mount. > cgroup_get_ve_owner is a read wrapper for this purpose. > > (Cherry-picked from eb9c0bfae39fe336173a0dec11bc24f7275de3f8) > Signed-off-by: Valeriy Vdovin Reviewed-by: Kirill Tkhai > --- > include/linux/cgro

Re: [Devel] [PATCH VZ8 v1 08/14] cgroup/ve: added helper function to get ve-related cgroup paths

2021-01-25 Thread Kirill Tkhai
On 20.01.2021 12:56, Valeriy Vdovin wrote: > This fill make fake-absolute paths to support virtual ve roots in > cgroup hierarchies. > The path will be used in subsequent patches. > > Signed-off-by: Valeriy.Vdovin Reviewed-by: Kirill Tkhai > --- > kernel/cg

Re: [Devel] [PATCH VZ8 v1 09/14] ve/cgroup: moved release_agent from system_wq to per-ve workqueues

2021-01-25 Thread Kirill Tkhai
63eec5e5e27946a38d3c) > Signed-off-by: Valeriy Vdovin Reviewed-by: Kirill Tkhai > --- > include/linux/cgroup-defs.h | 10 ++- > include/linux/cgroup.h | 2 + > include/linux/ve.h | 10 +++ > kernel/cgroup/cgroup-internal.h | 1 + &g

Re: [Devel] [PATCH VZ8 v1 10/14] ve/cgroup: private per-cgroup-root data container

2021-01-25 Thread Kirill Tkhai
t. > > (Cherry-picked from 4a98f07102fd248ad4218a07b5ec5ec90da10288) > Signed-off-by: Valeriy Vdovin Reviewed-by: Kirill Tkhai > --- > include/linux/ve.h | 7 + > kernel/ve/ve.c | 75 ++ > 2 files changed, 82 insertions(+) >

Re: [Devel] [PATCH VZ8 v1 11/14] ve/cgroup: set release_agent_path for root cgroups separately

2021-01-25 Thread Kirill Tkhai
ot_css_set is being released before ve_ns, which is a bug. > root_css_set will now be set to NULL after ve_ns is released. > This reordering only affects the described piece of code in > cgroup_show_options. > > https://jira.sw.ru/browse/PSBM-121438 > Signed-off-by: Val

[Devel] [PATCH RH7] ploop: Print mounted sb information on busy stop fail

2021-01-25 Thread Kirill Tkhai
Add a debug into error message. Signed-off-by: Kirill Tkhai --- drivers/block/ploop/dev.c | 51 ++--- 1 file changed, 48 insertions(+), 3 deletions(-) diff --git a/drivers/block/ploop/dev.c b/drivers/block/ploop/dev.c index 320a5d55d65b..61adcd0516fb

Re: [Devel] [PATCH VZ8 v1 12/14] ve/cgroup: added release_agent to each container root cgroup.

2021-01-29 Thread Kirill Tkhai
riy Vdovin > +++ > cgroup: add missing dput() in cgroup_unmark_ve_roots() > > cgroup_unmark_ve_roots() calls dget() on cgroup's dentry but don't > have the corresponding dput() call. This leads to leaking cgroups. > > Add missing dput() to fix this. > > https://jira.sw.

Re: [Devel] [PATCH VZ8 v1 13/14] ve/cgroup: At cgroup_mark(unmark)_ve_roots skip non-virtualized roots

2021-01-29 Thread Kirill Tkhai
-off-by: Valeriy Vdovin Reviewed-by: Kirill Tkhai > --- > kernel/cgroup/cgroup.c | 17 + > 1 file changed, 17 insertions(+) > > diff --git a/kernel/cgroup/cgroup.c b/kernel/cgroup/cgroup.c > index 285e84d1150f..34e049361611 100644 > --- a/kernel/cgroup/cgr

Re: [Devel] [PATCH VZ8 v1 14/14] cgroup: relaxed lockdep assertion for cset_cgroup_from_root

2021-01-29 Thread Kirill Tkhai
I don't understand this patch without explanation. On 20.01.2021 12:56, Valeriy Vdovin wrote: > Signed-off-by: Valeriy Vdovin > --- > kernel/cgroup/cgroup-internal.h | 3 ++- > kernel/cgroup/cgroup-v1.c | 3 ++- > kernel/cgroup/cgroup.c | 15 +-- > 3 files changed, 1

Re: [Devel] [PATCH rh7 1/2] mm: memcg: fix memcg reclaim soft lockup

2021-02-02 Thread Kirill Tkhai
own > Acked-by: Michal Hocko > Acked-by: Johannes Weiner > Link: > http://lkml.kernel.org/r/1598495549-67324-1-git-send-email-xlp...@linux.alibaba.com > Signed-off-by: Linus Torvalds Reviewed-by: Kirill Tkhai > > https://jira.sw.ru/browse/PSBM-125095 > (cherry pic

Re: [Devel] [PATCH rh7 2/2] mm/vmscan: add cond_resched() to loop in shrink_slab_memcg()

2021-02-02 Thread Kirill Tkhai
y: Andrey Ryabinin Reviewed-by: Kirill Tkhai > --- > mm/vmscan.c | 2 ++ > 1 file changed, 2 insertions(+) > > diff --git a/mm/vmscan.c b/mm/vmscan.c > index 080500f4e366..17a7ed60f525 100644 > --- a/mm/vmscan.c > +++ b/mm/vmscan.c > @@ -527,6 +527,8 @@ static unsigned long

Re: [Devel] [PATCH rh7 0/4] ext4: more error hanglings (ports from mainstream)

2021-02-03 Thread Kirill Tkhai
On 03.02.2021 17:45, Konstantin Khorenko wrote: > 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

[Devel] [PATCH RH7] ploop: Use bio_kmalloc()

2021-02-10 Thread Kirill Tkhai
bio_alloc() may allocate up to 256 iovecs (BIO_MAX_PAGES). Non-standard 2M cluster requires 512 iovecs. We never seen this problem before, since usually we use 1M cluster. https://jira.sw.ru/browse/PSBM-98265 Signed-off-by: Kirill Tkhai --- drivers/block/ploop/dev.c | 20

Re: [Devel] [PATCH VZ8 v2 13/14] cgroup/ve: pass cgroup_root to ve_set(get)_release_agent

2021-02-15 Thread Kirill Tkhai
it is safe to just use cgroup_root as a key to find the proper release_agent > path in each VE. > > Signed-off-by: Valeriy Vdovin Reviewed-by: Kirill Tkhai > --- > include/linux/ve.h| 8 --- > kernel/cgroup/cgroup-v1.c | 44 +++ &

Re: [Devel] [PATCH VZ8 v2 13/14] cgroup/ve: pass cgroup_root to ve_set(get)_release_agent

2021-02-15 Thread Kirill Tkhai
On 15.02.2021 14:00, Kirill Tkhai wrote: > On 10.02.2021 13:03, Valeriy Vdovin wrote: >> Due to virtualization of release_agent cgroup property, cgroup1_show_options >> has become more complex. >> struct cgroup_root is one of the arguments to that function, it was >>

Re: [Devel] [PATCH VZ8 v2 14/14] cgroup/ve: do not run release_agent on non-running ve

2021-02-15 Thread Kirill Tkhai
On 10.02.2021 13:03, Valeriy Vdovin wrote: > cgroup1_release_agent is a function that runs within a private ve workqueue. > When executed, it runs an executable in a userspace by a call to > call_usermodehelper_ve. There is conflict that when ve is getting shutdown and > some of last cgroups get's

Re: [Devel] [PATCH VZ8 v3 14/14] cgroup/ve: do not run release_agent on non-running ve

2021-02-16 Thread Kirill Tkhai
is much more different. > Also VZ8 does not have ve->init_task in it's fields. > That's why it seems more relevant right now to do ve->is_running > check before the call to call_usermodehelper_ve. > > Signed-off-by: Valeriy Vdovin Reviewed-by: Kirill Tkhai > --- &

Re: [Devel] [PATCH] mm: memory.stat format fix "negative dentries"

2021-02-17 Thread Kirill Tkhai
On 16.02.2021 13:39, Alexander Mikhalitsyn wrote: > Fixes: 8d980b969c46d ("per-memcg negative dentries accounting") > > https://jira.sw.ru/browse/PSBM-125735 > > Signed-off-by: Alexander Mikhalitsyn Reviewed-by: Kirill Tkhai > --- > mm/memcontrol.c | 2 +-

Re: [Devel] [PATCH RH7] memcg leak due to missing css_put on last kmem uncharge

2021-02-24 Thread Kirill Tkhai
On 22.02.2021 21:40, Vasily Averin wrote: > When mem_cgroup is removes mem_cgroup_css_offline() calls > memcg_deactivate_kmem() which disables kmem accounting. > If memcg still have some charged kmem final css_put is not called, > and delayed till last kmem will be uncharged. > > Usually kmem is u

Re: [Devel] [PATCH RH7] memcg leak due to missing css_put on last kmem uncharge

2021-02-24 Thread Kirill Tkhai
On 22.02.2021 21:40, Vasily Averin wrote: > When mem_cgroup is removes mem_cgroup_css_offline() calls > memcg_deactivate_kmem() which disables kmem accounting. > If memcg still have some charged kmem final css_put is not called, > and delayed till last kmem will be uncharged. > > Usually kmem is u

Re: [Devel] [PATCH rh7 v2 05/10] mm/mem_cgroup_iter: NULL-ify 'last_visited' for invalidated iterators

2021-02-24 Thread Kirill Tkhai
On 24.02.2021 13:48, Konstantin Khorenko wrote: > 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/

Re: [Devel] [PATCH rh7 v2 07/10] mm/mem_cgroup_iter: Invalidate iterators only if needed

2021-02-24 Thread Kirill Tkhai
On 24.02.2021 13:48, Konstantin Khorenko wrote: > 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-1

Re: [Devel] [PATCH rh7 v2 00/10] mm/mem_cgroup_iter: Reduce the number of iterator restarts upon cgroup removals

2021-02-24 Thread Kirill Tkhai
On 24.02.2021 13:47, Konstantin Khorenko wrote: > May thanks to Kirill Tkhai for his bright ideas and review! > > Problem description from the user point of view: > * the Node is slow > * the Node has a lot of free RAM > * the Node has a lot of swapin/swapout > * ksw

Re: [Devel] [PATCH rh7 v2 00/10] mm/mem_cgroup_iter: Reduce the number of iterator restarts upon cgroup removals

2021-02-24 Thread Kirill Tkhai
On 24.02.2021 15:36, Kirill Tkhai wrote: > On 24.02.2021 13:47, Konstantin Khorenko wrote: >> May thanks to Kirill Tkhai for his bright ideas and review! >> >> Problem description from the user point of view: >> * the Node is slow >> * the Node has a lot of f

Re: [Devel] [PATCH rh7 v2 00/10] mm/mem_cgroup_iter: Reduce the number of iterator restarts upon cgroup removals

2021-02-24 Thread Kirill Tkhai
On 24.02.2021 15:39, Kirill Tkhai wrote: > On 24.02.2021 15:36, Kirill Tkhai wrote: >> On 24.02.2021 13:47, Konstantin Khorenko wrote: >>> May thanks to Kirill Tkhai for his bright ideas and review! >>> >>> Problem description from the user point of view: >&

Re: [Devel] [PATCH rh7 v4 4/9] mm/mem_cgroup_iter: Always assign iter->last_visited under rcu

2021-02-26 Thread Kirill Tkhai
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 iterator invalidation, > so we'll need the protection there a

Re: [Devel] [PATCH rh7 v4 0/9] mm/mem_cgroup_iter: Reduce the number of iterator restarts upon cgroup removals

2021-02-26 Thread Kirill Tkhai
On 24.02.2021 21:55, Konstantin Khorenko wrote: > May thanks to Kirill Tkhai for his bright ideas and review! > > Problem description from the user point of view: > * the Node is slow > * the Node has a lot of free RAM > * the Node has a lot of swapin/swapout > * ksw

[Devel] [PATCH RH7] ve: Add option allowing ioctl(FITRIM) from inside CT

2021-03-12 Thread Kirill Tkhai
https://jira.sw.ru/browse/PSBM-127082 Signed-off-by: Kirill Tkhai --- fs/ext4/ioctl.c|4 +++- include/linux/ve.h |1 + kernel/ve/ve.c |5 + 3 files changed, 9 insertions(+), 1 deletion(-) diff --git a/fs/ext4/ioctl.c b/fs/ext4/ioctl.c index 09779742ff6a..ccd0dcc3aae2

[Devel] [PATCH RH7] ve: Export ve_allow_ioctl_fitrim

2021-03-18 Thread Kirill Tkhai
Otherwise it can't be used in modules. Signed-off-by: Kirill Tkhai --- kernel/ve/ve.c |1 + 1 file changed, 1 insertion(+) diff --git a/kernel/ve/ve.c b/kernel/ve/ve.c index ca63b98a6726..44804761299c 100644 --- a/kernel/ve/ve.c +++ b/kernel/ve/ve.c @@ -74,6 +74,7 @@

[Devel] [PATCH RH8 2/2] ploop: Kill ITER_BVEC from arguments iov_iter_bvec()

2021-03-19 Thread Kirill Tkhai
After some past-recent rebases iov_iter_bvec() does not require ITER_BVEC pointing. Kill it and stop warning message about that. Signed-off-by: Kirill Tkhai --- drivers/md/dm-ploop-bat.c |2 +- drivers/md/dm-ploop-map.c |2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git

[Devel] [PATCH RH8 1/2] ploop: Acquire mutex in ploop_preresume()

2021-03-19 Thread Kirill Tkhai
Close race between "set noresume" and resume. Also, add READ_ONCE() in ploop_status to underline we read unlocked. Signed-off-by: Kirill Tkhai --- drivers/md/dm-ploop-target.c |6 -- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/drivers/md/dm-ploop-target.c b/

Re: [Devel] [PATCH vz8 2/2] ve: drop /proc/bc directory #PSBM-127913

2021-04-06 Thread Kirill Tkhai
On 05.04.2021 20:37, Denis V. Lunev wrote: > It is obsolete and unused. > > Signed-off-by: Denis V. Lunev > --- > kernel/ve/veowner.c | 6 -- > 1 file changed, 6 deletions(-) > > diff --git a/kernel/ve/veowner.c b/kernel/ve/veowner.c > index d7b3b94bd3e6..90af7bc720ff 100644 > --- a/kernel/

Re: [Devel] [PATCH vz8] cgroup/ve: moved ve workqueue stop to ve_stop_ns

2021-04-19 Thread Kirill Tkhai
On 07.04.2021 00:18, Valeriy Vdovin wrote: > Fixes: a01c704c0c3f21ec3e3e7540e91682f44f4065cd > The above commit fixed the bug which can be described as follows: > - It is possible that functions ve_stop_ns and cgroup1_release_agent will > be executed in parallel. > - cgroup1_release_agent, depend

Re: [Devel] [PATCH RH8] kstat: Make kstat_glob::swap_in percpu

2021-04-20 Thread Kirill Tkhai
On 19.04.2021 11:19, Andrey Zhadchenko wrote: > From: Kirill Tkhai > > Patchset description: > Make kstat_glob::swap_in percpu and cleanup > > This patchset continues escaping of kstat_glb_lock > and makes swap_in percpu. Also, newly unused primitives > are dropped and

Re: [Devel] [PATCH VZ8 v2] cgroup/ve: moved ve workqueue stop to ve_stop_ns

2021-04-20 Thread Kirill Tkhai
roup1_release_agent does not need to check umh_thread is running > because is this work is running, then umh runs as well. > - ve_stop_ns calls ve_workqueue_stop->destroy_workqueue. > --- cgroup1_release_agent is called in a sequence during workqueue drain > --- all release_a

[Devel] [PATCH RH8] ploop: Fix off-by-one in early check of cluster is outside max size

2021-04-29 Thread Kirill Tkhai
5478): resizing filesystem from 17039360 to 17039360 blocks [ 3769.686132] WARNING: CPU: 3 PID: 26495 at drivers/md/dm-ploop.h:408 ploop_map+0x401/0x460 [ploop] https://jira.sw.ru/browse/PSBM-128679 Signed-off-by: Kirill Tkhai --- drivers/md/dm-ploop-map.c |2 +- 1 file changed, 1 insertion

[Devel] [PATCH RH8] ploop: Fix off-by-one in ploop_ctr()

2021-04-30 Thread Kirill Tkhai
We dereference at least two arguments: cluster_log and origin_dev. Signed-off-by: Kirill Tkhai --- drivers/md/dm-ploop-target.c |2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/md/dm-ploop-target.c b/drivers/md/dm-ploop-target.c index 5ae0c624c8fb..7b5f81955abe

[Devel] [PATCH RH8 0/7] ploop: Preparation to kill-loop series 1

2021-05-04 Thread Kirill Tkhai
This is preparations#1 for further series. Let's this goes to testing earlier. --- Kirill Tkhai (7): ploop: Kill "add_delta" interface ploop: Refactor ploop_add_delta() ploop: Move check in ploop_ctr() ploop: Call add_delta directly ploop: Move add_

[Devel] [PATCH RH8 1/7] ploop: Kill "add_delta" interface

2021-05-04 Thread Kirill Tkhai
This was used at development time, but now this is useless. Userspace never adds a delta into middle of deltas stack. Signed-off-by: Kirill Tkhai --- drivers/md/dm-ploop-cmd.c |4 1 file changed, 4 deletions(-) diff --git a/drivers/md/dm-ploop-cmd.c b/drivers/md/dm-ploop-cmd.c index

[Devel] [PATCH RH8 3/7] ploop: Move check in ploop_ctr()

2021-05-04 Thread Kirill Tkhai
Signed-off-by: Kirill Tkhai --- drivers/md/dm-ploop-target.c | 11 +-- 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/drivers/md/dm-ploop-target.c b/drivers/md/dm-ploop-target.c index 9b94f5f21c6c..97683231b0a5 100644 --- a/drivers/md/dm-ploop-target.c +++ b/drivers/md

[Devel] [PATCH RH8 5/7] ploop: Move add_delta iterating code to separate function

2021-05-04 Thread Kirill Tkhai
Signed-off-by: Kirill Tkhai --- drivers/md/dm-ploop-target.c | 52 ++ 1 file changed, 32 insertions(+), 20 deletions(-) diff --git a/drivers/md/dm-ploop-target.c b/drivers/md/dm-ploop-target.c index 97683231b0a5..b4a21840fba7 100644 --- a/drivers/md/dm

[Devel] [PATCH RH8 7/7] ploop: Add ignore_signature_disk_in_use parameter

2021-05-04 Thread Kirill Tkhai
Normally, userspace sets this parameter. But during development it's usable to mount ploop directly (say, via bash script). Introduce this parameter to ignore that signature is not set. Signed-off-by: Kirill Tkhai --- drivers/md/dm-ploop-bat.c|2 +- drivers/md/dm-ploop-target.c |

[Devel] [PATCH RH8 2/7] ploop: Refactor ploop_add_delta()

2021-05-04 Thread Kirill Tkhai
Signed-off-by: Kirill Tkhai --- drivers/md/dm-ploop-cmd.c| 17 +++-- drivers/md/dm-ploop-target.c | 21 + drivers/md/dm-ploop.h|2 +- 3 files changed, 21 insertions(+), 19 deletions(-) diff --git a/drivers/md/dm-ploop-cmd.c b/drivers/md/dm

[Devel] [PATCH RH8 4/7] ploop: Call add_delta directly

2021-05-04 Thread Kirill Tkhai
There is no a possiblily to add delta to starting device. So, calling that functionality from work is overkill. Signed-off-by: Kirill Tkhai --- drivers/md/dm-ploop-cmd.c | 62 - drivers/md/dm-ploop.h |7 - 2 files changed, 22 insertions

[Devel] [PATCH RH8 6/7] ploop: Allocate deltas in only place

2021-05-04 Thread Kirill Tkhai
Signed-off-by: Kirill Tkhai --- drivers/md/dm-ploop-cmd.c| 13 + drivers/md/dm-ploop-target.c | 15 ++- 2 files changed, 15 insertions(+), 13 deletions(-) diff --git a/drivers/md/dm-ploop-cmd.c b/drivers/md/dm-ploop-cmd.c index 1626cd1b881a..ff696065fdb7 100644

[Devel] [PATCH RH8 0/4] ploop: Preparation to kill-loop series 2

2021-05-05 Thread Kirill Tkhai
--- Kirill Tkhai (4): ploop: Move ploop_add_delta() to another file ploop: Pass level directly in ploop_add_delta() ploop: Add deltas in normal order ploop: Check next delta in stack not bigger then previous drivers/md/dm-ploop-bat.c| 112

[Devel] [PATCH RH8 1/4] ploop: Move ploop_add_delta() to another file

2021-05-05 Thread Kirill Tkhai
It's not about cmd, it's about BAT. Signed-off-by: Kirill Tkhai --- drivers/md/dm-ploop-bat.c | 108 + drivers/md/dm-ploop-cmd.c | 106 2 files changed, 108 insertions(+), 106 deletions(-) di

[Devel] [PATCH RH8 2/4] ploop: Pass level directly in ploop_add_delta()

2021-05-05 Thread Kirill Tkhai
Do not manipulate nr_deltas in ploop_add_delta(). Signed-off-by: Kirill Tkhai --- drivers/md/dm-ploop-bat.c| 12 drivers/md/dm-ploop-target.c |5 - drivers/md/dm-ploop.h|2 +- 3 files changed, 9 insertions(+), 10 deletions(-) diff --git a/drivers/md/dm

[Devel] [PATCH RH8 3/4] ploop: Add deltas in normal order

2021-05-05 Thread Kirill Tkhai
>From newest to oldest. Signed-off-by: Kirill Tkhai --- drivers/md/dm-ploop-bat.c| 40 ++-- drivers/md/dm-ploop-target.c | 12 +++- 2 files changed, 25 insertions(+), 27 deletions(-) diff --git a/drivers/md/dm-ploop-bat.c b/drivers/md

[Devel] [PATCH RH8 4/4] ploop: Check next delta in stack not bigger then previous

2021-05-05 Thread Kirill Tkhai
Signed-off-by: Kirill Tkhai --- drivers/md/dm-ploop-bat.c | 30 +- drivers/md/dm-ploop.h |1 + 2 files changed, 22 insertions(+), 9 deletions(-) diff --git a/drivers/md/dm-ploop-bat.c b/drivers/md/dm-ploop-bat.c index 45f651ce5549..c17f874fc25d 100644 --- a

[Devel] [PATCH RH8] sched: Uninline css_tg()

2021-05-05 Thread Kirill Tkhai
); ^~ kernel/ve/ve.c:1690:7: note: called from here tg = css_tg(css); ^~~ We may remove "inline" attribute, as compiler is clever enought to make itself inlining in kernel/sched/sched.c. Signed-off-by: Kirill Tkhai --- kernel/sched/core.c|2 +- kernel/sched

[Devel] [PATCH RH8] mm: Fix section mismatch of zero_free_pages

2021-05-05 Thread Kirill Tkhai
because __free_pages_ok lacks a __initdata annotation or the annotation of zero_free_pages is wrong. Signed-off-by: Kirill Tkhai --- mm/page_alloc.c |2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mm/page_alloc.c b/mm/page_alloc.c index b407f25bb773..fd04c836d7e1 100644 --- a/mm

[Devel] [PATCH RH8 1/3] ploop: Move fget() code to separate function

2021-05-05 Thread Kirill Tkhai
Signed-off-by: Kirill Tkhai --- drivers/md/dm-ploop-bat.c| 12 +--- drivers/md/dm-ploop-target.c | 30 ++ drivers/md/dm-ploop.h|2 +- 3 files changed, 28 insertions(+), 16 deletions(-) diff --git a/drivers/md/dm-ploop-bat.c b/drivers/md/dm

[Devel] [PATCH RH8 0/3] ploop: Preparation to kill-loop series 3

2021-05-05 Thread Kirill Tkhai
--- Kirill Tkhai (3): ploop: Move fget() code to separate function ploop: Move prealloc_pages() ploop: Use prealloc_md_pages on ctr. drivers/md/dm-ploop-bat.c| 59 +- drivers/md/dm-ploop-cmd.c| 26

[Devel] [PATCH RH8 2/3] ploop: Move prealloc_pages()

2021-05-05 Thread Kirill Tkhai
Signed-off-by: Kirill Tkhai --- drivers/md/dm-ploop-bat.c | 34 +++--- drivers/md/dm-ploop-cmd.c | 26 -- drivers/md/dm-ploop.h |8 +++- 3 files changed, 38 insertions(+), 30 deletions(-) diff --git a/drivers/md/dm-ploop-bat.c

[Devel] [PATCH RH8 3/3] ploop: Use prealloc_md_pages on ctr.

2021-05-05 Thread Kirill Tkhai
Signed-off-by: Kirill Tkhai --- drivers/md/dm-ploop-bat.c | 15 ++- drivers/md/dm-ploop.h |5 - 2 files changed, 10 insertions(+), 10 deletions(-) diff --git a/drivers/md/dm-ploop-bat.c b/drivers/md/dm-ploop-bat.c index 6ef8ec177670..5ebb05438e2a 100644 --- a/drivers

[Devel] [PATCH RH8] ploop: Do not forget to update cached md0 page copy

2021-05-05 Thread Kirill Tkhai
We mustn't have obsolete data in cached pages. In this BUG this resulted in that next update of page 0 metadata overwrites header on disk with old value. https://jira.sw.ru/browse/PSBM-129136 Signed-off-by: Kirill Tkhai --- drivers/md/dm-ploop-cmd.c | 27 +++ dr

  1   2   3   4   5   6   7   8   9   10   >