Re: [PATCH v2] Huge performance boost for recursion (cp, du, find, ls, rm, mv)
Jody Bruchon via busybox <[email protected]> Sat, 11 Apr 2026 17:15:34 -0400
| Newsgroups | gmane.linux.busybox |
|---|---|
| Message-ID | <[email protected]> |
I do not wish to contribute any further. On 2026-04-11 3:54 AM, Roberto A. Foglietta wrote: > On Sat, 11 Apr 2026 at 05:30, Roberto A. Foglietta > <[email protected]> wrote: >> On Sat, 11 Apr 2026 at 00:15, Jody Bruchon <[email protected]> wrote: >>> Thanks for trying to help. It's OK, I realize that someone already >>> "merged it" with my original code locked in an #if 0 block and a >>> differently optimized version applied without credit, so I consider this >>> matter closed. Please feel free to purge it. I'm not interested in >>> contributing to the project further. >> Without credit isn't good. Anyway, can you provide more information >> about? The code you are talking about isn't into the master branch of >> busybox.net >> > ok, I got the point. > > > A) This patchset from Sertonix > > + e139ba59e - 2026-03-29 - recursive_action: prevent file type > confusion when files, p.7 > + 0c74c3734 - 2026-03-29 - recursive_action: prevent file type > confusion when files, p.6 > + 1dbddc8a0 - 2026-03-29 - recursive_action: prevent file type > confusion when files, p.5 > + 6a3c6e6ac - 2026-03-29 - recursive_action: prevent file type > confusion when files, p.4 > + ef90136cf - 2026-03-29 - recursive_action: prevent file type > confusion when files, p.3 > + 5a9f95f73 - 2026-03-29 - recursive_action: prevent file type > confusion when files, p.2 > + 0ea29dd56 - 2026-03-29 - recursive_action: prevent file type > confusion when files, p.1 > > B) conflicts with other patchset from Jody > > + e2d50a648 - 2026-04-02 - cache performance boost for recursion, xmalloc > + 5cfaaac65 - 2026-04-02 - cache performance boost for recursion, cleanup > + 198eb0efb - 2026-04-02 - cache performance boost for recursion > > This was clear even before, but it wasn't clear that A) includes > changes inspired by B), apparently. > > Moreover, A) has IMHO an issue here: > > if (state->depth == 1 > && ( !(statbuf->st_mode & (S_IFREG | S_IFLNK)) > || invalid_name(state->fileName) > || (!(option_mask32 & OPT_l) && faccessat(state->dirfd, > state->baseName, W_OK, 0) != 0)) > > Because the run_parts is supposed to execute, not write parts. Why > change the X_OK check? > > Moreover, B) has in the comment an output from cache grind. > > For this reason, and because it is better dealing with patches (*) I > decided to refactoring some branches: > > - bugfixes renamed bugfixes.old > - the pachset A) is moved in 'sertonix' new branch > - the patchset B) has been integrated into 'jodyb2' new branch > - the branch 'bugfixes' doesn't include A) patchset anymore > - the branch 'features' includes b) patchset > > I think the correct way to proceed is that Sertonix remade its patch > as "bugfix" providing a v2 based on the 'features' branch in such a > way that the contribution from Jody will be integrated, if it is going > to fix or improve it. Or any other manner to proceed agreed between > Jody and Sertonix. > > (*) sorry, I did not have to deal with busybox for years, cold starts > aren't the best...) > > Best regards, R-