Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

[PATCH] no need for noinline stuff in fs/namespace.c anymore

Stack footprint from hell had been due to many struct nameidata in there.
No more.

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>

Al Viro 0a0d8a46 2d92ab3c

+5 -12
+5 -12
fs/namespace.c
··· 1425 1425 1426 1426 /* 1427 1427 * recursively change the type of the mountpoint. 1428 - * noinline this do_mount helper to save do_mount stack space. 1429 1428 */ 1430 - static noinline int do_change_type(struct path *path, int flag) 1429 + static int do_change_type(struct path *path, int flag) 1431 1430 { 1432 1431 struct vfsmount *m, *mnt = path->mnt; 1433 1432 int recurse = flag & MS_REC; ··· 1458 1459 1459 1460 /* 1460 1461 * do loopback mount. 1461 - * noinline this do_mount helper to save do_mount stack space. 1462 1462 */ 1463 - static noinline int do_loopback(struct path *path, char *old_name, 1463 + static int do_loopback(struct path *path, char *old_name, 1464 1464 int recurse) 1465 1465 { 1466 1466 struct path old_path; ··· 1526 1528 * change filesystem flags. dir should be a physical root of filesystem. 1527 1529 * If you've mounted a non-root directory somewhere and want to do remount 1528 1530 * on it - tough luck. 1529 - * noinline this do_mount helper to save do_mount stack space. 1530 1531 */ 1531 - static noinline int do_remount(struct path *path, int flags, int mnt_flags, 1532 + static int do_remount(struct path *path, int flags, int mnt_flags, 1532 1533 void *data) 1533 1534 { 1534 1535 int err; ··· 1565 1568 return 0; 1566 1569 } 1567 1570 1568 - /* 1569 - * noinline this do_mount helper to save do_mount stack space. 1570 - */ 1571 - static noinline int do_move_mount(struct path *path, char *old_name) 1571 + static int do_move_mount(struct path *path, char *old_name) 1572 1572 { 1573 1573 struct path old_path, parent_path; 1574 1574 struct vfsmount *p; ··· 1642 1648 /* 1643 1649 * create a new mount for userspace and request it to be added into the 1644 1650 * namespace's tree 1645 - * noinline this do_mount helper to save do_mount stack space. 1646 1651 */ 1647 - static noinline int do_new_mount(struct path *path, char *type, int flags, 1652 + static int do_new_mount(struct path *path, char *type, int flags, 1648 1653 int mnt_flags, char *name, void *data) 1649 1654 { 1650 1655 struct vfsmount *mnt;