> On Feb 5, 2024, at 16:08, Gang Li <gang.li@xxxxxxxxx> wrote: > > On 2024/2/5 15:37, Muchun Song wrote: >> Actually, I did not get it. Why the above code cannot work? The above >> code already make it serialized in one call, right? What do I miss here? >> Thanks. > > PADATA consists of two distinct functionality: > > One part is `padata_do_multithreaded`, which disregards > order and simply divides tasks into several groups for parallel > execution. My patch use `padata_do_multithreaded`. OK. Since all users of PADATA of non-SMP case currently only use padata_do_multithreaded, it’s possible and easy to implement a variant of that in non-SMP case. It is not necessary to implement another functionality unless the only user of crypto/pcrypt.c does not depend on SMP in the future, at least now it’s dependent on SMP. Thanks. > > The other part is composed of a set of APIs that, while handling data in > an out-of-order parallel manner, can eventually return the data with > ordered sequence. Only `crypto/pcrypt.c` use them. I guess these APIs > are designed specifically for `crypto/pcrypt.c`. > ``` > padata_alloc > padata_alloc_shell > padata_do_parallel > padata_do_serial > padata_free_shell > padata_free > ```