Many places in kernel use seq_file API to iterate over a regular list_head. The code for such iteration is identical in all the places, so it's worth introducing a common helpers. This makes code about 300 lines smaller: block/genhd.c | 40 +++----- crypto/proc.c | 17 --- drivers/char/misc.c | 18 ---- drivers/input/input.c | 29 ------ drivers/isdn/capi/kcapi_proc.c | 28 ------ fs/afs/proc.c | 81 ++---------------- fs/namespace.c | 14 --- fs/nfs/client.c | 54 +----------- fs/proc/proc_tty.c | 15 --- fs/seq_file.c | 34 +++++++ include/linux/seq_file.h | 11 ++ kernel/module.c | 17 --- mm/slab.c | 28 +----- net/atm/br2684.c | 22 ---- net/core/sock.c | 39 -------- net/ipv4/netfilter/nf_conntrack_l3proto_ipv4_compat.c | 27 ------ net/netfilter/nf_conntrack_expect.c | 27 ------ net/rxrpc/ar-proc.c | 48 +--------- 18 files changed, 126 insertions(+), 423 deletions(-) The first version of this patch made the helper functions static inline in the seq_file.h header. This patch moves them to the fs/seq_file.c as Andrew proposed. The vmlinux .text section sizes are as follows: 2.6.22-rc1-mm1: 0x001794d5 with the previous version: 0x00179505 with this patch: 0x00179135 The config file used was make allnoconfig with the "y" inclusion of all the possible options to make the files modified by the patch compile plus drivers I have on the test node. - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
- Follow-Ups:
- [PATCH 15/15] Make /proc/self/mounts(tats) use seq_list_xxx helpers
- From: Pavel Emelianov <[email protected]>
- [PATCH 14/15] Make /proc/slabinfo use seq_list_xxx helpers
- From: Pavel Emelianov <[email protected]>
- Re: [PATCH 1/15] The helper functions itselves
- From: David Howells <[email protected]>
- [PATCH 13/15] Make /proc/tty/drivers use seq_list_xxx helpers
- From: Pavel Emelianov <[email protected]>
- [PATCH 12/15] Make NFS client use seq_list_xxx helpers
- From: Pavel Emelianov <[email protected]>
- [PATCH 11/15] Make some netfilter-related proc files use seq_list_xxx helpers
- From: Pavel Emelianov <[email protected]>
- [PATCH 10/15] Make some network-related proc files use seq_list_xxx helpers
- From: Pavel Emelianov <[email protected]>
- [PATCH 9/15] Make /proc/modules use seq_list_xxx helpers
- From: Pavel Emelianov <[email protected]>
- [PATCH 8/15] Make /proc/misc use seq_list_xxx helpers
- From: Pavel Emelianov <[email protected]>
- [PATCH 7/15] Make ISDN CAPI use seq_list_xxx helpers
- From: Pavel Emelianov <[email protected]>
- [PATCH 6/15] Make input layer use seq_list_xxx helpers
- From: Pavel Emelianov <[email protected]>
- [PATCH 5/15] Make crypto API use seq_list_xxx helpers
- From: Pavel Emelianov <[email protected]>
- [PATCH 4/15] Make block layer /proc files use seq_list_xxx helpers
- From: Pavel Emelianov <[email protected]>
- [PATCH 3/15] Make ATM driver use seq_list_xxx helpers
- From: Pavel Emelianov <[email protected]>
- [PATCH 2/15] Make AFS use seq_list_xxx helpers
- From: Pavel Emelianov <[email protected]>
- [PATCH 1/15] The helper functions itselves
- From: Pavel Emelianov <[email protected]>
- [PATCH 15/15] Make /proc/self/mounts(tats) use seq_list_xxx helpers
- Prev by Date: Re: [PATCH 06/14] kbuild: introduce __init_refok/__initdata_refok to supress section mismatch warnings
- Next by Date: 2.6.22-rc1 killed my ext3 filesystem cleanly unmounted
- Previous by thread: [PATCH] Fix roundup_pow_of_two(1)
- Next by thread: [PATCH 1/15] The helper functions itselves
- Index(es):