From: Ingo Molnar <mingo@elte.hu>
To: Sam Ravnborg <sam@ravnborg.org>
Cc: Adrian Bunk <bunk@kernel.org>, Andi Kleen <andi@firstfloor.org>,
rjw@sisk.pl, pavel@suse.cz, linux-kernel@vger.kernel.org
Subject: Re: [PATCH x86] [15/16] Force __cpuinit on for CONFIG_PM without HOTPLUG_CPU
Date: Mon, 14 Jan 2008 16:24:40 +0100 [thread overview]
Message-ID: <20080114152440.GA9174@elte.hu> (raw)
In-Reply-To: <20080114150553.GA3524@elte.hu>
* Ingo Molnar <mingo@elte.hu> wrote:
> also, in theory we've got a pretty reliable set of the following
> information:
>
> function X references symbol Y
>
> and we know what type of sections they are in, right?
>
> could -ffunction-sections be used to delay the categorization of
> functions to the link stage, and in essence remove the need to mark
> functions via any of the __init markers?
find below the current set of warnings on -git. There are 62.
for example, instead of the rather cryptic:
WARNING: vmlinux.o(.text+0x1815e): Section mismatch: reference to
.init.text:calibrate_delay (between 'smp_callin' and '__cpu_up')
the following output would be more informative:
--------------------------------->
| function:
|
| ./init/calibrate.c:void __devinit calibrate_delay(void)
|
| calls:
|
| ./arch/x86/kernel/smpboot_32.c:static void __cpuinit smp_callin(void)
|
| but calibrate_delay() is __devinit while smp_callin() is __cpuinit.
| Change smp_callin() to __devinit to resolve this warning.
|-------------------------------->
would result in a lot faster cycles of fixing this.
do we have all the info to print this?
Ingo
.init.text: calibrate_delay ('smp_callin' <-> '__cpu_up')
.init.text: register_cpu ('arch_register_cpu' <-> 'in_gate_area_no_task')
.init.text: idle_regs ('fork_idle' <-> 'get_task_mm')
.init.text: ('process_zones' <-> 'pageset_cpuup_callback')
.init.text: pcibios_fixup_bus ('pci_scan_child_bus' <-> 'pci_scan_bus_parented')
.init.data: mtrr ('param_set_scroll' <-> 'uvesafb_cn_callback')
.init.data: mtrr ('param_set_scroll' <-> 'uvesafb_cn_callback')
.init.data: pmi_setpal ('param_set_scroll' <-> 'uvesafb_cn_callback')
.init.data: pmi_setpal ('param_set_scroll' <-> 'uvesafb_cn_callback')
.init.text: pci_acpi_scan_root ('acpi_pci_root_add' <-> 'acpi_pci_unregister_driver')
.init.text: ('olympic_open' <-> 'olympic_interrupt')
.init.text: setup_teles3 ('checkcard' <-> 'hisax_sched_event')
.init.text: setup_s0box ('checkcard' <-> 'hisax_sched_event')
.init.text: setup_telespci ('checkcard' <-> 'hisax_sched_event')
.init.text: setup_avm_pcipnp ('checkcard' <-> 'hisax_sched_event')
.init.text: setup_elsa ('checkcard' <-> 'hisax_sched_event')
.init.text: setup_diva ('checkcard' <-> 'hisax_sched_event')
.init.text: setup_sedlbauer ('checkcard' <-> 'hisax_sched_event')
.init.text: setup_netjet_s ('checkcard' <-> 'hisax_sched_event')
.init.text: setup_hfcpci ('checkcard' <-> 'hisax_sched_event')
.init.text: setup_hfcsx ('checkcard' <-> 'hisax_sched_event')
.init.text: setup_niccy ('checkcard' <-> 'hisax_sched_event')
.init.text: setup_bkm_a4t ('checkcard' <-> 'hisax_sched_event')
.init.text: setup_sct_quadro ('checkcard' <-> 'hisax_sched_event')
.init.text: setup_gazel ('checkcard' <-> 'hisax_sched_event')
.init.text: setup_w6692 ('checkcard' <-> 'hisax_sched_event')
.init.text: setup_netjet_u ('checkcard' <-> 'hisax_sched_event')
.init.text: setup_enternow_pci ('checkcard' <-> 'hisax_sched_event')
.init.data: ISACVer ('ISACVersion' <-> 'DC_Close_isac')
.init.text: clear_pending_isac_ints ('inithscxisac' <-> 'HscxVersion')
.init.text: initisac ('inithscxisac' <-> 'HscxVersion')
.init.text: clear_pending_isac_ints ('AVM_card_msg' <-> 'setup_avm_a1_pcmcia')
.init.text: setup_isac ('setup_avm_a1_pcmcia' <-> 'avm_a1p_interrupt')
.init.text: clear_pending_isac_ints ('AVM_card_msg' <-> 'ReadISACfifo_IPAC')
.init.text: initisac ('AVM_card_msg' <-> 'ReadISACfifo_IPAC')
.init.text: clear_pending_isac_ints ('Sedl_card_msg' <-> 'WriteISACfifo')
.init.text: initisac ('Sedl_card_msg' <-> 'WriteISACfifo')
.init.text: initisar ('Sedl_card_msg' <-> 'WriteISACfifo')
.init.text: clear_pending_isac_ints ('NETjet_S_card_msg' <-> 'netjet_s_interrupt')
.init.text: initisac ('NETjet_S_card_msg' <-> 'netjet_s_interrupt')
.init.text: clear_pending_isac_ints ('BKM_card_msg' <-> 'ReadISAC')
.init.text: initisac ('BKM_card_msg' <-> 'ReadISAC')
.init.text: Amd7930_init ('enpci_card_msg' <-> 'ReadWordAmd7930')
.init.text: Amd7930_init ('enpci_card_msg' <-> 'ReadWordAmd7930')
.init.text: snd_usb_caiaq_audio_init ('snd_probe' <-> 'usb_ep1_command_reply_dispatch')
.init.text: snd_usb_caiaq_midi_init ('snd_probe' <-> 'usb_ep1_command_reply_dispatch')
.init.data: _asc_def_iop_base ('advansys_isa_remove' <-> 'advansys_exit')
.init.text: suni_init ('__ksymtab_suni_init' <-> '__ksymtab_scsi_device_lookup')
.init.text: profile_cpu_callback ('profile_cpu_callback_nb.19579' <-> 'prof_cpu_mask')
.init.text: workqueue_cpu_callback ('workqueue_cpu_callback_nb.12756' <-> 'workqueue_mutex')
.init.text: cpu_callback ('cpu_callback_nb.23833' <-> 'shrinker_rwsem')
.init.text: tpm_inf_pnp_probe ('tpm_inf_pnp' <-> 'inf_attr_grp')
.init.data: prism2_plx_id_table ('prism2_plx_drv_id' <-> 'prism2_plx_funcs')
.init.text: asd_aic9410_setup ('asd_pcidev_data' <-> 'dev_attr_revision')
.init.text: asd_aic9410_setup ('asd_pcidev_data' <-> 'dev_attr_revision')
.init.text: asd_aic9405_setup ('asd_pcidev_data' <-> 'dev_attr_revision')
.init.text: megaraid_probe_one ('megaraid_pci_driver_g' <-> 'megaraid_template_g')
.init.text: snd_ad1889_probe ('ad1889_pci' <-> 'ops.23552')
.exit.text: ('qla2xxx_pci_error_detected' <-> 'qla2x00_stop_timer')
.exit.text: ('sym2_io_error_detected' <-> 'sym_set_cam_result_error')
.exit.text: tpm_nsc_remove ('init_nsc' <-> 'init_atmel')
.exit.text: ('asd_pci_probe' <-> 'ips_insert_device')
next prev parent reply other threads:[~2008-01-14 15:25 UTC|newest]
Thread overview: 103+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-01-03 15:42 [PATCH x86] [0/16] Various i386/x86-64 changes Andi Kleen
2008-01-03 15:42 ` [PATCH x86] [1/16] Make clocksource watchdog cycle through online CPUs Andi Kleen
2008-01-04 8:51 ` Ingo Molnar
2008-01-04 12:59 ` Andi Kleen
2008-01-03 15:42 ` [PATCH x86] [2/16] Add a counter for per cpu clocksource watchdog checks and report them in /proc/interrupts Andi Kleen
2008-01-04 8:53 ` Ingo Molnar
2008-01-03 15:42 ` [PATCH x86] [3/16] Turn irq debugging options into module params Andi Kleen
2008-01-04 8:55 ` Ingo Molnar
2008-01-03 15:42 ` [PATCH x86] [4/16] Add /proc/irq/*/spurious to dump the spurious irq debugging state Andi Kleen
2008-01-04 8:58 ` Ingo Molnar
2008-01-04 12:22 ` Andi Kleen
2008-01-03 15:42 ` [PATCH x86] [5/16] Replace hard coded reservations in x86-64 early boot code with dynamic table Andi Kleen
2008-01-04 9:00 ` Ingo Molnar
2008-01-04 12:23 ` Andi Kleen
2008-01-04 12:38 ` [PATCH x86] [5/16] Replace hard coded reservations in x86-64 early boot code with dynamic table II Andi Kleen
2008-01-04 14:41 ` Ingo Molnar
2008-01-04 15:03 ` Andi Kleen
2008-01-04 17:51 ` Sam Ravnborg
2008-01-04 18:06 ` Andi Kleen
2008-01-04 18:47 ` Joe Perches
2008-01-04 22:13 ` Andi Kleen
2008-01-04 22:46 ` J. Bruce Fields
2008-01-04 20:56 ` Sam Ravnborg
2008-01-04 12:41 ` [PATCH x86] [5/16] Replace hard coded reservations in x86-64 early boot code with dynamic table Cyrill Gorcunov
2008-01-03 15:42 ` [PATCH x86] [6/16] Add a new arch_early_alloc() interface for x86-64 Andi Kleen
2008-01-03 16:22 ` Eric Dumazet
2008-01-03 17:17 ` Andi Kleen
2008-01-03 15:42 ` [PATCH x86] [7/16] Convert lockdep to use arch_early_alloc() if available for its large arrays Andi Kleen
2008-01-04 9:03 ` Ingo Molnar
2008-01-03 15:42 ` [PATCH x86] [8/16] Make lockdep_init __init Andi Kleen
2008-01-04 9:06 ` Ingo Molnar
2008-01-03 15:42 ` [PATCH x86] [9/16] Remove CPU capabitilites printks on i386 Andi Kleen
2008-01-04 9:11 ` Ingo Molnar
2008-01-03 15:42 ` [PATCH x86] [10/16] Document fdimage/isoimage completely in make help Andi Kleen
2008-01-04 9:00 ` Sam Ravnborg
2008-01-04 9:15 ` Ingo Molnar
2008-01-03 15:42 ` [PATCH x86] [11/16] Compile apm and voyager module only when selected in Kconfig Andi Kleen
2008-01-04 4:15 ` Stephen Rothwell
2008-01-03 15:42 ` [PATCH x86] [12/16] Optimize lock prefix switching to run less frequently Andi Kleen
2008-01-04 9:42 ` Thomas Gleixner
2008-01-04 12:17 ` Andi Kleen
2008-01-04 14:19 ` Thomas Gleixner
2008-01-04 14:39 ` Andi Kleen
2008-01-04 15:02 ` Pekka Enberg
2008-01-04 15:04 ` Andi Kleen
2008-01-04 20:34 ` Thomas Gleixner
2008-01-04 22:11 ` Andi Kleen
2008-01-05 1:19 ` Ingo Molnar
2008-01-05 14:37 ` Andi Kleen
2008-01-03 15:42 ` [PATCH x86] [13/16] i386: Set CFQ as default in i386 defconfig Andi Kleen
2008-01-04 9:19 ` Ingo Molnar
2008-01-03 15:42 ` [PATCH x86] [14/16] Enable RDC321X subarch only on 32bit Andi Kleen
2008-01-04 9:22 ` Ingo Molnar
2008-01-03 15:42 ` [PATCH x86] [15/16] Force __cpuinit on for CONFIG_PM without HOTPLUG_CPU Andi Kleen
2008-01-03 17:22 ` Rafael J. Wysocki
2008-01-03 17:42 ` Andi Kleen
2008-01-03 21:41 ` Rafael J. Wysocki
2008-01-04 9:23 ` Ingo Molnar
2008-01-10 17:14 ` Rafael J. Wysocki
2008-01-03 18:14 ` Adrian Bunk
2008-01-03 18:43 ` Andi Kleen
2008-01-10 9:54 ` Adrian Bunk
2008-01-10 9:58 ` Andi Kleen
2008-01-10 10:19 ` Adrian Bunk
2008-01-10 11:15 ` Andi Kleen
2008-01-10 11:26 ` Adrian Bunk
2008-01-10 11:42 ` Andi Kleen
2008-01-10 12:47 ` Adrian Bunk
2008-01-10 13:12 ` Andi Kleen
2008-01-10 15:09 ` Adrian Bunk
2008-01-14 13:52 ` Ingo Molnar
2008-01-14 14:09 ` Sam Ravnborg
2008-01-14 14:58 ` Ingo Molnar
2008-01-14 15:01 ` Ingo Molnar
2008-01-14 18:20 ` Adrian Bunk
2008-01-14 19:10 ` Ingo Molnar
2008-01-14 19:52 ` Adrian Bunk
2008-01-14 20:01 ` Sam Ravnborg
2008-01-14 20:18 ` Adrian Bunk
2008-01-14 20:27 ` Sam Ravnborg
2008-01-14 20:34 ` Adrian Bunk
2008-01-15 22:14 ` Ingo Molnar
2008-01-15 22:51 ` Adrian Bunk
2008-01-14 19:59 ` Sam Ravnborg
2008-01-15 22:12 ` [patch for v2.6.24] fix section mismatch warning in page_alloc.c Ingo Molnar
2008-01-14 15:05 ` [PATCH x86] [15/16] Force __cpuinit on for CONFIG_PM without HOTPLUG_CPU Ingo Molnar
2008-01-14 15:24 ` Ingo Molnar [this message]
2008-01-14 20:12 ` Sam Ravnborg
2008-01-15 15:17 ` Ingo Molnar
2008-01-15 16:25 ` Sam Ravnborg
2008-01-15 17:11 ` Andi Kleen
2008-01-15 17:27 ` Adrian Bunk
2008-01-15 18:21 ` Sam Ravnborg
2008-01-15 18:29 ` Andi Kleen
2008-01-15 18:31 ` Sam Ravnborg
2008-01-15 18:47 ` Adrian Bunk
2008-01-14 18:17 ` Adrian Bunk
2008-01-14 15:25 ` Adrian Bunk
2008-01-10 17:17 ` Rafael J. Wysocki
2008-01-11 23:06 ` [PATCH] x86: Change unnecessary dependencies on CONFIG_PM Rafael J. Wysocki
2008-01-03 15:42 ` [PATCH x86] [16/16] Mark memory_setup __init Andi Kleen
2008-01-04 9:25 ` Ingo Molnar
2008-01-04 9:53 ` Ingo Molnar
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20080114152440.GA9174@elte.hu \
--to=mingo@elte.hu \
--cc=andi@firstfloor.org \
--cc=bunk@kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=pavel@suse.cz \
--cc=rjw@sisk.pl \
--cc=sam@ravnborg.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
Powered by JetHome