2005-02-19 21:15:15

by Arjan van de Ven

[permalink] [raw]
Subject: updated list of unused kernel exports posted

Hi,

an updated list of currently unused-on-i386 kernel exports is now posted
at http://www.kernel.org/pub/linux/kernel/people/arjan/unused based on
2.6.11-rc4-bk7.

Note 1) the URL of the location has changed; the previous URL led to
several vendors of binary modules to contact my employer in the hope to
pressure to get certain symbols off that list. This list has nothing to
do with my employer and as such I decided to move it to a more neutral
URL to not cause that incorrect burden.

Note 2) this list contains all unused symbols regardless of merit; it
contains pure bloating symbols but also symbols for emerging new
functionality not fully merged and generic library helpers.


The following symbols are added to this list since the last posted list;
some of these will be of the "emerging functionality" type, others will
be now-redundant and should be investigated for removal; after all each
exported symbol uses easily over a hundred bytes of unswappable kernel
memory for every linux user out there.

+++ unused.new 2005-02-19 21:27:59.556557390 +0100
+alloc_chrdev_region
+attribute_container_add_attrs
+attribute_container_add_class_device
+attribute_container_add_class_device_adapter
+attribute_container_class_device_del
+attribute_container_classdev_to_container
+attribute_container_device_trigger
+attribute_container_remove_attrs
+attribute_container_remove_device
+attribute_container_trigger
+backlight_device_register
+backlight_device_unregister
+class_device_create_bin_file
+class_device_remove_bin_file
+cpufreq_get
+cpufreq_parse_governor
+debugfs_create_bool
+debugfs_create_u16
+debugfs_create_u32
+debugfs_create_u8
+device_for_each_child
+fb_create_modedb
+fb_get_monitor_limits
+get_sb_pseudo
+hugetlb_total_pages
+ib_find_cached_gid
+kernel_subsys
+lcd_device_register
+lcd_device_unregister
+mt352_read
+nr_free_pages
+nr_pagecache
+nr_swap_pages
+pccard_static_ops
+phys_proc_id
+platform_get_irq_byname
+platform_get_resource_byname
+__scsi_print_sense
+scsi_sense_desc_find
+slab_reclaim_pages
+sysctl_overcommit_memory
+sysctl_overcommit_ratio
+totalram_pages
+total_swap_pages
+try_acquire_console_sem
+tveeprom_dump
+usb_bus_init
+vm_acct_memory
+vm_committed_space
+w1_search_devices
+wait_for_completion_interruptible
+wait_for_completion_interruptible_timeout
+wait_for_completion_timeout



2005-02-19 21:29:57

by Arjan van de Ven

[permalink] [raw]
Subject: Re: updated list of unused kernel exports posted

On Sat, 2005-02-19 at 22:14 +0100, Arjan van de Ven wrote:
> Hi,
>
> an updated list of currently unused-on-i386 kernel exports is now posted

Russell asked me to clarify this: symbols on this list may well be used
on other architectures than i386; before sending patches to remove them
please use grep to make sure it's really globally unused...


2005-02-19 21:45:43

by Adrian Bunk

[permalink] [raw]
Subject: Re: updated list of unused kernel exports posted

On Sat, Feb 19, 2005 at 10:14:33PM +0100, Arjan van de Ven wrote:

>...
> The following symbols are added to this list since the last posted list;
> some of these will be of the "emerging functionality" type, others will
> be now-redundant and should be investigated for removal; after all each
> exported symbol uses easily over a hundred bytes of unswappable kernel
> memory for every linux user out there.
>
> +++ unused.new 2005-02-19 21:27:59.556557390 +0100
> +alloc_chrdev_region

Used on s390:
drivers/s390/char/vmlogrdr.c
drivers/s390/char/tape_char.c

>...
> +backlight_device_register
> +backlight_device_unregister

Used on the Sharp Zaurus:
drivers/video/backlight/corgi_bl.c

>...
> +cpufreq_get

Used on ARM:
drivers/pcmcia/sa11xx_base.c

But ist seems to be wrong that it gets exported twice on ARM.

>...
> +nr_free_pages

In -mm, it's used by reiser4.

> +nr_pagecache

Used on s390:
arch/s390/appldata/appldata_mem.c

>...
> +pccard_static_ops

