Commit 9d2a621
fs: tidy up step_into() & friends before inlining
Symlink handling is already marked as unlikely and pushing out some of
it into pick_link() reduces register spillage on entry to step_into()
with gcc 14.2.
The compiler needed additional convincing that handle_mounts() is
unlikely to fail.
At the same time neither clang nor gcc could be convinced to tail-call
into pick_link().
While pick_link() takes an address of stack-based object as an argument
(which definitely prevents the optimization), splitting it into separate
<dentry, mount> tuple did not help. The issue persists even when
compiled without stack protector. As such nothing was done about this
for the time being to not grow the diff.
Signed-off-by: Mateusz Guzik <mjguzik@gmail.com>
Link: https://patch.msgid.link/20251120003803.2979978-1-mjguzik@gmail.com
Signed-off-by: Christian Brauner <brauner@kernel.org>1 parent 1ed45a4 commit 9d2a621
1 file changed
Lines changed: 18 additions & 13 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1672 | 1672 | | |
1673 | 1673 | | |
1674 | 1674 | | |
| 1675 | + | |
| 1676 | + | |
1675 | 1677 | | |
1676 | 1678 | | |
1677 | 1679 | | |
1678 | 1680 | | |
1679 | 1681 | | |
1680 | 1682 | | |
1681 | | - | |
| 1683 | + | |
1682 | 1684 | | |
1683 | 1685 | | |
1684 | 1686 | | |
| |||
1941 | 1943 | | |
1942 | 1944 | | |
1943 | 1945 | | |
1944 | | - | |
| 1946 | + | |
1945 | 1947 | | |
1946 | 1948 | | |
1947 | 1949 | | |
1948 | 1950 | | |
1949 | | - | |
| 1951 | + | |
| 1952 | + | |
| 1953 | + | |
| 1954 | + | |
| 1955 | + | |
| 1956 | + | |
| 1957 | + | |
| 1958 | + | |
| 1959 | + | |
| 1960 | + | |
1950 | 1961 | | |
| 1962 | + | |
1951 | 1963 | | |
1952 | 1964 | | |
1953 | 1965 | | |
| |||
2026 | 2038 | | |
2027 | 2039 | | |
2028 | 2040 | | |
2029 | | - | |
| 2041 | + | |
2030 | 2042 | | |
2031 | | - | |
| 2043 | + | |
| 2044 | + | |
2032 | 2045 | | |
2033 | 2046 | | |
2034 | 2047 | | |
| |||
2050 | 2063 | | |
2051 | 2064 | | |
2052 | 2065 | | |
2053 | | - | |
2054 | | - | |
2055 | | - | |
2056 | | - | |
2057 | | - | |
2058 | | - | |
2059 | | - | |
2060 | | - | |
2061 | 2066 | | |
2062 | 2067 | | |
2063 | 2068 | | |
| |||
0 commit comments