Re: [Devel] [PATCH vz9 v1 36/63] dm-ploop: make ploop_bat_write_complete ready for parallel pio completion

2025-02-07 Thread Pavel Tikhomirov
On 1/24/25 23:36, Alexander Atanasov wrote: @@ -1913,7 +1924,9 @@ static void ploop_submit_metadata_writeback(struct ploop *ploop) clear_bit(MD_DIRTY, &md->status); clear_bit(MD_HIGHPRIO, &md->status); ploop_index_wb_subm

Re: [Devel] [PATCH vz9 v1 40/63] dm-ploop: process pios via runners

2025-02-07 Thread Pavel Tikhomirov
On 1/24/25 23:36, Alexander Atanasov wrote: @@ -2013,33 +1964,55 @@ void do_ploop_run_work(struct ploop *ploop) llcow_pios = llist_del_all(&ploop->pios[PLOOP_LIST_COW]); /* add old deferred back to the list */ - if (lldeferred_pios) { - struct llist_node *pos

Re: [Devel] [PATCH vz9 v1 35/63] dm-ploop: prepare bat updates under bat_lock

2025-02-07 Thread Alexander Atanasov
On 7.02.25 9:51, Pavel Tikhomirov wrote: On 1/24/25 23:36, Alexander Atanasov wrote: @@ -946,6 +953,8 @@ static int ploop_prepare_bat_update(struct ploop *ploop, struct md_page *md,   map_index_t *to;   u8 level; +    lockdep_assert_held(&ploop->bat_lock); +   piwb = kmalloc(sizeo

Re: [Devel] [PATCH vz9 v1 35/63] dm-ploop: prepare bat updates under bat_lock

2025-02-07 Thread Pavel Tikhomirov
On 2/7/25 16:04, Alexander Atanasov wrote: On 7.02.25 9:51, Pavel Tikhomirov wrote: On 1/24/25 23:36, Alexander Atanasov wrote: @@ -946,6 +953,8 @@ static int ploop_prepare_bat_update(struct ploop *ploop, struct md_page *md,   map_index_t *to;   u8 level; +    lockdep_assert_held(&

[Devel] [PATCH VZ9] fs/fuse kio: introduce a new rpc affinity mode

2025-02-07 Thread Liu Kui
Currently the rpc work is scheduled to run on the sender's cpu with the default rpc affinity mode. However there is a serious problem in this mode for certain workload that a majority of rpc work ends up being run on just one or two cpus even though the rest of cpus are idle, thus resulting in sign

Re: [Devel] [PATCH vz9 v1 12/63] dm-ploop: fast path execution for reads

2025-02-07 Thread Pavel Tikhomirov
On 1/24/25 23:35, Alexander Atanasov wrote: @@ -1939,11 +1949,45 @@ static void ploop_submit_embedded_pio(struct ploop *ploop, struct pio *pio) } ploop_inc_nr_inflight(ploop, pio); + + if (pio->queue_list_id == PLOOP_LIST_FLUSH) { + /* Let the FLUSH go last

Re: [Devel] [PATCH vz9 v1 38/63] dm-ploop: introduce pio runner threads

2025-02-07 Thread Pavel Tikhomirov
On 1/24/25 23:36, Alexander Atanasov wrote: +int ploop_worker(void *data) +{ + struct ploop_worker *worker = data; + struct ploop *ploop = worker->ploop; + + for (;;) { + set_current_state(TASK_INTERRUPTIBLE); + if (llist_empty(&ploop->pios[PLOOP

Re: [Devel] [PATCH vz9 v1 40/63] dm-ploop: process pios via runners

2025-02-07 Thread Pavel Tikhomirov
On 1/24/25 23:36, Alexander Atanasov wrote: @@ -2141,8 +2114,9 @@ int ploop_worker(void *data) llist_empty(&ploop->llresubmit_pios) && !ploop->force_md_writeback) { if (kthread_should_stop()) { - wai

Re: [Devel] [PATCH vz9 v1 45/63] dm-ploop: give runner threads better name

2025-02-07 Thread Pavel Tikhomirov
On 1/24/25 23:36, Alexander Atanasov wrote: @@ -383,7 +384,6 @@ static struct ploop_worker *ploop_worker_create(struct ploop *ploop, wake_up_process(task); return worker; - out_err: kfree(worker); return NULL; nit: looks like a leftover -- Best regards, Tikhom

Re: [Devel] [PATCH VZ9] fs/fuse kio: introduce a new rpc affinity mode

2025-02-07 Thread Alexey Kuznetsov
Ack. Let's give this a try. It might solve problems which we have with default affinity algo. On Fri, Feb 7, 2025 at 5:11 PM Liu Kui wrote: > > Currently the rpc work is scheduled to run on the sender's cpu with > the default rpc affinity mode. However there is a serious problem in > this mode fo