Used on ARM and m32r:
drivers/pcmcia/m32r_pcc.c
drivers/pcmcia/soc_common.c
drivers/pcmcia/m32r_cfc.c
drivers/pcmcia/hd64465_ss.c

>...
> +platform_get_irq_byname

Used on ppc:
drivers/net/gianfar.c

> +platform_get_resource_byname

Used on ARM, m32r and ppc:
drivers/net/smc91x.c

>...
> +totalram_pages

In -mm, it's used by reiser4.

>...
> +try_acquire_console_sem

It's used in -mm:
drivers/video/aty/radeon_pm.c

>...
> +wait_for_completion_interruptible
>...
> +wait_for_completion_timeout

Both are used in -mm:
drivers/i2c/i2c-core.c

cu
Adrian

--

"Is there not promise of rain?" Ling Tan asked suddenly out
of the darkness. There had been need of rain for many days.
"Only a promise," Lao Er said.
Pearl S. Buck - Dragon Seed

2005-02-20 00:12:06

by Joel Becker

[permalink] [raw]
Subject: Re: updated list of unused kernel exports posted

On Sat, Feb 19, 2005 at 10:14:33PM +0100, Arjan van de Ven wrote:
> +get_sb_pseudo

Used by Oracle's GPL ASMLib driver, and I think by some OCFS2
stuff as well.

Joel

--

"If you are ever in doubt as to whether or not to kiss a pretty girl,
give her the benefit of the doubt"
-Thomas Carlyle

Joel Becker
Senior Member of Technical Staff
Oracle
E-mail: [email protected]
Phone: (650) 506-8127

2005-02-20 00:21:46

by Joel Becker

[permalink] [raw]
Subject: Re: updated list of unused kernel exports posted

bio_map_user
bio_unmap_user

Used by Oracle's GPL ASMLib driver.

dcache_readdir
simple_commit_write
simple_getattr
simple_link
simple_prepare_write
simple_readpage
simple_rename
simple_sync_file

Used By OCFS2.

Joel

--

Life's Little Instruction Book #198

"Feed a stranger's expired parking meter."

Joel Becker
Senior Member of Technical Staff
Oracle
E-mail: [email protected]
Phone: (650) 506-8127

2005-02-20 03:22:04

by Benjamin Herrenschmidt

[permalink] [raw]
Subject: Re: updated list of unused kernel exports posted

On Sat, 2005-02-19 at 22:14 +0100, Arjan van de Ven wrote:

> +try_acquire_console_sem

This is used by radeonfb and aty128fb at least... though only on ppc for
now... It could be used later in fbdev's for "optisation". Basically, a
trylock semantic on the console semaphore, allows you to try to do
something right away (irq time), but defer if not possible. I use it in
some low level PowerMac PM code.

Ben.


2005-02-20 10:46:58

by Thomas Gleixner

[permalink] [raw]
Subject: Re: updated list of unused kernel exports posted

On Sat, 2005-02-19 at 22:14 +0100, Arjan van de Ven wrote:
> +wait_for_completion_interruptible
> +wait_for_completion_interruptible_timeout
> +wait_for_completion_timeout

These are "emerging functionality" type.

There are some patches in the pipeline, which make use of this and
waited for inclusion of those functions into mainline. I will
rework/rediff them after 2.6.11 is released.

tglx


2005-02-21 14:45:37

by Mikael Pettersson

[permalink] [raw]
Subject: Re: updated list of unused kernel exports posted

Joel Becker writes:
> On Sat, Feb 19, 2005 at 10:14:33PM +0100, Arjan van de Ven wrote:
> > +get_sb_pseudo
>
> Used by Oracle's GPL ASMLib driver, and I think by some OCFS2
> stuff as well.

Also used by GPL perfctr-2.6 package. Al Viro just recently finally
added the EXPORT_SYMBOL, previously external modules had to duplicate
the code.

/Mikael

2005-02-21 16:08:13

by Ingo Molnar

[permalink] [raw]
Subject: Re: updated list of unused kernel exports posted


* Arjan van de Ven <[email protected]> wrote:

> +wait_for_completion_interruptible
> +wait_for_completion_interruptible_timeout
> +wait_for_completion_timeout

these are fresh infrastructure additions, for which patches are in
flight for post-2.6.11.

Ingo