[ltt-dev] LTTng 0.10 for Linux 2.6.26

Takashi Nishiie t-nishiie at np.css.fujitsu.com
Thu Jul 17 04:04:10 EDT 2008


Wenji Huang wrote:
>
>Mathieu Desnoyers wrote:
>> * Takashi Nishiie (t-nishiie at np.css.fujitsu.com) wrote:
>>> Hi.
>>>
>>>> http://ltt.polymtl.ca/lttng/patch-2.6.26-0.10.tar.bz2
>>> I found a suspicious point though I compiled by the x86 architecture.
>>>
>>>   Distribution: Red Hat Enterprise Linux 5
>>>   gcc: gcc-4.1.2-42.el5
>>>
>>> In Module.markers
>>> <snip>
>>> kernel_arch_trap_exit	vmlinux	 
>>> kernel_irq_entry	vmlinux	irq_id %u kernel_mode %u
>>> kernel_irq_exit	vmlinux	 
>>> kernel_irq_exit	vmlinux	handled #1u%u
>>> kernel_kthread_stop	vmlinux	pid %d
>>> <snip>
>>>
>>> Why are two kernel_irq_exit list?
>>>
>> 
>> That's because you have an old Modules.markers in your tree. Try
>> deleting the old one and to recompile the kernel. This should probably
>> be fixed in modpost.c.
>> 
>Remember it had been discussed in 
>http://sources.redhat.com/ml/systemtap/2008-q1/msg00466.html
>

It is a mysterious problem. 

Env.1
   Architecture: x86
   Distribution: Red Hat Enterprise Linux 5
   gcc: gcc-4.1.2-42.el5

   In this environment, other marker is normally listed though two 
   kernel_irq_exit is listed even if Modules.markers is deleted 
   before it compiles. The problem was solved by using Roland 's 
   patch.

Env.2
   Architecture: x86_64
   Distribution: Fedora 9
   gcc: gcc-4.3.0-8

   In this environment, Module.markers is normally made. But,when Roland's
   patch was used oppositely, kernel marker that existed in source 
   codes other than the samples directory and the ltt directory was not
   listed. 

There might be some problems in my compilation environment.
Is Module.markers normally generated to you?

>Roland's patch plus removing/emptying the file before vmlinux-modpost
>in scripts/Makefile.modpost like:
>
>  vmlinux.o: FORCE
>+       @rm -fr $(kernelmarkersfile)
>         $(call cmd,kernel-mod)
>
>will solve the problem.

I think that Module.markers should delete it when "Make clean" is executed. 

Makefile:

clean: archclean $(clean-dirs)
        $(call cmd,rmdirs)
        $(call cmd,rmfiles)
        @find . $(RCS_FIND_IGNORE) \
                \( -name '*.[oas]' -o -name '*.ko' -o -name '.*.cmd' \
                -o -name '.*.d' -o -name '.*.tmp' -o -name '*.mod.c' \
-               -o -name '*.symtypes' -o -name 'modules.order' \) \
+               -o -name '*.symtypes' -o -name 'modules.order' \
+		-o -name 'Module.markers' \) \
                -type f -print | xargs rm -f

Thank you,

--
Takashi Nishiie






More information about the lttng-dev mailing list