Andrew Morton wrote: > We don't have changelogs for these patches. Apart from the usual > what-it-does and how-it-does it I'd really like to be reminded of the > "why". Adding a bunch of stuff to the core kernel codepaths needs to have > a good reason and I've forgotten your rationale. This is the intro from the first set of patches I sent (I adjusted it for the additional syscalls): ==== Here is a series of patches which introduce in total 13 new system calls which take a file descriptor/filename pair instead of a single file name. These functions, openat etc, have been discussed on numerous occasions. They are needed to implement race-free filesystem traversal, they are necessary to implement a virtual per-thread current working directory (think multi-threaded backup software), etc. We have in glibc today implementations of the interfaces which use the /proc/self/fd magic. But this code is rather expensive. Here are some results (similar to what Jim Meyering posted before). The test creates a deep directory hierarchy on a tmpfs filesystem. Then rm -fr is used to remove all directories. Without syscall support I get this: real 0m31.921s user 0m0.688s sys 0m31.234s With syscall support the results are much better: real 0m20.699s user 0m0.536s sys 0m20.149s ===== > We'll need Signed-off_by:'s for all these patches. I'm not sure how you want to handle this. I don't particularly want to resent all of them just for this purpose. [PATCH 1/3] updated *at function patch Signed-off-by: Ulrich Drepper <[email protected]> [PATCH 2/3] updated *at function patch Signed-off-by: Ulrich Drepper <[email protected]> [PATCH 3/3] updated *at function patch Signed-off-by: Ulrich Drepper <[email protected]> -- ➧ Ulrich Drepper ➧ Red Hat, Inc. ➧ 444 Castro St ➧ Mountain View, CA ❖
Attachment:
signature.asc
Description: OpenPGP digital signature
- References:
- [PATCH 0/3] updated *at function patch
- From: Ulrich Drepper <[email protected]>
- Re: [PATCH 0/3] updated *at function patch
- From: Andrew Morton <[email protected]>
- [PATCH 0/3] updated *at function patch
- Prev by Date: Re: [patch 4/4] Actually make the f_ops field const
- Next by Date: Re: [patch 4/4] Actually make the f_ops field const
- Previous by thread: Re: [PATCH 0/3] updated *at function patch
- Next by thread: [PATCH 3/3] updated *at function patch
- Index(es):