From yd.nvstp在gmail.com Thu Jul 1 16:33:58 2010 From: yd.nvstp在gmail.com (nvstp) Date: Thu, 1 Jul 2010 16:33:58 +0800 Subject: =?GB2312?B?UmU6IEZyZWVzY2FsZaOoyc+6o6Op1dDGuExpbnV4IEtlcm5lbC9BbmRyb2lkIA==?= =?GB2312?B?RGV2ZWxvcGVy?= In-Reply-To: References: Message-ID: 怎么都是在上海啊 2010/6/28 Xinyu Chen > Hi All > > 我所在的组(Freescale MAD Linux Team) 现招2-3个做内核驱动开发或者Android > Framework/HAL移植开发工程师。 > 开发平台主要是基于ARM的i.MX5x平台(Cortex-A8)。Kernel Developer > 主要的工作是针对新的开发平台的内核移植,或者是新的SoC的Linux内核的开发。 > Android > Developer则涉及广泛些,从上层的middleware,到下面的kernel都需要接触;会有平台移植,性能优化、客户支持等等工作。 > > 要求是有ARM Linux的开发经验或者Android的移植经验。 > 工作年限没太多要求,学历本科以上(包含本科)。对Kernel/Android有兴趣,自学能力强的都欢迎。 > > 我也是帮老板找人,兴趣的朋友可以直接和我邮件联系。 > > > > -- > Best Regards > Xinyu > _______________________________________________ > Linux 内核开发中文邮件列表 > Linux-kernel在zh-kernel.org > http://zh-kernel.org/mailman/listinfo/linux-kernel > Linux 内核开发中文社区: http://zh-kernel.org From yun10xiang在163.com Thu Jul 1 19:56:24 2010 From: yun10xiang在163.com (yun10xiang) Date: Thu, 1 Jul 2010 19:56:24 +0800 (CST) Subject: =?gbk?B?xNq6y9W7x9C7uw==?= Message-ID: <12cd2a4.d6b7.1298ddd68eb.Coremail.yun10xiang@163.com> ARM的嵌入式linux,发生系统调用的时候会进行堆栈的切换。是如何完成的呢? 系统调用是通过软中断,也就是会进入中断模式。由于每个进程的内核堆栈是不一样的,系统是什么时候将进程的内核堆栈赋值给中断模式的SP寄存器??? From lantianyu1986在gmail.com Fri Jul 2 09:18:38 2010 From: lantianyu1986在gmail.com (=?GB2312?B?wLbM7NPu?=) Date: Fri, 2 Jul 2010 09:18:38 +0800 Subject: =?GB2312?B?UmU6IMTausvVu8fQu7s=?= In-Reply-To: <12cd2a4.d6b7.1298ddd68eb.Coremail.yun10xiang@163.com> References: <12cd2a4.d6b7.1298ddd68eb.Coremail.yun10xiang@163.com> Message-ID: 系统调用被调用时,就会产生个异常,类似中断,根据中断向量表,查找相应的例程,做些切换动作,比如参数传递,设置内核栈之类的操作,之后再查询系统调用表,再找到相应的函数,执行。个人理解,有误解希望 大家指出。 在 2010年7月1日 下午7:56,yun10xiang 写道: > ARM的嵌入式linux,发生系统调用的时候会进行堆栈的切换。是如何完成的呢? > 系统调用是通过软中断,也就是会进入中断模式。由于每个进程的内核堆栈是不一样的,系统是什么时候将进程的内核堆栈赋值给中断模式的SP寄存器??? > _______________________________________________ > Linux 内核开发中文邮件列表 > Linux-kernel在zh-kernel.org > http://zh-kernel.org/mailman/listinfo/linux-kernel > Linux 内核开发中文社区: http://zh-kernel.org From acuter在gmail.com Fri Jul 2 09:50:52 2010 From: acuter在gmail.com (acuter) Date: Fri, 2 Jul 2010 09:50:52 +0800 Subject: =?GB2312?B?UmU6IMTausvVu8fQu7s=?= In-Reply-To: <12cd2a4.d6b7.1298ddd68eb.Coremail.yun10xiang@163.com> References: <12cd2a4.d6b7.1298ddd68eb.Coremail.yun10xiang@163.com> Message-ID: > ARM的嵌入式linux,发生系统调用的时候会进行堆栈的切换。是如何完成的呢? > 这是CPU完成的。比如X86,运行在用户态时,如果发生中断、异常、系统调用, CPU会切换到TSS里的esp0指向的内核栈。 ARM 不懂,但肯定是CPU完成的。 > 系统调用是通过软中断,也就是会进入中断模式。由于每个进程的内核堆栈是不一样的, > 系统是什么时候将进程的内核堆栈赋值给中断模式的 SP寄存器??? > 肯定是在任务切换的时候赋值的。如果是X86,__switch_to 里有设置 esp0 的操作。 在 2010年7月1日 下午7:56,yun10xiang 写道: > ARM的嵌入式linux,发生系统调用的时候会进行堆栈的切换。是如何完成的呢? > 系统调用是通过软中断,也就是会进入中断模式。由于每个进程的内核堆栈是不一样的,系统是什么时候将进程的内核堆栈赋值给中断模式的SP寄存器??? > _______________________________________________ > Linux 内核开发中文邮件列表 > Linux-kernel在zh-kernel.org > http://zh-kernel.org/mailman/listinfo/linux-kernel > Linux 内核开发中文社区: http://zh-kernel.org From yun10xiang在163.com Fri Jul 2 10:33:06 2010 From: yun10xiang在163.com (yun10xiang) Date: Fri, 2 Jul 2010 10:33:06 +0800 (CST) Subject: =?gbk?B?1tC2z7rNz7XNs7bR1bs=?= Message-ID: <1ead7f1.13577.12991000df2.Coremail.yun10xiang@163.com> 1. ARM嵌入式linux,系统只使用管理和用户模式,那么当发生中断(IRQ),切换到哪个模式??是不是进入中断模式然后马上切换到管理模式,还是直接切换到管理模式? 2. 用户堆栈和内核堆栈的切换是硬件动作还是软件做的切换?若是软件执行,那么在哪个地方执行,具体源代码是在哪个文件? 谢谢!! From onlyflyer在gmail.com Fri Jul 2 11:04:26 2010 From: onlyflyer在gmail.com (Liu Hui) Date: Fri, 2 Jul 2010 11:04:26 +0800 Subject: =?UTF-8?B?UmU6IOWGheaguOagiOWIh+aNog==?= In-Reply-To: References: <12cd2a4.d6b7.1298ddd68eb.Coremail.yun10xiang@163.com> Message-ID: TSS-任务状态段,原来设计的时候是用做进程切换的一个数据结构,Linux早期版本还用他来进行进程切换。后来任务切换主要由软件来实现,TSS的主要任务退化发生中断或者异常时进行堆栈切换。 当前进程的内核堆栈指针ss,sp放在tss中,所以中断或异常之后能够切换。如果进程发生切换了,tss里面的东西也变成了下个进程的ss,sp。 在 2010年7月2日 上午9:50,acuter 写道: > > ARM的嵌入式linux,发生系统调用的时候会进行堆栈的切换。是如何完成的呢? > > > > 这是CPU完成的。比如X86,运行在用户态时,如果发生中断、异常、系统调用, > CPU会切换到TSS里的esp0指向的内核栈。 > > ARM 不懂,但肯定是CPU完成的。 > > > 系统调用是通过软中断,也就是会进入中断模式。由于每个进程的内核堆栈是不一样的, > > 系统是什么时候将进程的内核堆栈赋值给中断模式的 SP寄存器??? > > > > 肯定是在任务切换的时候赋值的。如果是X86,__switch_to 里有设置 esp0 的操作。 > > > 在 2010年7月1日 下午7:56,yun10xiang 写道: > > ARM的嵌入式linux,发生系统调用的时候会进行堆栈的切换。是如何完成的呢? > > 系统调用是通过软中断,也就是会进入中断模式。由于每个进程的内核堆栈是不一样的,系统是什么时候将进程的内核堆栈赋值给中断模式的SP寄存器??? > > _______________________________________________ > > Linux 内核开发中文邮件列表 > > Linux-kernel在zh-kernel.org > > http://zh-kernel.org/mailman/listinfo/linux-kernel > > Linux 内核开发中文社区: http://zh-kernel.org > _______________________________________________ > Linux 内核开发中文邮件列表 > Linux-kernel在zh-kernel.org > http://zh-kernel.org/mailman/listinfo/linux-kernel > Linux 内核开发中文社区: http://zh-kernel.org > -- Thanks & Best Regards Liu Hui -- From marshuttle在gmail.com Fri Jul 2 13:52:57 2010 From: marshuttle在gmail.com (xiatianxiao) Date: Fri, 2 Jul 2010 13:52:57 +0800 Subject: =?GB2312?B?UmU6INbQts+6zc+1zbO20dW7?= In-Reply-To: <1ead7f1.13577.12991000df2.Coremail.yun10xiang@163.com> References: <1ead7f1.13577.12991000df2.Coremail.yun10xiang@163.com> Message-ID: 1 ARM嵌入式linux,系统只使用管理和用户模式,那么当发生中断(IRQ),切换到哪个模式??是不是进入中断模式然后马上切换到管理模式,还是直接切换到管理模式? ARM硬件会先进入中断请求模式,是否进入SVC模式由程序自己来决定,Linux有没有做不了解 2.用户堆栈和内核堆栈的切换是硬件动作还是软件做的切换? > > 若是软件执行,那么在哪个地方执行,具体源代码是在哪个文件? > 谢谢!! 堆栈切换是硬件做的,r13 分组寄存器,每种模式都有自己的r13 ,它们对程序是隐藏的 > Linux 内核开发中文邮件列表 > Linux-kernel在zh-kernel.org > http://zh-kernel.org/mailman/listinfo/linux-kernel > Linux 内核开发中文社区: http://zh-kernel.org From yun10xiang在163.com Fri Jul 2 14:17:09 2010 From: yun10xiang在163.com (yun10xiang) Date: Fri, 2 Jul 2010 14:17:09 +0800 (CST) Subject: =?gbk?B?UmU6UmU6INbQts+6zc+1zbO20dW7?= In-Reply-To: References: <1ead7f1.13577.12991000df2.Coremail.yun10xiang@163.com> Message-ID: <3d466b.1717a.12991cd2b28.Coremail.yun10xiang@163.com> 针对第二个的回答我还是有点疑问: 首先讲讲我的理解,从用户模式到管理模式的切换,堆栈切换是硬件完成的,内核堆栈的地址应该是切换到管理模式的r13 分组寄存器所保存的值。linux系统中每个进程的内核堆栈都是不一样,内核是什么时候将每个进程的内核堆栈地址赋值给管理模式的r13 分组寄存器???这部分应该是软件实现的吧?若是具体源代码是在哪个文件? 在 2010-07-02 13:52:57,xiatianxiao 写道: 1 ARM嵌入式linux,系统只使用管理和用户模式,那么当发生中断(IRQ),切换到哪个模式??是不是进入中断模式然后马上切换到管理模式,还是直接切换到管理模式? ARM硬件会先进入中断请求模式,是否进入SVC模式由程序自己来决定,Linux有没有做不了解 2.用户堆栈和内核堆栈的切换是硬件动作还是软件做的切换? 若是软件执行,那么在哪个地方执行,具体源代码是在哪个文件? 谢谢!! 堆栈切换是硬件做的,r13 分组寄存器,每种模式都有自己的r13 ,它们对程序是隐藏的 Linux 内核开发中文邮件列表 Linux-kernel在zh-kernel.org http://zh-kernel.org/mailman/listinfo/linux-kernel Linux 内核开发中文社区: http://zh-kernel.org From zhourenren在gmail.com Fri Jul 2 15:06:06 2010 From: zhourenren在gmail.com (zhou) Date: Fri, 2 Jul 2010 15:06:06 +0800 Subject: =?UTF-8?B?UmU6IOS4reaWreWSjOezu+e7n+WghuagiA==?= In-Reply-To: References: <1ead7f1.13577.12991000df2.Coremail.yun10xiang@163.com> Message-ID: 在 2010年7月2日 下午1:52,xiatianxiao 写道: > 1 > ARM嵌入式linux,系统只使用管理和用户模式,那么当发生中断(IRQ),切换到哪个模式??是不是进入中断模式然后马上切换到管理模式,还是直接切换到管理模式? > >     ARM硬件会先进入中断请求模式,是否进入SVC模式由程序自己来决定,Linux有没有做不了解 > 中断后是IRQ模式,每个模式都有自己的一组寄存器和堆栈 cpsr中有几位对应6种模式,用msr写状态寄存器来切换模式,我的boot代码里堆栈初始化部分是下面 InitStacks ;//========================== ; UNDEF MODE ;//========================== mov r1,#UNDEFMODE|NOINT msr cpsr_c,r1 ldr sp,=UndefStack ;//========================== ; ABORT MODE ;//========================== mov r1,#ABORTMODE|NOINT msr cpsr_c,r1 ldr sp,=AbortStack ;//========================== ; FIQ MODE ;//========================== mov r1,#FIQMODE|NOINT msr cpsr_c,r1 ldr sp,=FIQStack ;//========================== ; IRQ MODE ;//========================== mov r1,#IRQMODE|NOINT msr cpsr_c,r1 ldr sp,=IRQStack ;//========================== ; SVC MODE, the last mode must be SVC, enable irq with irqmasked ;//========================== mov r1,#SVCMODE|NOINT msr cpsr_c,r1 ldr sp,=SVCStack msr写,mrs读,在kernel里一样是搜索msr,切换部分代码没看过。说错请纠正 From yun10xiang在163.com Fri Jul 2 15:22:05 2010 From: yun10xiang在163.com (yun10xiang) Date: Fri, 2 Jul 2010 15:22:05 +0800 (CST) Subject: =?gbk?B?UmU6UmU6INbQts+6zc+1zbO20dW7?= In-Reply-To: References: <1ead7f1.13577.12991000df2.Coremail.yun10xiang@163.com> Message-ID: <52d839.1876e.1299208a045.Coremail.yun10xiang@163.com> 还有个问题,正如你程序中所写, > mov r1,#SVCMODE|NOINT > msr cpsr_c,r1 > ldr sp,=SVCStack 先要初始化管理模式的SP,当从用户模式切换到管理模式的时候,管理模式的堆栈使用的是SVCStack;在 linux内核中,每个进程都有内核堆栈而且是不一样,在linux中,当从用户态转入内核态(如系统调用),进会进入管理模式,此时应该使用的是每个进程的内核堆栈作为管理模式的堆栈,是什么时候将每个进程的内核堆栈地址赋值给管理模式下的SP呢??? >在 2010年7月2日 下午1:52,xiatianxiao 写道: >> 1 >> ARM嵌入式linux,系统只使用管理和用户模式,那么当发生中断(IRQ),切换到哪个模式??是不是进入中断模式然后马上切换到管理模式,还是直接切换到管理模式? >> >> ARM硬件会先进入中断请求模式,是否进入SVC模式由程序自己来决定,Linux有没有做不了解 >>>>中断后是IRQ模式,每个模式都有自己的一组寄存器和堆栈 >cpsr中有几位对应6种模式,用msr写状态寄存器来切换模式,我的boot代码里堆栈初始化部分是下面>>InitStacks > ;//==========================> ; UNDEF MODE > ;//==========================> mov r1,#UNDEFMODE|NOINT > msr cpsr_c,r1> ldr sp,=UndefStack> > ;//==========================> ; ABORT MODE > ;//==========================> mov r1,#ABORTMODE|NOINT > msr cpsr_c,r1> ldr sp,=AbortStack> > ;//==========================> ; FIQ MODE > ;//==========================> mov r1,#FIQMODE|NOINT> msr cpsr_c,r1 > ldr sp,=FIQStack> > ;//========================== > ; IRQ MODE> ;//========================== > mov r1,#IRQMODE|NOINT> msr cpsr_c,r1> ldr sp,=IRQStack> > ;//========================== > ; SVC MODE, the last mode must be SVC, enable irq with irqmasked > ;//==========================> mov r1,#SVCMODE|NOINT> msr cpsr_c,r1 > ldr sp,=SVCStack> >msr写,mrs读,在kernel里一样是搜索msr,切换部分代码没看过。说错请纠正 From 1226ehziy在gmail.com Fri Jul 2 15:47:56 2010 From: 1226ehziy在gmail.com (=?GB2312?B?t67F8w==?=) Date: Fri, 2 Jul 2010 15:47:56 +0800 Subject: =?GB2312?B?UmU6INbQts+6zc+1zbO20dW7?= In-Reply-To: References: <1ead7f1.13577.12991000df2.Coremail.yun10xiang@163.com> Message-ID: arch/arm/kernel/entry-armv.S 这个文件的内容应该能解答你的疑问 在 2010年7月2日 下午3:06,zhou 写道: > 在 2010年7月2日 下午1:52,xiatianxiao 写道: > > 1 > > > ARM嵌入式linux,系统只使用管理和用户模式,那么当发生中断(IRQ),切换到哪个模式??是不是进入中断模式然后马上切换到管理模式,还是直接切换到管理模式? > > > > ARM硬件会先进入中断请求模式,是否进入SVC模式由程序自己来决定,Linux有没有做不了解 > > > > 中断后是IRQ模式,每个模式都有自己的一组寄存器和堆栈 > cpsr中有几位对应6种模式,用msr写状态寄存器来切换模式,我的boot代码里堆栈初始化部分是下面 > > InitStacks > ;//========================== > ; UNDEF MODE > ;//========================== > mov r1,#UNDEFMODE|NOINT > msr cpsr_c,r1 > ldr sp,=UndefStack > > ;//========================== > ; ABORT MODE > ;//========================== > mov r1,#ABORTMODE|NOINT > msr cpsr_c,r1 > ldr sp,=AbortStack > > ;//========================== > ; FIQ MODE > ;//========================== > mov r1,#FIQMODE|NOINT > msr cpsr_c,r1 > ldr sp,=FIQStack > > ;//========================== > ; IRQ MODE > ;//========================== > mov r1,#IRQMODE|NOINT > msr cpsr_c,r1 > ldr sp,=IRQStack > > ;//========================== > ; SVC MODE, the last mode must be SVC, enable irq with irqmasked > ;//========================== > mov r1,#SVCMODE|NOINT > msr cpsr_c,r1 > ldr sp,=SVCStack > > msr写,mrs读,在kernel里一样是搜索msr,切换部分代码没看过。说错请纠正 > _______________________________________________ > Linux 内核开发中文邮件列表 > Linux-kernel在zh-kernel.org > http://zh-kernel.org/mailman/listinfo/linux-kernel > Linux 内核开发中文社区: http://zh-kernel.org > -- I believe I can From newyearpretty在gmail.com Fri Jul 2 16:05:47 2010 From: newyearpretty在gmail.com (new yang) Date: Fri, 2 Jul 2010 16:05:47 +0800 Subject: =?GB2312?B?09DDu9PQyMvWqrXAZmFsbGJhY2sgZGV2aWNlysfKssO0tqvO9w==?= Message-ID: 大家好, 在看ipv6,tunnel的代码。 然后看到有2个初始化函数,ip6ip6_fb_tnl_dev_init和ip6ip6_tnl_dev_init,那个fb的初始化函数是在模块初始化的时候调用的,非fb的初始化函数是在新建tunnel时候调用的。 注释是说,ip6ip6_fb_tnl_dev_init是fallback device的初始化函数。所以想问一下 这个fallback设备是个什么东东? 谢谢 best regards niu From marshuttle在gmail.com Fri Jul 2 16:42:14 2010 From: marshuttle在gmail.com (xiatianxiao) Date: Fri, 2 Jul 2010 16:42:14 +0800 Subject: =?GB2312?B?UmU6IFJlOiDW0LbPus3Ptc2zttHVuw==?= In-Reply-To: <3d466b.1717a.12991cd2b28.Coremail.yun10xiang@163.com> References: <1ead7f1.13577.12991000df2.Coremail.yun10xiang@163.com> <3d466b.1717a.12991cd2b28.Coremail.yun10xiang@163.com> Message-ID: 进程在fork的时候分配内核堆栈并保存在task结构里的thread_union里大小为THREAD_SIZE,分配的时候应该是在do_fork->copy_process->dup_task_struct (kernel/fork.c)里 进程切换到时候会去切换r13,就是把task_struct里的新进程的r13付给r13,代码在switch_to()里 位置好像是在arch/arm/kernel/entry-armv.S里 在 2010年7月2日 下午2:17,yun10xiang 写道: > 针对第二个的回答我还是有点疑问: > 首先讲讲我的理解,从用户模式到管理模式的切换,堆栈切换是硬件完成的,内核堆栈的地址应该是切换到管理模式的r13 > 分组寄存器所保存的值。linux系统中每个进程的内核堆栈都是不一样,内核是什么时候将每个进程的内核堆栈地址赋值给管理模式的r13 > 分组寄存器???这部分应该是软件实现的吧?若是具体源代码是在哪个文件? > > 在 2010-07-02 13:52:57,xiatianxiao 写道: > > From xunzhang.huang在gmail.com Fri Jul 2 17:47:19 2010 From: xunzhang.huang在gmail.com (Xunzhang Huang) Date: Fri, 2 Jul 2010 17:47:19 +0800 Subject: =?GB2312?B?1NoyLjYuMTjW0L34s8zVvNPDtPPBv8TatOY=?= Message-ID: hi, 各位 目前在工作中遇到一个很奇怪的问题,我们的web服务器程序(使用Nginx)在rh4u3/ 2.6.9内核中运行良好,每个进程占用100M一下的内存,可是迁移到rh5u4/2.6.18内核上之后,发现此程序占用了大量的内存,每个进程大概700M~1G左右。通过pmap查看,发现是进程从堆上分配了大量的内存: 0000000000593000 60K rw--- [ anon ] 000000000e191000 661560K rw--- [ anon ] 0000003f03400000 112K r-x-- /lib64/ld-2.5.so 0000003f0361b000 4K r---- /lib64/ld-2.5.so 0000003f0361c000 4K rw--- /lib64/ld-2.5.so 0000003f03800000 1332K r-x-- /lib64/libc-2.5.so 0000003f0394d000 2048K ----- /lib64/libc-2.5.so 0000003f03b4d000 16K r---- /lib64/libc-2.5.so 0000003f03b51000 4K rw--- /lib64/libc-2.5.so 0000003f03b52000 20K rw--- [ anon ] 现在不知道该从哪个方向去追查这个问题,有什么建议吗各位?2.6.9和2.6.18在内存管理上有什么大的不同? 不胜感激! best regards, Medal Huang From lzy.dev在gmail.com Fri Jul 2 19:07:57 2010 From: lzy.dev在gmail.com (=?UTF-8?B?5YiY55+l6KiA?=) Date: Fri, 2 Jul 2010 19:07:57 +0800 Subject: =?UTF-8?B?UmU6IOWcqDIuNi4xOOS4rei/m+eoi+WNoOeUqOWkp+mHj+WGheWtmA==?= In-Reply-To: References: Message-ID: 原来也是64位系统么? 2010/7/2 Xunzhang Huang : > hi, 各位 > > 目前在工作中遇到一个很奇怪的问题,我们的web服务器程序(使用Nginx)在rh4u3/ > 2.6.9内核中运行良好,每个进程占用100M一下的内存,可是迁移到rh5u4/2.6.18内核上之后,发现此程序占用了大量的内存,每个进程大概700M~1G左右。通过pmap查看,发现是进程从堆上分配了大量的内存: > > 0000000000593000     60K rw---    [ anon ] > 000000000e191000 661560K rw---    [ anon ] > 0000003f03400000    112K r-x--  /lib64/ld-2.5.so > 0000003f0361b000      4K r----  /lib64/ld-2.5.so > 0000003f0361c000      4K rw---  /lib64/ld-2.5.so > 0000003f03800000   1332K r-x--  /lib64/libc-2.5.so > 0000003f0394d000   2048K -----  /lib64/libc-2.5.so > 0000003f03b4d000     16K r----  /lib64/libc-2.5.so > 0000003f03b51000      4K rw---  /lib64/libc-2.5.so > 0000003f03b52000     20K rw---    [ anon ] > > 现在不知道该从哪个方向去追查这个问题,有什么建议吗各位?2.6.9和2.6.18在内存管理上有什么大的不同? > 不胜感激! > > best regards, > > Medal Huang > _______________________________________________ > Linux 内核开发中文邮件列表 > Linux-kernel在zh-kernel.org > http://zh-kernel.org/mailman/listinfo/linux-kernel > Linux 内核开发中文社区: http://zh-kernel.org From gaowenk.cn在gmail.com Fri Jul 2 19:22:51 2010 From: gaowenk.cn在gmail.com (gao wenk) Date: Fri, 2 Jul 2010 19:22:51 +0800 Subject: =?GB2312?B?UmU6INTaMi42LjE41tC9+LPM1bzTw7Tzwb/E2rTm?= In-Reply-To: References: Message-ID: glibc版本相同么? 在 2010年7月2日 下午7:07,刘知言 写道: > 原来也是64位系统么? > > 2010/7/2 Xunzhang Huang : >> hi, 各位 >> >> 目前在工作中遇到一个很奇怪的问题,我们的web服务器程序(使用Nginx)在rh4u3/ >> 2.6.9内核中运行良好,每个进程占用100M一下的内存,可是迁移到rh5u4/2.6.18内核上之后,发现此程序占用了大量的内存,每个进程大概700M~1G左右。通过pmap查看,发现是进程从堆上分配了大量的内存: >> >> 0000000000593000 60K rw--- [ anon ] >> 000000000e191000 661560K rw--- [ anon ] >> 0000003f03400000 112K r-x-- /lib64/ld-2.5.so >> 0000003f0361b000 4K r---- /lib64/ld-2.5.so >> 0000003f0361c000 4K rw--- /lib64/ld-2.5.so >> 0000003f03800000 1332K r-x-- /lib64/libc-2.5.so >> 0000003f0394d000 2048K ----- /lib64/libc-2.5.so >> 0000003f03b4d000 16K r---- /lib64/libc-2.5.so >> 0000003f03b51000 4K rw--- /lib64/libc-2.5.so >> 0000003f03b52000 20K rw--- [ anon ] >> >> 现在不知道该从哪个方向去追查这个问题,有什么建议吗各位?2.6.9和2.6.18在内存管理上有什么大的不同? >> 不胜感激! >> >> best regards, >> >> Medal Huang >> _______________________________________________ >> Linux 内核开发中文邮件列表 >> Linux-kernel在zh-kernel.org >> http://zh-kernel.org/mailman/listinfo/linux-kernel >> Linux 内核开发中文社区: http://zh-kernel.org > _______________________________________________ > Linux 内核开发中文邮件列表 > Linux-kernel在zh-kernel.org > http://zh-kernel.org/mailman/listinfo/linux-kernel > Linux 内核开发中文社区: http://zh-kernel.org -- 1.知书达礼:仅知道书本知识是不够的,还要学会送礼; 2.度日如年:特指当公务员的日子,非常好过,每天象过年一样; 3.杯水车薪:形容公务员的工作,每天办公室喝杯茶,月底可以拿到可以买一辆车的工资; 4.知足常乐:知道有人请自己洗脚,心里就感到快乐; 5.有机可乘:出门考察有飞机可以乘坐; 6.不学无术:不要白费工夫学那些不实用的东西; 相信一切皆有可能:在这个神奇的国度 From kanghq2007在gmail.com Sat Jul 3 12:28:42 2010 From: kanghq2007在gmail.com (kanghq2007) Date: Sat, 3 Jul 2010 12:28:42 +0800 Subject: =?gb2312?B?wrfTybHtzsrM4g==?= Message-ID: <201007031228340783898@gmail.com> 最近我重启freebsd后发现无法联网了,ping外网出现ping sendto:invalid argument 而且messages提示kernel:armresolve:can't allocate llinfo XXX.XXX.XXX.XXX 这个地址是我使用pppoe拨号的边缘路由地址。 但是ping内网可以,ping XXX.XXX.XXX.XXX也能ping通,就外网ping不通。 服务器的dhcpd被我禁用掉了,可还是不好使。 路由表中有一项 default XXX.XXX.XXX.XXX UGS 0 0 rl0(这里很奇怪,应该是tun0啊,为啥变成rl0了) 还有一项 192.168.0/24 link#1 Uc 0 0 tun0 如果有可能 怎么修改netif这个选项呢? 很奇怪~ 怎么回事呢?谢谢大家了。 2010-07-03 kanghq2007 From cellslab在gmail.com Mon Jul 5 13:07:26 2010 From: cellslab在gmail.com (=?GB2312?B?wfXLvMG8?=) Date: Mon, 5 Jul 2010 13:07:26 +0800 Subject: =?GB2312?B?udjT2iBocnRpbWVyIMjnus7J6NbD1NrTsrz+1tC2z8DvtffTww==?= =?GB2312?B?u9i197qvyv0=?= Message-ID: 目的:以最少的延迟执行一个函数 已知:hrtimer 可以做到纳秒级的定时器,并产生硬件中断。(测试过确实可用) 自己定义的回调函数可能是在 定时器中断的下半部被执行的,也就是tasklet中。(未经测试) 提问原因:硬件中断可以保证时间上的高精度。但是软中断只能保证在1HZ内被调度,也就是1ms。 满足不了我的工程的时间精度要求。 问题:如何设置才能使自己定义的回调函数直接在硬件中断中被执行,而不是在tasklet中。 注: 相关函数在 hrtimer.h 中有声明及说明。 查了几天没查到。请高手指点。 From neverforget_2002在163.com Mon Jul 5 15:29:51 2010 From: neverforget_2002在163.com (CL2) Date: Mon, 5 Jul 2010 15:29:51 +0800 Subject: =?UTF-8?B?5rGC5Yqp77ya5YaF5qC45re75YqgLWxt5Y+C5pWw5ZCO57yW6K+R6ZSZ6K+v?= Message-ID: <250704358.230120.1278314987662.JavaMail.neverforget_2002@163.com> 大家好,我编译内核时在Makefile中添加了一行: LDFLAGS += -lm -L/opt/crosstool/gcc-3.4.6-glibc-2.3.6/arm-linux/arm-linux/lib 编译到这步后报错如下: /opt/crosstool/gcc-3.4.6-glibc-2.3.6/arm-linux/bin/arm-linux-ld -EL -lm -L/opt/crosstool/gcc-3.4.6-glibc-2.3.6/arm-linux/arm-linux/lib -p --no-undefined -X -o .tmp_vmlinux1 -T arch/arm/kernel/vmlinux.lds arch/arm/kernel/head.o arch/arm/kernel/init_task.o init/built-in.o --start-group usr/built-in.o arch/arm/kernel/built-in.o arch/arm/mm/built-in.o arch/arm/common/built-in.o arch/arm/mach-pxa/built-in.o arch/arm/nwfpe/built-in.o kernel/built-in.o mm/built-in.o fs/built-in.o ipc/built-in.o security/built-in.o crypto/built-in.o ucos/built-in.o lib/lib.a arch/arm/lib/lib.a lib/built-in.o arch/arm/lib/built-in.o drivers/built-in.o sound/built-in.o net/built-in.o --end-group /opt/crosstool/gcc-3.4.6-glibc-2.3.6/arm-linux/bin/arm-linux-ld: ERROR: usr/built-in.o uses software FP, whereas .tmp_vmlinux1 uses hardware FP /opt/crosstool/gcc-3.4.6-glibc-2.3.6/arm-linux/bin/arm-linux-ld: failed to merge target specific data of file usr/built-in.o /opt/crosstool/gcc-3.4.6-glibc-2.3.6/arm-linux/bin/arm-linux-ld: ERROR: arch/arm/kernel/head.o uses software FP, whereas .tmp_vmlinux1 uses hardware FP ......(几十个) 这步编译.tmp_vmlinux1,这个应该是编译zImage的中间文件吧,不知道为什么会是硬浮点,应该都是软浮点的才对。 麻烦大家帮忙指点,万分感谢!!! 2010-07-05 CL2 From mcuos.com在gmail.com Mon Jul 5 15:45:32 2010 From: mcuos.com在gmail.com (Wan ZongShun) Date: Mon, 5 Jul 2010 15:45:32 +0800 Subject: =?UTF-8?B?UmU6IOaxguWKqe+8muWGheaguOa3u+WKoC1sbeWPguaVsOWQjue8luivkemUmeivrw==?= In-Reply-To: <250704358.230120.1278314987662.JavaMail.neverforget_2002@163.com> References: <250704358.230120.1278314987662.JavaMail.neverforget_2002@163.com> Message-ID: 在 2010年7月5日 下午3:29,CL2 写道: > 大家好,我编译内核时在Makefile中添加了一行: > LDFLAGS      += -lm -L/opt/crosstool/gcc-3.4.6-glibc-2.3.6/arm-linux/arm-linux/lib > -lm is to link C library of toolchain, Linux kernel never need to link this. Why do this? > 编译到这步后报错如下: > /opt/crosstool/gcc-3.4.6-glibc-2.3.6/arm-linux/bin/arm-linux-ld -EL -lm -L/opt/crosstool/gcc-3.4.6-glibc-2.3.6/arm-linux/arm-linux/lib -p --no-undefined -X -o .tmp_vmlinux1 -T arch/arm/kernel/vmlinux.lds arch/arm/kernel/head.o arch/arm/kernel/init_task.o  init/built-in.o --start-group  usr/built-in.o  arch/arm/kernel/built-in.o  arch/arm/mm/built-in.o  arch/arm/common/built-in.o  arch/arm/mach-pxa/built-in.o  arch/arm/nwfpe/built-in.o  kernel/built-in.o  mm/built-in.o  fs/built-in.o  ipc/built-in.o  security/built-in.o  crypto/built-in.o  ucos/built-in.o  lib/lib.a  arch/arm/lib/lib.a  lib/built-in.o  arch/arm/lib/built-in.o  drivers/built-in.o  sound/built-in.o  net/built-in.o --end-group > > /opt/crosstool/gcc-3.4.6-glibc-2.3.6/arm-linux/bin/arm-linux-ld: ERROR: usr/built-in.o uses software FP, whereas .tmp_vmlinux1 uses hardware FP > /opt/crosstool/gcc-3.4.6-glibc-2.3.6/arm-linux/bin/arm-linux-ld: failed to merge target specific data of file usr/built-in.o > /opt/crosstool/gcc-3.4.6-glibc-2.3.6/arm-linux/bin/arm-linux-ld: ERROR: arch/arm/kernel/head.o uses software FP, whereas .tmp_vmlinux1 uses hardware FP > ......(几十个) > > 这步编译.tmp_vmlinux1,这个应该是编译zImage的中间文件吧,不知道为什么会是硬浮点,应该都是软浮点的才对。 > 麻烦大家帮忙指点,万分感谢!!! > > > 2010-07-05 > > > > CL2 > _______________________________________________ > Linux 内核开发中文邮件列表 > Linux-kernel在zh-kernel.org > http://zh-kernel.org/mailman/listinfo/linux-kernel > Linux 内核开发中文社区: http://zh-kernel.org -- *linux-arm-kernel mailing list mail addr:linux-arm-kernel在lists.infradead.org you can subscribe by: http://lists.infradead.org/mailman/listinfo/linux-arm-kernel * linux-arm-NUC900 mailing list mail addr:NUC900在googlegroups.com main web: https://groups.google.com/group/NUC900 you can subscribe it by sending me mail: mcuos.com在gmail.com From mcuos.com在gmail.com Mon Jul 5 16:22:52 2010 From: mcuos.com在gmail.com (Wan ZongShun) Date: Mon, 5 Jul 2010 16:22:52 +0800 Subject: =?UTF-8?B?UmU6IFJlOiDmsYLliqnvvJrlhoXmoLjmt7vliqAtbG3lj4LmlbDlkI7nvJbor5HplJk=?= =?UTF-8?B?6K+v?= In-Reply-To: <1428867787.231181.1278316310194.JavaMail.neverforget_2002@163.com> References: <1428867787.231181.1278316310194.JavaMail.neverforget_2002@163.com> Message-ID: 在 2010年7月5日 下午3:51,CL2 写道: > 因为我向内核里添加了个模块,其中用到了数学库函数,如:cos sin I see no point in having such functions in kernel, especially if you can write your own (as you'll likely be the only one using them). > > 2010-07-05 > ________________________________ > CL2 > ________________________________ > 发件人: Wan ZongShun > 发送时间: 2010-07-05 15:45 > 主 题: Re: 求助:内核添加-lm参数后编译错误 > 收件人: CL2 > 抄 送: "linux-kernel在zh-kernel.org" > > > > 在 2010年7月5日 下午3:29,CL2  写道: >> 大家好,我编译内核时在Makefile中添加了一行: >> LDFLAGS      += -lm -L/opt/crosstool/gcc-3.4.6-glibc-2.3.6/arm-linux/arm-linux/lib >> > > -lm is to link C library of toolchain, Linux kernel never need to link this. > Why do this? > >> 编译到这步后报错如下: >> /opt/crosstool/gcc-3.4.6-glibc-2.3.6/arm-linux/bin/arm-linux-ld -EL -lm -L/opt/crosstool/gcc-3.4.6-glibc-2.3.6/arm-linux/arm-linux/lib -p --no-undefined -X -o .tmp_vmlinux1 -T arch/arm/kernel/vmlinux.lds arch/arm/kernel/head.o arch/arm/kernel/init_task.o  init/built-in.o --start-group  usr/built-in.o  arch/arm/kernel/built-in.o  arch/arm/mm/built-in.o  arch/arm/common/built-in.o  arch/arm/mach-pxa/built-in.o  arch/arm/nwfpe/built-in.o  kernel/built-in.o  mm/built-in.o  fs/built-in.o  ipc/built-in.o  security/built-in.o  crypto/built-in.o  ucos/built-in.o  lib/lib.a  arch/arm/lib/lib.a  lib/built-in.o  arch/arm/lib/built-in.o  drivers/built-in.o  sound/built-in.o  net/built-in.o --end-group >> >> /opt/crosstool/gcc-3.4.6-glibc-2.3.6/arm-linux/bin/arm-linux-ld: ERROR: usr/built-in.o uses software FP, whereas .tmp_vmlinux1 uses hardware FP >> /opt/crosstool/gcc-3.4.6-glibc-2.3.6/arm-linux/bin/arm-linux-ld: failed to merge target specific data of file usr/built-in.o >> /opt/crosstool/gcc-3.4.6-glibc-2.3.6/arm-linux/bin/arm-linux-ld: ERROR: arch/arm/kernel/head.o uses software FP, whereas .tmp_vmlinux1 uses hardware FP >> ......(几十个) >> >> 这步编译.tmp_vmlinux1,这个应该是编译zImage的中间文件吧,不知道为什么会是硬浮点,应该都是软浮点的才对。 >> 麻烦大家帮忙指点,万分感谢!!! >> >> >> 2010-07-05 >> >> >> >> CL2 >> _______________________________________________ >> Linux 内核开发中文邮件列表 >> Linux-kernel在zh-kernel.org >> http://zh-kernel.org/mailman/listinfo/linux-kernel >> Linux 内核开发中文社区: http://zh-kernel.org > > > > -- > *linux-arm-kernel mailing list > mail addr:linux-arm-kernel在lists.infradead.org > you can subscribe by: > http://lists.infradead.org/mailman/listinfo/linux-arm-kernel > > * linux-arm-NUC900 mailing list > mail addr:NUC900在googlegroups.com > main web: https://groups.google.com/group/NUC900 > you can subscribe it by sending me mail: > mcuos.com在gmail.com -- *linux-arm-kernel mailing list mail addr:linux-arm-kernel在lists.infradead.org you can subscribe by: http://lists.infradead.org/mailman/listinfo/linux-arm-kernel * linux-arm-NUC900 mailing list mail addr:NUC900在googlegroups.com main web: https://groups.google.com/group/NUC900 you can subscribe it by sending me mail: mcuos.com在gmail.com From hu.taoo在gmail.com Mon Jul 5 18:37:23 2010 From: hu.taoo在gmail.com (hu.taoo在gmail.com) Date: Mon, 5 Jul 2010 18:37:23 +0800 Subject: =?utf-8?B?5YWz5LqOIGhydGltZXIg5aaC5L2V?= =?utf-8?B?6K6+572u5Zyo56Gs5Lu25Lit5pat6YeM6LCD55So5Zue6LCD5Ye95pWw?= In-Reply-To: References: Message-ID: <20100705103645.GA8308@localhost> On Mon, Jul 05, 2010 at 01:07:26PM +0800, 刘思良 wrote: > 目的:以最少的延迟执行一个函数 > > 已知:hrtimer 可以做到纳秒级的定时器,并产生硬件中断。(测试过确实可用) 请教你是怎么测试能确信精确到 1 纳秒?有使用硬件测试吗? > 自己定义的回调函数可能是在 定时器中断的下半部被执行的,也就是tasklet中。(未经测试) > > 提问原因:硬件中断可以保证时间上的高精度。但是软中断只能保证在1HZ内被调度,也就是1ms。 > 满足不了我的工程的时间精度要求。 你需要什么数量级的精度?我觉得 hrtimer 应该可以达到你的要求。 我写了一个 hrtimer 回调函数,每次打印出当前时间,发现精度至 少可以达到 1000 纳秒,printk 花费的时间也在这个数量级。 代码如下: #include #include #include #include #include #include #define TIMER_INTERVAL 100 /* nsecs */ static enum hrtimer_restart timer_callback(struct hrtimer *hrtimer) { ktime_t kt; ktime_t current_kt; ktime_t kt1, kt2; struct timespec ts; current_kt = ktime_get(); kt = ktime_set(0, TIMER_INTERVAL); /* * print current time */ ts = ktime_to_timespec(current_kt); #if 0 kt1 = ktime_get(); printk("current time: %lu seconds, %lu nanoseconds\n", ts.tv_sec, ts.tv_nsec); kt2 = ktime_get(); ts = ktime_to_timespec(kt1); printk("time1: %lu seconds, %lu nanoseconds\n", ts.tv_sec, ts.tv_nsec); ts = ktime_to_timespec(kt2); printk("time2: %lu seconds, %lu nanoseconds\n", ts.tv_sec, ts.tv_nsec); #else printk("current time: %lu seconds, %lu nanoseconds\n", ts.tv_sec, ts.tv_nsec); #endif hrtimer_forward(hrtimer, current_kt, kt); return HRTIMER_RESTART; } static struct hrtimer hrtimer; int hrtimer_test_init(void) { hrtimer_init(&hrtimer, CLOCK_MONOTONIC, HRTIMER_MODE_REL); hrtimer.function = &timer_callback; hrtimer_start(&hrtimer, ktime_set(0, TIMER_INTERVAL), HRTIMER_MODE_REL); return 0; } void hrtimer_test_exit(void) { hrtimer_cancel(&hrtimer); } > > 问题:如何设置才能使自己定义的回调函数直接在硬件中断中被执行,而不是在tasklet中。 > > 注: > 相关函数在 hrtimer.h 中有声明及说明。 > 查了几天没查到。请高手指点。 > _______________________________________________ > Linux 内核开发中文邮件列表 > Linux-kernel在zh-kernel.org > http://zh-kernel.org/mailman/listinfo/linux-kernel > Linux 内核开发中文社区: http://zh-kernel.org From wxjeacen在gmail.com Mon Jul 5 19:47:09 2010 From: wxjeacen在gmail.com (Devil Wang) Date: Mon, 5 Jul 2010 19:47:09 +0800 Subject: =?GB2312?B?ZmVkb3JhIM27yLvV0rK7tb1ldGgw?= Message-ID: *hi all,* * * *我今天早上开机,网络还能用。* *突然firefox hang了,我重启了下net, eth0找不到了。* * * *我的机器是Dell D600, 用了好几年了。* * * *我从win系统进去也看不到有线网卡。* * * *我用脚本modprobe了所有的 net下的.ko,还是不work.* * * *请各位支招。 * -- Thanks & Regards Linux Developer : Devil Wang From k在kaio.me Mon Jul 5 20:35:09 2010 From: k在kaio.me (Caius 'kaio' Chance) Date: Mon, 5 Jul 2010 22:35:09 +1000 Subject: =?UTF-8?B?UmU6IGZlZG9yYSDnqoHnhLbmib7kuI3liLBldGgw?= In-Reply-To: References: Message-ID: 2010/7/5 Devil Wang > *hi all,* > * > * > *我今天早上開機,網絡還能用。* > *突然firefox hang了,我重啟了下net, eth0找不到了。* > * > * > *我的機器是Dell D600, 用了好幾年了。* > * > * > *我從win系統進去也看不到有線網卡。* > * > * > *我用腳本modprobe了所有的 net下的.ko,還是不work.* > * > * > *請各位支招。 > * > 試試用前一版本內核啟動。 -- Caius 'kaio' Chance / かいお From zhangsw在gwbnsh.net.cn Tue Jul 6 08:52:26 2010 From: zhangsw在gwbnsh.net.cn (=?UTF-8?B?5byg57uN5paH?=) Date: Tue, 6 Jul 2010 08:52:26 +0800 Subject: =?UTF-8?B?UmU6IGZlZG9yYSDnqoHnhLbmib7kuI3liLBldGgw?= In-Reply-To: References: Message-ID: dmesg | grep -i eth 有什么输出啊? 在 2010年7月5日 下午8:35,Caius 'kaio' Chance 写道: > 2010/7/5 Devil Wang > >> *hi all,* >> * >> * >> *我今天早上開機,網絡還能用。* >> *突然firefox hang了,我重啟了下net, eth0找不到了。* >> * >> * >> *我的機器是Dell D600, 用了好幾年了。* >> * >> * >> *我從win系統進去也看不到有線網卡。* >> * >> * >> *我用腳本modprobe了所有的 net下的.ko,還是不work.* >> * >> * >> *請各位支招。 >> * >> > > 試試用前一版本內核啟動。 > -- > Caius 'kaio' Chance / かいお > _______________________________________________ > Linux 内核开发中文邮件列表 > Linux-kernel在zh-kernel.org > http://zh-kernel.org/mailman/listinfo/linux-kernel > Linux 内核开发中文社区: http://zh-kernel.org -- 张绍文 gongfan193在gmail.com zhangsw在gwbnsh.net.cn 18601633785 From lantianyu1986在gmail.com Tue Jul 6 09:28:12 2010 From: lantianyu1986在gmail.com (=?GB2312?B?wLbM7NPu?=) Date: Tue, 6 Jul 2010 09:28:12 +0800 Subject: =?GB2312?B?UmU6IGZlZG9yYSDNu8i71dKyu7W9ZXRoMA==?= In-Reply-To: References: Message-ID: �������� pci��� �γ�� � 2010�7�6� ��8:52����� д��� > dmesg | grep -i eth �ʲô���� > > � 2010�7�5� ��8:35��Caius 'kaio' Chance д��� > > 2010/7/5 Devil Wang > > > >> *hi all,* > >> * > >> * > >> *�����C���W�j߀����* > >> *ͻȻfirefox hang���������net, eth0��������* > >> * > >> * > >> *��ęC��Dell D600, ���Î����* > >> * > >> * > >> *���inϵ�y�ȥҲ����������W����* > >> * > >> * > >> *�����modprobe�����net���ko,߀���work.* > >> * > >> * > >> *Ո������ > >> * > >> > > > > ԇԇ�ǰһ�汾�Ⱥˆ��ӡ� > > -- > > Caius 'kaio' Chance / ������ > > _______________________________________________ > > Linux ��˿����������� > Linux-kernel在zh-kernel.org > > http://zh-kernel.org/mailman/listinfo/linux-kernel > > Linux ��˿��������� http://zh-kernel.org > > > > -- > ��� > gongfan193在gmail.com > zhangsw在gwbnsh.net.cn > 18601633785 > _______________________________________________ > Linux ��˿����������� Linux-kernel在zh-kernel.org > http://zh-kernel.org/mailman/listinfo/linux-kernel > Linux ��˿��������� http://zh-kernel.org > From cellslab在gmail.com Tue Jul 6 10:26:32 2010 From: cellslab在gmail.com (=?GB2312?B?wfXLvMG8?=) Date: Tue, 6 Jul 2010 10:26:32 +0800 Subject: =?GB2312?B?UmU6ILnY09ogaHJ0aW1lciDI57rOyejWw9Ta07K8/tbQts/A77X3?= =?GB2312?B?08O72LX3uq/K/Q==?= In-Reply-To: <20100705103645.GA8308@localhost> References: <20100705103645.GA8308@localhost> Message-ID: 在 2010年7月5日 下午6:37, 写道: > On Mon, Jul 05, 2010 at 01:07:26PM +0800, 刘思良 wrote: > > 目的:以最少的延迟执行一个函数 > > > > 已知:hrtimer 可以做到纳秒级的定时器,并产生硬件中断。(测试过确实可用) > > 请教你是怎么测试能确信精确到 1 纳秒?有使用硬件测试吗? > > > 自己定义的回调函数可能是在 定时器中断的下半部被执行的,也就是tasklet中。(未经测试) > > > > 提问原因:硬件中断可以保证时间上的高精度。但是软中断只能保证在1HZ内被调度,也就是1ms。 > > 满足不了我的工程的时间精度要求。 > > 你需要什么数量级的精度?我觉得 hrtimer 应该可以达到你的要求。 > 我写了一个 hrtimer 回调函数,每次打印出当前时间,发现精度至 > 少可以达到 1000 纳秒,printk 花费的时间也在这个数量级。 > > 代码如下: > > #include > #include > #include > > #include > #include > #include > > #define TIMER_INTERVAL 100 /* nsecs */ > > static enum hrtimer_restart timer_callback(struct hrtimer *hrtimer) > { > ktime_t kt; > ktime_t current_kt; > ktime_t kt1, kt2; > struct timespec ts; > > current_kt = ktime_get(); > kt = ktime_set(0, TIMER_INTERVAL); > > /* > * print current time > */ > ts = ktime_to_timespec(current_kt); > > #if 0 > kt1 = ktime_get(); > printk("current time: %lu seconds, %lu nanoseconds\n", > ts.tv_sec, ts.tv_nsec); > kt2 = ktime_get(); > > > ts = ktime_to_timespec(kt1); > printk("time1: %lu seconds, %lu nanoseconds\n", > ts.tv_sec, ts.tv_nsec); > ts = ktime_to_timespec(kt2); > printk("time2: %lu seconds, %lu nanoseconds\n", > ts.tv_sec, ts.tv_nsec); > > #else > printk("current time: %lu seconds, %lu nanoseconds\n", > ts.tv_sec, ts.tv_nsec); > #endif > hrtimer_forward(hrtimer, current_kt, kt); > > return HRTIMER_RESTART; > } > > static struct hrtimer hrtimer; > int hrtimer_test_init(void) > { > hrtimer_init(&hrtimer, CLOCK_MONOTONIC, HRTIMER_MODE_REL); > hrtimer.function = &timer_callback; > > hrtimer_start(&hrtimer, ktime_set(0, TIMER_INTERVAL), > HRTIMER_MODE_REL); > > return 0; > } > void hrtimer_test_exit(void) > { > hrtimer_cancel(&hrtimer); > } > > > > > 问题:如何设置才能使自己定义的回调函数直接在硬件中断中被执行,而不是在tasklet中。 > > > > 注: > > 相关函数在 hrtimer.h 中有声明及说明。 > > 查了几天没查到。请高手指点。 > > _______________________________________________ > > Linux 内核开发中文邮件列表 > > Linux-kernel在zh-kernel.org > > http://zh-kernel.org/mailman/listinfo/linux-kernel > > Linux 内核开发中文社区: http://zh-kernel.org > _______________________________________________ > Linux 内核开发中文邮件列表 > Linux-kernel在zh-kernel.org > http://zh-kernel.org/mailman/listinfo/linux-kernel > Linux 内核开发中文社区: http://zh-kernel.org > 问题解决了 hrtimer 精度在1ns这个没有问题 timer_callback 这个函数是在硬件中断里被调用的,我准确测试这个问题,就在回调函数里执行了dev_queue_send函数。 直接导致死机。现在的解决方法是用回调函数开一个task_let,在task_let中执行dev_queue_send发包。 dev_queue_send函数说明中说 dev_queue_send可以在中断中调用。 但是需要先打开中断。应该如何开中断呢,在回调函数里开中断会不会有问题呢? From cellslab在gmail.com Tue Jul 6 10:36:56 2010 From: cellslab在gmail.com (=?GB2312?B?wfXLvMG8?=) Date: Tue, 6 Jul 2010 10:36:56 +0800 Subject: =?GB2312?B?UmU6ILnY09ogaHJ0aW1lciDI57rOyejWw9Ta07K8/tbQts/A77X3?= =?GB2312?B?08O72LX3uq/K/Q==?= In-Reply-To: <20100705103645.GA8308@localhost> References: <20100705103645.GA8308@localhost> Message-ID: 在 2010年7月5日 下午6:37, 写道: > On Mon, Jul 05, 2010 at 01:07:26PM +0800, 刘思良 wrote: > > 目的:以最少的延迟执行一个函数 > > > > 已知:hrtimer 可以做到纳秒级的定时器,并产生硬件中断。(测试过确实可用) > > 请教你是怎么测试能确信精确到 1 纳秒?有使用硬件测试吗? > > > 自己定义的回调函数可能是在 定时器中断的下半部被执行的,也就是tasklet中。(未经测试) > > > > 提问原因:硬件中断可以保证时间上的高精度。但是软中断只能保证在1HZ内被调度,也就是1ms。 > > 满足不了我的工程的时间精度要求。 > > 你需要什么数量级的精度?我觉得 hrtimer 应该可以达到你的要求。 > 我写了一个 hrtimer 回调函数,每次打印出当前时间,发现精度至 > 少可以达到 1000 纳秒,printk 花费的时间也在这个数量级。 > > 代码如下: > > #include > #include > #include > > #include > #include > #include > > #define TIMER_INTERVAL 100 /* nsecs */ > > static enum hrtimer_restart timer_callback(struct hrtimer *hrtimer) > { > ktime_t kt; > ktime_t current_kt; > ktime_t kt1, kt2; > struct timespec ts; > > current_kt = ktime_get(); > kt = ktime_set(0, TIMER_INTERVAL); > > /* > * print current time > */ > ts = ktime_to_timespec(current_kt); > > #if 0 > kt1 = ktime_get(); > printk("current time: %lu seconds, %lu nanoseconds\n", > ts.tv_sec, ts.tv_nsec); > kt2 = ktime_get(); > > > ts = ktime_to_timespec(kt1); > printk("time1: %lu seconds, %lu nanoseconds\n", > ts.tv_sec, ts.tv_nsec); > ts = ktime_to_timespec(kt2); > printk("time2: %lu seconds, %lu nanoseconds\n", > ts.tv_sec, ts.tv_nsec); > > #else > printk("current time: %lu seconds, %lu nanoseconds\n", > ts.tv_sec, ts.tv_nsec); > #endif > hrtimer_forward(hrtimer, current_kt, kt); > > return HRTIMER_RESTART; > } > > static struct hrtimer hrtimer; > int hrtimer_test_init(void) > { > hrtimer_init(&hrtimer, CLOCK_MONOTONIC, HRTIMER_MODE_REL); > hrtimer.function = &timer_callback; > > hrtimer_start(&hrtimer, ktime_set(0, TIMER_INTERVAL), > HRTIMER_MODE_REL); > > return 0; > } > void hrtimer_test_exit(void) > { > hrtimer_cancel(&hrtimer); > } > > > > > 问题:如何设置才能使自己定义的回调函数直接在硬件中断中被执行,而不是在tasklet中。 > > > > 注: > > 相关函数在 hrtimer.h 中有声明及说明。 > > 查了几天没查到。请高手指点。 > > _______________________________________________ > > Linux 内核开发中文邮件列表 > > Linux-kernel在zh-kernel.org > > http://zh-kernel.org/mailman/listinfo/linux-kernel > > Linux 内核开发中文社区: http://zh-kernel.org > _______________________________________________ > Linux 内核开发中文邮件列表 > Linux-kernel在zh-kernel.org > http://zh-kernel.org/mailman/listinfo/linux-kernel > Linux 内核开发中文社区: http://zh-kernel.org 关于我自己测试的纳秒级定时器的方法 首先,回调函数不能有太多操作,不能调用printk, 因为这个中断函数是不会被重入的,(task_let也不会被重入)。 然后 在回调函数内部用一个静态变量作计数,if(i % 1000 == 0) printk("打印时间"); 这样能粗略测出精度。 From qzhang.g在gmail.com Tue Jul 6 10:58:01 2010 From: qzhang.g在gmail.com (Alvin) Date: Tue, 6 Jul 2010 10:58:01 +0800 Subject: =?UTF-8?B?UmU6IGZlZG9yYSDnqoHnhLbmib7kuI3liLBldGgw?= In-Reply-To: References: Message-ID: lspci ? NB怎么拔网卡 2010/7/6 蓝天宇 > 网卡坏了? pci网卡 拔出下。 > -- ~Alvin From parson.cheng在cybertan.com.tw Tue Jul 6 11:05:51 2010 From: parson.cheng在cybertan.com.tw (parson.cheng在cybertan.com.tw) Date: Tue, 6 Jul 2010 11:05:51 +0800 Subject: =?gb2312?B?ZmVkb3JhIM27yLvV0rK7tb1ldGgw?= Message-ID: <5D262E80A3F72048BB3FBC976D724D91083C3F1C@CTMAIL03.cybertan.com.tw> 我原来也碰到过,不过是XP下,也没有找到真正原因,驱动卸载,把网卡拔下来重插,折腾了一番就好了! Best Regards, Parson Parson.cheng在cybertan.com.tw ==================================================================== This e-mail transmission originated at CyberTAN Technology, Inc., and may contain privileged or confidential information that is the property of CyberTAN and protected by law from disclosure.If you are not an intended recipient of this transmission and you received it in error, please inform the sender by reply e-mail and destroy this and all other copies of this transmission to which you have access. Thank you. From lantianyu1986在gmail.com Tue Jul 6 11:22:23 2010 From: lantianyu1986在gmail.com (=?GB2312?B?wLbM7NPu?=) Date: Tue, 6 Jul 2010 11:22:23 +0800 Subject: =?GB2312?B?UmU6IGZlZG9yYSDNu8i71dKyu7W9ZXRoMA==?= In-Reply-To: References: Message-ID: pci槽位网卡为什么不能拨叉,这个不和显卡一样,集成的当然不行 在 2010年7月6日 上午10:58,Alvin 写道: > lspci ? > NB怎么拔网卡 > > 2010/7/6 蓝天宇 > > > 网卡坏了? pci网卡 拔出下。 > > > -- > > ~Alvin > _______________________________________________ > Linux 内核开发中文邮件列表 > Linux-kernel在zh-kernel.org > http://zh-kernel.org/mailman/listinfo/linux-kernel > Linux 内核开发中文社区: http://zh-kernel.org > From szk在wch.cn Tue Jul 6 11:25:13 2010 From: szk在wch.cn (szk) Date: Tue, 6 Jul 2010 11:25:13 +0800 Subject: =?gb2312?B?ZmVkb3JhIM27yLvV0rK7tb1ldGgw?= Message-ID: <003b01cb1cba$d8cd7770$0201a8c0@3171f7a96b7f461> 首先确定硬件是否损坏/接触是否良好 方法如下: 1-看看用的是什么网络芯片 2-#lspci -v 3-如果使用的网络芯片的VID和PID和lspci -v找到的一样,说明硬件没有问题,如果不一样拔下设备用橡皮擦金手指后再插入PCI Best Regards! --------------------------------------------------------------------------------------------------- Tech Support Nanjing Qinheng Electronics Co., Ltd. Tel: +86-25-52638363 Fax: +86-25-84730778 Mail: tech在wch.cn szk在wch.cn Web: http://www.wch.cn ---------------------------------------------------------------------------------------------------- From qzhang.g在gmail.com Tue Jul 6 11:26:37 2010 From: qzhang.g在gmail.com (Alvin) Date: Tue, 6 Jul 2010 11:26:37 +0800 Subject: =?UTF-8?B?UmU6IGZlZG9yYSDnqoHnhLbmib7kuI3liLBldGgw?= In-Reply-To: References: Message-ID: 无线的是pci的,但lz说的是有线无用,我不清楚是不是pci了 2010/7/6 蓝天宇 > pci槽位网卡为什么不能拨叉,这个不和显卡一样,集成的当然不行 > > 在 2010年7月6日 上午10:58,Alvin 写道: > >> lspci ? >> NB怎么拔网卡 >> >> 2010/7/6 蓝天宇 >> >> > 网卡坏了? pci网卡 拔出下。 >> > >> -- >> >> ~Alvin >> _______________________________________________ >> Linux 内核开发中文邮件列表 >> Linux-kernel在zh-kernel.org >> http://zh-kernel.org/mailman/listinfo/linux-kernel >> Linux 内核开发中文社区: http://zh-kernel.org >> > > -- ~Alvin From zhourenren在gmail.com Tue Jul 6 12:57:16 2010 From: zhourenren在gmail.com (zhou) Date: Tue, 6 Jul 2010 12:57:16 +0800 Subject: =?UTF-8?B?UmU6IOWFs+S6jiBocnRpbWVyIOWmguS9leiuvue9ruWcqOehrOS7tuS4reaWremHjOiwgw==?= =?UTF-8?B?55So5Zue6LCD5Ye95pWw?= In-Reply-To: References: <20100705103645.GA8308@localhost> Message-ID: 在 2010年7月6日 上午10:36,刘思良 写道: > 关于我自己测试的纳秒级定时器的方法 > > 首先,回调函数不能有太多操作,不能调用printk, > 因为这个中断函数是不会被重入的,(task_let也不会被重入)。 > > 然后 在回调函数内部用一个静态变量作计数,if(i % 1000 == 0) printk("打印时间"); > 这样能粗略测出精度。 printk花的时间我这么计算的。假如串口波特率是115200,那么printk打印1个8位字符花的时间大约是8/115200秒,就是69us。不过我印象中好像没这么大 加在ns的计算里,即使1000次打印一次,也差的很远了吧。执行code也要时间 From wxjeacen在gmail.com Tue Jul 6 13:20:00 2010 From: wxjeacen在gmail.com (Devil Wang) Date: Tue, 6 Jul 2010 13:20:00 +0800 Subject: =?GB2312?B?UmU6IGZlZG9yYSDNu8i71dKyu7W9ZXRoMA==?= In-Reply-To: <003b01cb1cba$d8cd7770$0201a8c0@3171f7a96b7f461> References: <003b01cb1cba$d8cd7770$0201a8c0@3171f7a96b7f461> Message-ID: *ok, I will have try.* *Thanks for your support. * 2010/7/6 szk > 首先确定硬件是否损坏/接触是否良好 > 方法如下: > 1-看看用的是什么网络芯片 > 2-#lspci -v > 3-如果使用的网络芯片的VID和PID和lspci -v找到的一样,说明硬件没有问题,如果不一样拔下设备用橡皮擦金手指后再插入PCI > Best Regards! > > --------------------------------------------------------------------------------------------------- > Tech Support > Nanjing Qinheng Electronics Co., Ltd. > Tel: +86-25-52638363 > Fax: +86-25-84730778 > Mail: tech在wch.cn > szk在wch.cn > Web: http://www.wch.cn > ---------------------------------------------------------------------------------------------------- > > -- Thanks & Regards Linux Developer : Devil Wang From qinsibo在sina.com Tue Jul 6 14:15:05 2010 From: qinsibo在sina.com (qinsibo) Date: Tue, 6 Jul 2010 14:15:05 +0800 Subject: =?utf-8?B?UmU6IFJlOiDlhbPkuo4gaHJ0aW1lciDlpoLkvZXorr7nva7lnKjnoazku7bkuK3mlq3ph4zosIPnlKjlm57osIPlh73mlbA=?= References: , <20100705103645.GA8308@localhost>, Message-ID: <201007061415045157526@sina.com> > 关于我自己测试的纳秒级定时器的方法 > > 首先,回调函数不能有太多操作,不能调用printk, > 因为这个中断函数是不会被重入的,(task_let也不会被重入)。 > > 然后 在回调函数内部用一个静态变量作计数,if(i % 1000 == 0) printk("打印时间"); > 这样能粗略测出精度。 > printk花的时间我这么计算的。假如串口波特率是115200,那么printk打印1个8位字符花的时> 间大约是8/115200秒,就是69us。不过我印象中好像没这么大 > 加在ns的计算里,即使1000次打印一次,也差的很远了吧。执行code也要时间 额,printk貌似只是把你要打印的字符串压入缓冲区,然后由内核的相关机制将缓冲区的内容输出到串口(这个已经在中断之外了),这个函数判决和解析过程比较复杂,很耗时间。以前在S3C2410(主频200M左右)上测试了一下,用高低电平来判断printk对程序的延时效果,好像是百us 这个级别(内核态,但不在中断中)。 From kermit.mei在gmail.com Tue Jul 6 21:12:14 2010 From: kermit.mei在gmail.com (Kermit Mei) Date: Tue, 06 Jul 2010 21:12:14 +0800 Subject: =?UTF-8?Q?=E8=AF=B7=E6=95=99=EF=BC=9Ausb?= hub no response =?UTF-8?Q?=E7=9A=84=E9=97=AE=E9=A2=98?= Message-ID: <1278421934.14986.26.camel@kermit-laptop> Dear all, 我遇到了一个奇怪的问题。在使用USB Hub时,USB Hub使用一段时间(1.5~3小 时)后就会挂掉,打印出log: hub no response, reconnect it!!!\n 附件是芯片厂商所提供的hub.c代码中打印出此log的函数。 出现此问题后,在不关机不重启系统的情况下,硬件重新reset usb hub也不 能解决此问题。 目前使用的内核版本是2.6.19。 我正在尝试换新内核中此文件进去测试,但是估计问题不这里。 因为同样的 软件环境(内核和应用软件),在另一块硬件开发板上(不同型号和规格的硬件)就没 有这个问题。 请大家帮我提出一些测试并解决此问题的思路。 Thanks B.R Kermit From adam8157在gmail.com Tue Jul 6 21:52:25 2010 From: adam8157在gmail.com (Adam Lee) Date: Tue, 6 Jul 2010 21:52:25 +0800 Subject: =?utf-8?B?6K+35pWZ77yadXNiIGh1YiBubyBy?= =?utf-8?B?ZXNwb25zZSDnmoTpl67popg=?= In-Reply-To: <1278421934.14986.26.camel@kermit-laptop> References: <1278421934.14986.26.camel@kermit-laptop> Message-ID: <20100706135225.GA1871@debian> On Tue, Jul 06, 2010 at 09:12:14PM +0800, Kermit Mei wrote: > 我遇到了一个奇怪的问题。在使用USB Hub时,USB Hub使用一段时间(1.5~3小 > 时)后就会挂掉,打印出log: > hub no response, reconnect it!!!\n > 我前些天就遇到了usb使用一段时间drop的问题, 最后硬件那边换了个电容得以解决. -- Regards, Adam Lee -------------------------------------------------- E-mail: adam8157在gmail.com Website: http://www.adam8157.info -------------------------------------------------- From kermit.mei在gmail.com Wed Jul 7 09:45:35 2010 From: kermit.mei在gmail.com (Kermit Mei) Date: Wed, 07 Jul 2010 09:45:35 +0800 Subject: =?UTF-8?Q?=E8=AF=B7=E6=95=99=EF=BC=9Ausb?= hub no response =?UTF-8?Q?=E7=9A=84=E9=97=AE=E9=A2=98?= In-Reply-To: <20100706135225.GA1871@debian> References: <1278421934.14986.26.camel@kermit-laptop> <20100706135225.GA1871@debian> Message-ID: <1278467135.2014.3.camel@kermit-laptop> On Tue, 2010-07-06 at 21:52 +0800, Adam Lee wrote: > On Tue, Jul 06, 2010 at 09:12:14PM +0800, Kermit Mei wrote: > > 我遇到了一个奇怪的问题。在使用USB Hub时,USB Hub使用一段时间(1.5~3小 > > 时)后就会挂掉,打印出log: > > hub no response, reconnect it!!!\n > > > > 我前些天就遇到了usb使用一段时间drop的问题, > 最后硬件那边换了个电容得以解决. 请问,是USB drop了还是USB Hub drop了? 我们直接走飞线,跳过U旱在板子上的SB Hub,普通的USB设备(U盘和WiFi)是可 以正常使用的。但是,再此使用一个外接USBHub插入这个口,还是会Drop. From adam8157在gmail.com Wed Jul 7 10:02:17 2010 From: adam8157在gmail.com (Adam Lee) Date: Wed, 7 Jul 2010 10:02:17 +0800 Subject: =?UTF-8?B?UmU6IOivt+aVme+8mnVzYiBodWIgbm8gcmVzcG9uc2Ug55qE6Zeu6aKY?= In-Reply-To: <1278467135.2014.3.camel@kermit-laptop> References: <1278421934.14986.26.camel@kermit-laptop> <20100706135225.GA1871@debian> <1278467135.2014.3.camel@kermit-laptop> Message-ID: 2010/7/7 Kermit Mei : > 请问,是USB drop了还是USB Hub drop了? > 我们直接走飞线,跳过U旱在板子上的SB Hub,普通的USB设备(U盘和WiFi)是可 > 以正常使用的。但是,再此使用一个外接USBHub插入这个口,还是会Drop. > > 我们那个板子只有两个USB口, 是USB Drop, 有点不同, 但你这个描述真的很像硬件问题... -- Regards, Adam Lee -------------------------------------------------- E-mail: adam8157在gmail.com Website: http://www.adam8157.info -------------------------------------------------- From kermit.mei在gmail.com Wed Jul 7 10:06:54 2010 From: kermit.mei在gmail.com (Kermit Mei) Date: Wed, 07 Jul 2010 10:06:54 +0800 Subject: =?UTF-8?Q?=E8=AF=B7=E6=95=99=EF=BC=9Ausb?= hub no response =?UTF-8?Q?=E7=9A=84=E9=97=AE=E9=A2=98?= In-Reply-To: References: <1278421934.14986.26.camel@kermit-laptop> <20100706135225.GA1871@debian> <1278467135.2014.3.camel@kermit-laptop> Message-ID: <1278468414.2574.2.camel@kermit-laptop> On Wed, 2010-07-07 at 10:02 +0800, Adam Lee wrote: > 我们那个板子只有两个USB口, 是USB Drop, 有点不同, 但你这个描述真的很像 > 硬件问题... 恩,确实应该定位到硬件的问题,因为同样的软件环境(内核+应用)放到另外 一个同样架构但是不同Layout的开发板上就能跑。 但是现在硬件那边找不到问题,我们希望找到软件的方法规避。最直接的想法 是把那个CPU里的Host Hub重启,目前还在探索中…… Thanks B.R Kermit From jiuxian_chu在foxmail.com Wed Jul 7 11:08:07 2010 From: jiuxian_chu在foxmail.com (=?gbk?B?uLvC+szD?=) Date: Wed, 7 Jul 2010 11:08:07 +0800 Subject: =?gbk?B?udjT2mxpYnVzYl9jbGFpbV9pbnRlcmZhY2W1xM7K?= =?gbk?B?zOI=?= Message-ID: hi,大家好 最近用到libusb,想进行bulk传输,之前进行设备打开是可以的。 但是后来在调用ret = libusb_claim_interface(serial->udevh, serial->interface_num)时候总是报错,信息是 libusb:debug [libusb_claim_interface] interface 0.这只是个debug级别信息, 如果跳过libusb_claim_interface。 直接libusb_bulk_transfer(serial->udevh, serial->eptx,serial->txbuf + done, bytes - done,&transferred, TIMEOUT); 也会出错 libusb:error [submit_bulk_transfer] submiturb failed error -1 errno=2 libusb:debug [submit_bulk_transfer] first URB failed, easy peasy。。 这个是我参考别人的程序写的,请问libusb_claim_interface的作用是什么,注释上说了一些,但是在原理上还不是很明白。 From neverforget_2002在163.com Wed Jul 7 11:12:13 2010 From: neverforget_2002在163.com (CL2) Date: Wed, 7 Jul 2010 11:12:13 +0800 Subject: =?UTF-8?B?5a+75om+56ys5LiJ5pa56L2v5rWu54K55bqT?= Message-ID: <120317197.277600.1278472328736.JavaMail.neverforget_2002@163.com> 大家好,小弟想找个第三方软浮点库,其中包含软浮点运算,并且需要不链接glibc的,有用过类似的请大家推荐。目前找到了个叫softfloat的lib,只是其中数学函数不全。 2010-07-07 CL2 From shiwh在cn.fujitsu.com Wed Jul 7 14:40:33 2010 From: shiwh在cn.fujitsu.com (Shi, Weihua) Date: Wed, 07 Jul 2010 14:40:33 +0800 Subject: =?UTF-8?B?5oub6IGYTGludXjlhoXmoLjlvIDlj5HkurrlkZg=?= Message-ID: <4C342161.3030909@cn.fujitsu.com> 您好, 某财富500强企业招聘Linux内核开发人员。 希望您满足以下条件: 1、愿意执着于Linux技术,有兴趣为Linux的发展尽一份心力。 2、Linux内核的工作经验或者研究经验。 3、熟练使用C/Shell,熟悉OS结构和基本算法 4、最好有在LKML等社区提交Patch或参与讨论的经验,了解Linux社区的工作模式。 5、良好英语交流能力。 6、愿意在南京工作。 作为公司的Linux开发团队,我们从2003年开始介入Linux内核技术,至今为止提交的 内核Patch达到1000多件,这个数量在中国可能是首屈一指的。 同时我们参与各类国际性Linux技术论坛,如LinuxCon、Kernel Summit、NetConf、 Xen Summit等,并进行了多次技术讲演;也参加国内的开源技术论坛,如Aka论 坛、LFS等。 借由参加技术会议的机会,也多次与Linus Torvalds、Andrew Morton、Herbert Xu 等顶尖级牛人当面进行技术交流。 目前团队拥有3名Linux开源社区维护者,数十名Linux技术人员,开放的技术交流 环境, 明确的晋升路线和可观的薪资收入。 目前专注的领域包括,cgroup、btrfs、ftrace、KVM、Xen、network、driver等。 欢迎给我发送简历(shiwh在cn.fujitsu.com),您也可以通过Mail垂询任何问题。 From miles.kuo在gmail.com Wed Jul 7 14:58:07 2010 From: miles.kuo在gmail.com (miles kuo) Date: Wed, 7 Jul 2010 14:58:07 +0800 Subject: =?GB2312?B?UmU6INXQxrhMaW51eMTausu/qreiyMvUsQ==?= In-Reply-To: <4C342161.3030909@cn.fujitsu.com> References: <4C342161.3030909@cn.fujitsu.com> Message-ID: 工作地点在哪里 在 2010年7月7日 下午2:40,Shi, Weihua 写道: > 您好, > > 某财富500强企业招聘Linux内核开发人员。 > > 希望您满足以下条件: > 1、愿意执着于Linux技术,有兴趣为Linux的发展尽一份心力。 > 2、Linux内核的工作经验或者研究经验。 > 3、熟练使用C/Shell,熟悉OS结构和基本算法 > 4、最好有在LKML等社区提交Patch或参与讨论的经验,了解Linux社区的工作模式。 > 5、良好英语交流能力。 > 6、愿意在南京工作。 > > 作为公司的Linux开发团队,我们从2003年开始介入Linux内核技术,至今为止提交的 > 内核Patch达到1000多件,这个数量在中国可能是首屈一指的。 > 同时我们参与各类国际性Linux技术论坛,如LinuxCon、Kernel Summit、NetConf、 > Xen Summit等,并进行了多次技术讲演;也参加国内的开源技术论坛,如Aka论 坛、LFS等。 > 借由参加技术会议的机会,也多次与Linus Torvalds、Andrew Morton、Herbert Xu > 等顶尖级牛人当面进行技术交流。 > 目前团队拥有3名Linux开源社区维护者,数十名Linux技术人员,开放的技术交流 环境, > 明确的晋升路线和可观的薪资收入。 > 目前专注的领域包括,cgroup、btrfs、ftrace、KVM、Xen、network、driver等。 > > 欢迎给我发送简历(shiwh在cn.fujitsu.com),您也可以通过Mail垂询任何问题。 > > _______________________________________________ > Linux 内核开发中文邮件列表 > Linux-kernel在zh-kernel.org > http://zh-kernel.org/mailman/listinfo/linux-kernel > Linux 内核开发中文社区: http://zh-kernel.org From hu.taoo在gmail.com Wed Jul 7 15:14:41 2010 From: hu.taoo在gmail.com (hu.taoo在gmail.com) Date: Wed, 7 Jul 2010 15:14:41 +0800 Subject: =?utf-8?B?5oub6IGYTGludXjlhoXmoLjlvIA=?= =?utf-8?B?5Y+R5Lq65ZGY?= In-Reply-To: References: <4C342161.3030909@cn.fujitsu.com> Message-ID: <20100707071419.GB8308@localhost> On Wed, Jul 07, 2010 at 02:58:07PM +0800, miles kuo wrote: > 工作地点在哪里 > > 在 2010年7月7日 下午2:40,Shi, Weihua 写道: > > 您好, > > > > 某财富500强企业招聘Linux内核开发人员。 > > > > 希望您满足以下条件: > > 1、愿意执着于Linux技术,有兴趣为Linux的发展尽一份心力。 > > 2、Linux内核的工作经验或者研究经验。 > > 3、熟练使用C/Shell,熟悉OS结构和基本算法 > > 4、最好有在LKML等社区提交Patch或参与讨论的经验,了解Linux社区的工作模式。 > > 5、良好英语交流能力。 > > 6、愿意在南京工作。 ~~~~~~~~~~~~~^^^ > > > > 作为公司的Linux开发团队,我们从2003年开始介入Linux内核技术,至今为止提交的 > > 内核Patch达到1000多件,这个数量在中国可能是首屈一指的。 > > 同时我们参与各类国际性Linux技术论坛,如LinuxCon、Kernel Summit、NetConf、 > > Xen Summit等,并进行了多次技术讲演;也参加国内的开源技术论坛,如Aka论 坛、LFS等。 > > 借由参加技术会议的机会,也多次与Linus Torvalds、Andrew Morton、Herbert Xu > > 等顶尖级牛人当面进行技术交流。 > > 目前团队拥有3名Linux开源社区维护者,数十名Linux技术人员,开放的技术交流 环境, > > 明确的晋升路线和可观的薪资收入。 > > 目前专注的领域包括,cgroup、btrfs、ftrace、KVM、Xen、network、driver等。 > > > > 欢迎给我发送简历(shiwh在cn.fujitsu.com),您也可以通过Mail垂询任何问题。 > > > > _______________________________________________ > > Linux 内核开发中文邮件列表 > > Linux-kernel在zh-kernel.org > > http://zh-kernel.org/mailman/listinfo/linux-kernel > > Linux 内核开发中文社区: http://zh-kernel.org > _______________________________________________ > Linux 内核开发中文邮件列表 > Linux-kernel在zh-kernel.org > http://zh-kernel.org/mailman/listinfo/linux-kernel > Linux 内核开发中文社区: http://zh-kernel.org From shijie8在gmail.com Wed Jul 7 15:19:22 2010 From: shijie8在gmail.com (Huang Shijie) Date: Wed, 07 Jul 2010 15:19:22 +0800 Subject: =?UTF-8?B?5oub6IGYTGludXjlhoXmoLjlvIDlj5HkurrlkZg=?= In-Reply-To: <4C342161.3030909@cn.fujitsu.com> References: <4C342161.3030909@cn.fujitsu.com> Message-ID: <4C342A7A.8020800@gmail.com> 于 2010年07月07日 14:40, Shi, Weihua 写道: 好职位阿。 羡慕阿。 > 您好, > > 某财富500强企业招聘Linux内核开发人员。 > > 希望您满足以下条件: > 1、愿意执着于Linux技术,有兴趣为Linux的发展尽一份心力。 > 2、Linux内核的工作经验或者研究经验。 > 3、熟练使用C/Shell,熟悉OS结构和基本算法 > 4、最好有在LKML等社区提交Patch或参与讨论的经验,了解Linux社区的工作模式。 > 5、良好英语交流能力。 > 6、愿意在南京工作。 > > 作为公司的Linux开发团队,我们从2003年开始介入Linux内核技术,至今为止提 > 交的 > 内核Patch达到1000多件,这个数量在中国可能是首屈一指的。 > 同时我们参与各类国际性Linux技术论坛,如LinuxCon、Kernel Summit、NetConf、 > Xen Summit等,并进行了多次技术讲演;也参加国内的开源技术论坛,如Aka论 > 坛、LFS等。 > 借由参加技术会议的机会,也多次与Linus Torvalds、Andrew Morton、Herbert Xu > 等顶尖级牛人当面进行技术交流。 > 目前团队拥有3名Linux开源社区维护者,数十名Linux技术人员,开放的技术交 > 流 环境, > 明确的晋升路线和可观的薪资收入。 > 目前专注的领域包括,cgroup、btrfs、ftrace、KVM、Xen、network、driver等。 > > 欢迎给我发送简历(shiwh在cn.fujitsu.com),您也可以通过Mail垂询任何问题。 > > _______________________________________________ > Linux 内核开发中文邮件列表 > Linux-kernel在zh-kernel.org > http://zh-kernel.org/mailman/listinfo/linux-kernel > Linux 内核开发中文社区: http://zh-kernel.org From shaobei.guo在gmail.com Wed Jul 7 15:23:45 2010 From: shaobei.guo在gmail.com (Shaobei Guo) Date: Wed, 7 Jul 2010 15:23:45 +0800 Subject: =?GB2312?B?UmU6ILnY09ogaHJ0aW1lciDI57rOyejWw9Ta07K8/tbQts/A77X3?= =?GB2312?B?08O72LX3uq/K/Q==?= In-Reply-To: References: Message-ID: 2010/7/5 刘思良 > 目的:以最少的延迟执行一个函数 > > 提问原因:硬件中断可以保证时间上的高精度。但是软中断只能保证在1HZ内被调度,也就是1ms。 > 满足不了我的工程的时间精度要求。 > > > 为什么软中断只能保证在1HZ内被调度? 我不理解。 软中断是在中断上下文执行的,跟1Hz有啥关系呢? -- Thanks, Shaobei From cellslab在gmail.com Wed Jul 7 15:39:26 2010 From: cellslab在gmail.com (=?GB2312?B?wfXLvMG8?=) Date: Wed, 7 Jul 2010 15:39:26 +0800 Subject: =?GB2312?B?UmU6ILnY09ogaHJ0aW1lciDI57rOyejWw9Ta07K8/tbQts/A77X3?= =?GB2312?B?08O72LX3uq/K/Q==?= In-Reply-To: References: Message-ID: 串口速度不行 From lantianyu1986在gmail.com Wed Jul 7 16:01:49 2010 From: lantianyu1986在gmail.com (=?GB2312?B?wLbM7NPu?=) Date: Wed, 7 Jul 2010 16:01:49 +0800 Subject: =?GB2312?B?UmU6ILnY09ogaHJ0aW1lciDI57rOyejWw9Ta07K8/tbQts/A77X3?= =?GB2312?B?08O72LX3uq/K/Q==?= In-Reply-To: References: Message-ID: 为什么软中断只能保证在1HZ内被调度? 我不理解。 软中断是在中断上下文执行的,跟1Hz有啥关系呢? 那是因为只有时钟中断(更新jiffies的)才是周期性产生的,而且不依赖其他设备, 一般在硬中断退出之后就会去执行软件中软。其他硬中断可能依赖设备,而且也不一定是周期性的产生。 From shaobei.guo在gmail.com Wed Jul 7 16:38:18 2010 From: shaobei.guo在gmail.com (Shaobei Guo) Date: Wed, 7 Jul 2010 16:38:18 +0800 Subject: =?GB2312?B?UmU6ILnY09ogaHJ0aW1lciDI57rOyejWw9Ta07K8/tbQts/A77X3?= =?GB2312?B?08O72LX3uq/K/Q==?= In-Reply-To: References: Message-ID: 2010/7/7 蓝天宇 > > 为什么软中断只能保证在1HZ内被调度? > 我不理解。 > > 软中断是在中断上下文执行的,跟1Hz有啥关系呢? > > 那是因为只有时钟中断(更新jiffies的)才是周期性产生的,而且不依赖其他设备, > 一般在硬中断退出之后就会去执行软件中软。其他硬中断可能依赖设备,而且也不一定是周期性的产生。 > 那么可以使用RTC(如果有的话)来产生纳秒级/微秒级的中断来测试hrtimer -- Thanks, Shaobei From taoma.tm在gmail.com Wed Jul 7 16:39:02 2010 From: taoma.tm在gmail.com (Tao Ma) Date: Wed, 7 Jul 2010 16:39:02 +0800 Subject: =?GB2312?B?UmU6INXQxrhMaW51eMTausu/qreiyMvUsQ==?= In-Reply-To: <4C342161.3030909@cn.fujitsu.com> References: <4C342161.3030909@cn.fujitsu.com> Message-ID: 顶一个!好地方! 不得不说,在中国目前linux内核开发者中,富士通的算是最多的了 2010/7/7 Shi, Weihua : > 您好, > > 某财富500强企业招聘Linux内核开发人员。 > > 希望您满足以下条件: > 1、愿意执着于Linux技术,有兴趣为Linux的发展尽一份心力。 > 2、Linux内核的工作经验或者研究经验。 > 3、熟练使用C/Shell,熟悉OS结构和基本算法 > 4、最好有在LKML等社区提交Patch或参与讨论的经验,了解Linux社区的工作模式。 > 5、良好英语交流能力。 > 6、愿意在南京工作。 > > 作为公司的Linux开发团队,我们从2003年开始介入Linux内核技术,至今为止提交的 > 内核Patch达到1000多件,这个数量在中国可能是首屈一指的。 > 同时我们参与各类国际性Linux技术论坛,如LinuxCon、Kernel Summit、NetConf、 > Xen Summit等,并进行了多次技术讲演;也参加国内的开源技术论坛,如Aka论 坛、LFS等。 > 借由参加技术会议的机会,也多次与Linus Torvalds、Andrew Morton、Herbert Xu > 等顶尖级牛人当面进行技术交流。 > 目前团队拥有3名Linux开源社区维护者,数十名Linux技术人员,开放的技术交流 环境, > 明确的晋升路线和可观的薪资收入。 > 目前专注的领域包括,cgroup、btrfs、ftrace、KVM、Xen、network、driver等。 > > 欢迎给我发送简历(shiwh在cn.fujitsu.com),您也可以通过Mail垂询任何问题。 > > _______________________________________________ > Linux 内核开发中文邮件列表 > Linux-kernel在zh-kernel.org > http://zh-kernel.org/mailman/listinfo/linux-kernel > Linux 内核开发中文社区: http://zh-kernel.org From shiwh在cn.fujitsu.com Wed Jul 7 16:45:53 2010 From: shiwh在cn.fujitsu.com (Shi, Weihua) Date: Wed, 07 Jul 2010 16:45:53 +0800 Subject: =?UTF-8?B?5oub6IGYTGludXjlhoXmoLjlvIDlj5HkurrlkZg=?= In-Reply-To: References: <4C342161.3030909@cn.fujitsu.com> Message-ID: <4C343EC1.9090404@cn.fujitsu.com> at 2010-7-7 16:39, Tao Ma wrote as: > 顶一个!好地方! > 不得不说,在中国目前linux内核开发者中,富士通的算是最多的了 感谢马老大捧场! > > 2010/7/7 Shi, Weihua: >> 您好, >> >> 某财富500强企业招聘Linux内核开发人员。 >> >> 希望您满足以下条件: >> 1、愿意执着于Linux技术,有兴趣为Linux的发展尽一份心力。 >> 2、Linux内核的工作经验或者研究经验。 >> 3、熟练使用C/Shell,熟悉OS结构和基本算法 >> 4、最好有在LKML等社区提交Patch或参与讨论的经验,了解Linux社区的工作模式。 >> 5、良好英语交流能力。 >> 6、愿意在南京工作。 >> >> 作为公司的Linux开发团队,我们从2003年开始介入Linux内核技术,至今为止提交的 >> 内核Patch达到1000多件,这个数量在中国可能是首屈一指的。 >> 同时我们参与各类国际性Linux技术论坛,如LinuxCon、Kernel Summit、NetConf、 >> Xen Summit等,并进行了多次技术讲演;也参加国内的开源技术论坛,如Aka论 坛、LFS等。 >> 借由参加技术会议的机会,也多次与Linus Torvalds、Andrew Morton、Herbert Xu >> 等顶尖级牛人当面进行技术交流。 >> 目前团队拥有3名Linux开源社区维护者,数十名Linux技术人员,开放的技术交流 环境, >> 明确的晋升路线和可观的薪资收入。 >> 目前专注的领域包括,cgroup、btrfs、ftrace、KVM、Xen、network、driver等。 >> >> 欢迎给我发送简历(shiwh在cn.fujitsu.com),您也可以通过Mail垂询任何问题。 >> >> _______________________________________________ >> Linux 内核开发中文邮件列表 >> Linux-kernel在zh-kernel.org >> http://zh-kernel.org/mailman/listinfo/linux-kernel >> Linux 内核开发中文社区: http://zh-kernel.org -- Shi, Weihua 79955-850 From scofield1025在gmail.com Wed Jul 7 17:55:35 2010 From: scofield1025在gmail.com (scofield1025) Date: Wed, 7 Jul 2010 17:55:35 +0800 Subject: =?gb2312?B?utzT0NDLyKSjrNa7xNzKx8TPvqnC8CCxsb6pv8nS1MLwo7+jv6O/?= Message-ID: <201007071755312507364@gmail.com> 2010-07-07 scofield1025 From shiwh在cn.fujitsu.com Wed Jul 7 18:00:22 2010 From: shiwh在cn.fujitsu.com (Shi, Weihua) Date: Wed, 07 Jul 2010 18:00:22 +0800 Subject: =?UTF-8?B?5b6I5pyJ5YW06Laj77yM5Y+q6IO95piv5Y2X5Lqs5ZCXIOWMl+S6rA==?= =?UTF-8?B?5Y+v5Lul5ZCX77yf77yf77yf?= In-Reply-To: <201007071755312507364@gmail.com> References: <201007071755312507364@gmail.com> Message-ID: <4C345036.6060404@cn.fujitsu.com> 十分抱歉,目前只有南京一处。 at 2010-7-7 17:55, scofield1025 wrote as: > 2010-07-07 > ------------------------------------------------------------------------ > scofield1025 -- Shi, Weihua 79955-850 From necofang在gmail.com Wed Jul 7 19:10:40 2010 From: necofang在gmail.com (Neco.F) Date: Wed, 7 Jul 2010 19:10:40 +0800 Subject: =?UTF-8?B?5YWz5LqOIGNvbm50cmFja+eahOmXrumimA==?= Message-ID: 最近写了一个支持oracle TNS协议的conntrack。在实验室环境中随怎么冲击都不出问题,可在客户那边panic了,panic信息为: EIP:[xxx] get_next_timer_interrupt...........。 由于实验室环境冲不瘫,而客户那里又不能调,只能抓着代码看,看了一天都没头绪。 哪位朋友有空能帮我看看吗? 我将另外发代码和panic抓屏给你。 谢谢。 From orphen.leiliu在gmail.com Wed Jul 7 19:22:32 2010 From: orphen.leiliu在gmail.com (Liu Lei) Date: Wed, 7 Jul 2010 19:22:32 +0800 Subject: =?GB2312?Q?Re:_=B9=D8=D3=DA_conntrack=B5=C4=CE=CA=CC=E2?= In-Reply-To: References: Message-ID: Neco.F,您好: 可以发给我。 在 2010-7-7,下午7:10, Neco.F 写道: > 最近写了一个支持oracle TNS协议的conntrack。在实验室环境中随怎么冲击都不出问题,可在客户那边panic了,panic信息为: > EIP:[xxx] get_next_timer_interrupt...........。 > > 由于实验室环境冲不瘫,而客户那里又不能调,只能抓着代码看,看了一天都没头绪。 > > 哪位朋友有空能帮我看看吗? 我将另外发代码和panic抓屏给你。 > > 谢谢。 > _______________________________________________ > Linux 内核开发中文邮件列表 > Linux-kernel在zh-kernel.org > http://zh-kernel.org/mailman/listinfo/linux-kernel > Linux 内核开发中文社区: http://zh-kernel.org 致 礼! ──────────────────────────── Liu Lei From necofang在gmail.com Wed Jul 7 19:24:54 2010 From: necofang在gmail.com (Neco.F) Date: Wed, 7 Jul 2010 19:24:54 +0800 Subject: =?UTF-8?B?UmU6IOWFs+S6jiBjb25udHJhY2vnmoTpl67popg=?= In-Reply-To: References: Message-ID: 谢谢,我使用的内核版本为2.6.26.5。 051af2b2d59ba65c3f773dbd42b75bfd conntrack-tns.tar.bz2 在 2010年7月7日 下午7:22,Liu Lei 写道: > Neco.F,您好: > >        可以发给我。 > > 在 2010-7-7,下午7:10, Neco.F 写道: > >> 最近写了一个支持oracle TNS协议的conntrack。在实验室环境中随怎么冲击都不出问题,可在客户那边panic了,panic信息为: >> EIP:[xxx] get_next_timer_interrupt...........。 >> >> 由于实验室环境冲不瘫,而客户那里又不能调,只能抓着代码看,看了一天都没头绪。 >> >> 哪位朋友有空能帮我看看吗? 我将另外发代码和panic抓屏给你。 >> >> 谢谢。 >> _______________________________________________ >> Linux 内核开发中文邮件列表 >> Linux-kernel在zh-kernel.org >> http://zh-kernel.org/mailman/listinfo/linux-kernel >> Linux 内核开发中文社区: http://zh-kernel.org > >                                致 > 礼! > > ──────────────────────────── >                                              Liu Lei >                 > > > > > From jiuxian_chu在foxmail.com Wed Jul 7 20:35:26 2010 From: jiuxian_chu在foxmail.com (=?gbk?B?uLvC+szD?=) Date: Wed, 7 Jul 2010 20:35:26 +0800 Subject: =?gbk?B?u9i4tKO6ILnY09psaWJ1c2JfY2xhaW1faW50ZXJm?= =?gbk?B?YWNltcTOyszi?= Message-ID: 哪位用过libusb1.0的能不能分享一下经验, libusb_claim_interface(libusb_device_handle *dev,int interface_number). 总是出错,下面是log libusb:debug [libusb_init] libusb:debug [find_usbfs_path] found usbfs at /dev/bus/usb libusb:debug [op_init] found usb devices in sysfs libusb:debug [usbi_add_pollfd] add fd 3 events 1 libusb:debug [usbi_io_init] using timerfd for timeouts libusb:debug [usbi_add_pollfd] add fd 5 events 1 libusb:debug [libusb_init] created default context libusb:debug [libusb_get_device_list] libusb:debug [sysfs_scan_device] scan usb1 libusb:debug [sysfs_scan_device] sysfs descriptors available libusb:debug [sysfs_scan_device] bus=1 dev=1 libusb:debug [enumerate_device] busnum 1 devaddr 1 session_id 257 libusb:debug [enumerate_device] allocating new device for 1/1 (session 257) libusb:debug [sysfs_scan_device] scan usb2 libusb:debug [sysfs_scan_device] bus=2 dev=1 libusb:debug [enumerate_device] busnum 2 devaddr 1 session_id 513 libusb:debug [enumerate_device] allocating new device for 2/1 (session 513) libusb:debug [sysfs_scan_device] scan usb3 libusb:debug [sysfs_scan_device] bus=3 dev=1 libusb:debug [enumerate_device] busnum 3 devaddr 1 session_id 769 libusb:debug [enumerate_device] allocating new device for 3/1 (session 769) libusb:debug [sysfs_scan_device] scan usb4 libusb:debug [sysfs_scan_device] bus=4 dev=1 libusb:debug [enumerate_device] busnum 4 devaddr 1 session_id 1025 libusb:debug [enumerate_device] allocating new device for 4/1 (session 1025) libusb:debug [sysfs_scan_device] scan usb5 libusb:debug [sysfs_scan_device] bus=5 dev=1 libusb:debug [enumerate_device] busnum 5 devaddr 1 session_id 1281 libusb:debug [enumerate_device] allocating new device for 5/1 (session 1281) libusb:debug [sysfs_scan_device] scan usb6 libusb:debug [sysfs_scan_device] bus=6 dev=1 libusb:debug [enumerate_device] busnum 6 devaddr 1 session_id 1537 libusb:debug [enumerate_device] allocating new device for 6/1 (session 1537) libusb:debug [sysfs_scan_device] scan usb7 libusb:debug [sysfs_scan_device] bus=7 dev=1 libusb:debug [enumerate_device] busnum 7 devaddr 1 session_id 1793 libusb:debug [enumerate_device] allocating new device for 7/1 (session 1793) libusb:debug [sysfs_scan_device] scan usb8 libusb:debug [sysfs_scan_device] bus=8 dev=1 libusb:debug [enumerate_device] busnum 8 devaddr 1 session_id 2049 libusb:debug [enumerate_device] allocating new device for 8/1 (session 2049) libusb:debug [sysfs_scan_device] scan 1-4 libusb:debug [sysfs_scan_device] bus=1 dev=4 libusb:debug [enumerate_device] busnum 1 devaddr 4 session_id 260 libusb:debug [enumerate_device] allocating new device for 1/4 (session 260) libusb:debug [discovered_devs_append] need to increase capacity libusb:debug [sysfs_scan_device] scan 3-1 libusb:debug [sysfs_scan_device] bus=3 dev=2 libusb:debug [enumerate_device] busnum 3 devaddr 2 session_id 770 libusb:debug [enumerate_device] allocating new device for 3/2 (session 770) libusb:debug [sysfs_scan_device] scan 3-2 libusb:debug [sysfs_scan_device] bus=3 dev=3 libusb:debug [enumerate_device] busnum 3 devaddr 3 session_id 771 libusb:debug [enumerate_device] allocating new device for 3/3 (session 771) libusb:debug [sysfs_scan_device] scan 1-4.7 libusb:debug [sysfs_scan_device] bus=1 dev=56 libusb:debug [enumerate_device] busnum 1 devaddr 56 session_id 312 libusb:debug [enumerate_device] allocating new device for 1/56 (session 312) libusb:debug [sysfs_scan_device] scan 1-4.5 libusb:debug [sysfs_scan_device] bus=1 dev=48 libusb:debug [enumerate_device] busnum 1 devaddr 48 session_id 304 libusb:debug [enumerate_device] allocating new device for 1/48 (session 304) libusb:debug [sysfs_scan_device] scan 1-4.4 libusb:debug [sysfs_scan_device] bus=1 dev=55 libusb:debug [enumerate_device] busnum 1 devaddr 55 session_id 311 libusb:debug [enumerate_device] allocating new device for 1/55 (session 311) libusb:debug [sysfs_scan_device] scan 1-4.1 libusb:debug [sysfs_scan_device] bus=1 dev=57 libusb:debug [enumerate_device] busnum 1 devaddr 57 session_id 313 libusb:debug [enumerate_device] allocating new device for 1/57 (session 313) libusb:debug [libusb_get_device_descriptor] libusb:debug [libusb_get_device_descriptor] libusb:debug [libusb_get_device_descriptor] libusb:debug [libusb_get_device_descriptor] libusb:debug [libusb_get_device_descriptor] libusb:debug [libusb_get_device_descriptor] libusb:debug [libusb_get_device_descriptor] libusb:debug [libusb_get_device_descriptor] libusb:debug [libusb_get_device_descriptor] libusb:debug [libusb_get_device_descriptor] libusb:debug [libusb_get_device_descriptor] libusb:debug [libusb_get_device_descriptor] libusb:debug [libusb_get_device_descriptor] libusb:debug [libusb_get_device_descriptor] libusb:debug [libusb_get_device_descriptor] libusb:debug [libusb_open] open 1.57 libusb:debug [usbi_add_pollfd] add fd 6 events 4 libusb:debug [libusb_unref_device] destroy device 1.1 libusb:debug [libusb_unref_device] destroy device 2.1 libusb:debug [libusb_unref_device] destroy device 3.1 libusb:debug [libusb_unref_device] destroy device 4.1 libusb:debug [libusb_unref_device] destroy device 5.1 libusb:debug [libusb_unref_device] destroy device 6.1 libusb:debug [libusb_unref_device] destroy device 7.1 libusb:debug [libusb_unref_device] destroy device 8.1 libusb:debug [libusb_unref_device] destroy device 1.4 libusb:debug [libusb_unref_device] destroy device 3.2 libusb:debug [libusb_unref_device] destroy device 3.3 libusb:debug [libusb_unref_device] destroy device 1.56 libusb:debug [libusb_unref_device] destroy device 1.48 libusb:debug [libusb_unref_device] destroy device 1.55 find_and_claim_interface libusb:debug [libusb_claim_interface] interface 0 find_and_claim_interface: couldn't claim interface main: unable to claim interface libusb:debug [libusb_exit] libusb:warning [libusb_exit] application left some devices open libusb:debug [usbi_remove_pollfd] remove fd 3 libusb:debug [usbi_remove_pollfd] remove fd 5 libusb:debug [libusb_exit] freeing default context 前缀有libusb的libusb库的debug信息,没有libusb前缀的是我的debug信息。 从前面看,已经成功的找到并且打开usb设备,执行到libusb_claim_interface就会出错。 libusb_claim_interface就两个参数,第一个是设备句柄,第二个是想要声明的接口数量。这两个参数并不是问题的根源。 libusb和kernel相关的代码走读了一下也看不出什么问题。 期待大家的回复。 ------------------ 原始邮件 ------------------ 发件人: "樊朋"<1226ehziy在gmail.com>; 发送时间: 2010年7月7日(星期三) 下午2:17 收件人: "富满堂"; 主题: Re: 关于libusb_claim_interface的问题 之前看过一点libusb的资料,不过忘的差不多了,后来还是在驱动层写的代码 那个函数官方api的描述: Claim an interface on a given device handle. You must claim the interface you wish to use before you can perform I/O on any of its endpoints. It is legal to attempt to claim an already-claimed interface, in which case libusb just returns 0 without doing anything. Claiming of interfaces is a purely logical operation; it does not cause any requests to be sent over the bus. Interface claiming is used to instruct the underlying operating system that your application wishes to take ownership of the interface. 只是在代码逻辑上申请一个接口,并不会涉及到实际的硬件操作。 This is a non-blocking function. 在 2010年7月7日 上午11:08,富满堂 写道: hi,大家好 最近用到libusb,想进行bulk传输,之前进行设备打开是可以的。 但是后来在调用ret = libusb_claim_interface(serial->udevh, serial->interface_num)时候总是报错,信息是 libusb:debug [libusb_claim_interface] interface 0.这只是个debug级别信息, 如果跳过libusb_claim_interface。 直接libusb_bulk_transfer(serial->udevh, serial->eptx,serial->txbuf + done, bytes - done,&transferred, TIMEOUT); 也会出错 libusb:error [submit_bulk_transfer] submiturb failed error -1 errno=2 libusb:debug [submit_bulk_transfer] first URB failed, easy peasy。。 这个是我参考别人的程序写的,请问libusb_claim_interface的作用是什么,注释上说了一些,但是在原理上还不是很明白。 _______________________________________________ Linux 内核开发中文邮件列表 Linux-kernel在zh-kernel.org http://zh-kernel.org/mailman/listinfo/linux-kernel Linux 内核开发中文社区: http://zh-kernel.org -- I believe I can From qzhang.g在gmail.com Wed Jul 7 22:43:57 2010 From: qzhang.g在gmail.com (Alvin) Date: Wed, 7 Jul 2010 22:43:57 +0800 Subject: =?UTF-8?B?UmU6IOaLm+iBmExpbnV45YaF5qC45byA5Y+R5Lq65ZGY?= In-Reply-To: <4C343EC1.9090404@cn.fujitsu.com> References: <4C342161.3030909@cn.fujitsu.com> <4C343EC1.9090404@cn.fujitsu.com> Message-ID: 魔都就好了 2010/7/7 Shi, Weihua > at 2010-7-7 16:39, Tao Ma wrote as: > > 顶一个!好地方! >> 不得不说,在中国目前linux内核开发者中,富士通的算是最多的了 >> > > 感谢马老大捧场! > > > >> 2010/7/7 Shi, Weihua: >> >>> 您好, >>> >>> 某财富500强企业招聘Linux内核开发人员。 >>> >>> 希望您满足以下条件: >>> 1、愿意执着于Linux技术,有兴趣为Linux的发展尽一份心力。 >>> 2、Linux内核的工作经验或者研究经验。 >>> 3、熟练使用C/Shell,熟悉OS结构和基本算法 >>> 4、最好有在LKML等社区提交Patch或参与讨论的经验,了解Linux社区的工作模式。 >>> 5、良好英语交流能力。 >>> 6、愿意在南京工作。 >>> >>> 作为公司的Linux开发团队,我们从2003年开始介入Linux内核技术,至今为止提交的 >>> 内核Patch达到1000多件,这个数量在中国可能是首屈一指的。 >>> 同时我们参与各类国际性Linux技术论坛,如LinuxCon、Kernel Summit、NetConf、 >>> Xen Summit等,并进行了多次技术讲演;也参加国内的开源技术论坛,如Aka论 坛、LFS等。 >>> 借由参加技术会议的机会,也多次与Linus Torvalds、Andrew Morton、Herbert Xu >>> 等顶尖级牛人当面进行技术交流。 >>> 目前团队拥有3名Linux开源社区维护者,数十名Linux技术人员,开放的技术交流 环境, >>> 明确的晋升路线和可观的薪资收入。 >>> 目前专注的领域包括,cgroup、btrfs、ftrace、KVM、Xen、network、driver等。 >>> >>> 欢迎给我发送简历(shiwh在cn.fujitsu.com),您也可以通过Mail垂询任何问题。 >>> >>> _______________________________________________ >>> Linux 内核开发中文邮件列表 >>> Linux-kernel在zh-kernel.org >>> http://zh-kernel.org/mailman/listinfo/linux-kernel >>> Linux 内核开发中文社区: http://zh-kernel.org >>> >> > -- > Shi, Weihua > 79955-850 > > > _______________________________________________ > Linux 内核开发中文邮件列表 > Linux-kernel在zh-kernel.org > http://zh-kernel.org/mailman/listinfo/linux-kernel > Linux 内核开发中文社区: http://zh-kernel.org > -- ~Alvin From bekars在gmail.com Thu Jul 8 09:52:19 2010 From: bekars在gmail.com (bekars) Date: Thu, 8 Jul 2010 09:52:19 +0800 Subject: =?GB2312?B?z+vPwtK7uPZpd2x3aWZptcRnaXTUtMLro6zOqsqyw7TPwtTYtcQ=?= =?GB2312?B?ysfV+7j2a2VybmVs?= Message-ID: 用下面的命令下载iwlwifi的源码 git clone git:// git.kernel.org/pub/scm/linux/kernel/git/iwlwifi/iwlwifi-2.6.git 下来的是整个kernel的源码?为什么下来的是整个kernel,为了编译吗?这个和下载kernel的源码git有什么区别? From zhourenren在gmail.com Thu Jul 8 09:52:56 2010 From: zhourenren在gmail.com (zhou) Date: Thu, 8 Jul 2010 09:52:56 +0800 Subject: =?UTF-8?B?UmU6IOWFs+S6jmxpYnVzYl9jbGFpbV9pbnRlcmZhY2XnmoTpl67popg=?= In-Reply-To: References: Message-ID: 在 2010年7月7日 上午11:08,富满堂 写道: > hi,大家好 >    最近用到libusb,想进行bulk传输,之前进行设备打开是可以的。 >  但是后来在调用ret = libusb_claim_interface(serial->udevh, serial->interface_num)时候总是报错,信息是 >  libusb:debug [libusb_claim_interface] interface 0.这只是个debug级别信息, > >  如果跳过libusb_claim_interface。 >  直接libusb_bulk_transfer(serial->udevh, serial->eptx,serial->txbuf + done, bytes - done,&transferred, TIMEOUT); >  也会出错 >  libusb:error [submit_bulk_transfer] submiturb failed error -1 errno=2 > libusb:debug [submit_bulk_transfer] first URB failed, easy peasy。。 > >  这个是我参考别人的程序写的,请问libusb_claim_interface的作用是什么,注释上说了一些,但是在原理上还不是很明白。 我也曾经碰到过claim不成功,我插入一个USB 3G dongle,初始状态是storage,需要用到应用程序发转串口的命令后才能1个设备对应2类接口,好像有3个是storage,2个serial,一共5个。之前我出现claim失败好像是我当时用的kernel有别的同事针对特定usb id发了转串口的命令,用UNUSUAL_DEV_HW加的,只是发了后不正常。我把他那段屏蔽掉,在应用程序中做,配上libusb。claim就可以了通过了,转串口也成功。转完后会好像会重新枚举,usb id也会变 你的情况应该跟我不同吧。 那么你的USB设备文档中有没有说明有serial接口?driver应该编译进去了? From orphen.leiliu在gmail.com Thu Jul 8 09:54:08 2010 From: orphen.leiliu在gmail.com (Liu Lei) Date: Thu, 8 Jul 2010 09:54:08 +0800 Subject: =?GB2312?Q?Re:_=B9=D8=D3=DA_conntrack=B5=C4=CE=CA=CC=E2?= In-Reply-To: References: Message-ID: <059514CA-77AA-4D4D-9CB4-24D2198D5C8A@gmail.com> Neco.F,您好: 查看代码没有发现明显的错误。 根据我的经验,出现EIP:[XXX] get_next_timer_interrupt......的信息,通常可能有以下两个原因: 1。timer_list没有del_timer就直接被释放内存了; 2。没有del_timer就被重新setup_timer了。 在 2010-7-7,下午7:26, Neco.F 写道: > panic抓屏 > > 在 2010年7月7日 下午7:22,Liu Lei 写道: >> Neco.F,您好: >> >> 可以发给我。 >> >> 在 2010-7-7,下午7:10, Neco.F 写道: >> >>> 最近写了一个支持oracle TNS协议的conntrack。在实验室环境中随怎么冲击都不出问题,可在客户那边panic了,panic信息为: >>> EIP:[xxx] get_next_timer_interrupt...........。 >>> >>> 由于实验室环境冲不瘫,而客户那里又不能调,只能抓着代码看,看了一天都没头绪。 >>> >>> 哪位朋友有空能帮我看看吗? 我将另外发代码和panic抓屏给你。 >>> >>> 谢谢。 >>> _______________________________________________ >>> Linux 内核开发中文邮件列表 >>> Linux-kernel在zh-kernel.org >>> http://zh-kernel.org/mailman/listinfo/linux-kernel >>> Linux 内核开发中文社区: http://zh-kernel.org >> >> 致 >> 礼! >> >> ──────────────────────────── >> Liu Lei >> >> >> >> >> >> > 致 礼! ──────────────────────────── Liu Lei From jack_wang在usish.com Thu Jul 8 10:04:39 2010 From: jack_wang在usish.com (jack wang) Date: Thu, 8 Jul 2010 10:04:39 +0800 Subject: =?gb2312?B?tPC4tDogz+vPwtK7uPZpd2x3aWZptcRnaXTUtMLro6zOqsqyw7TPwg==?= =?gb2312?B?1Ni1xMrH1fu49mtlcm5lbA==?= In-Reply-To: References: Message-ID: 下面的命令下载iwlwifi的源码 git clone git:// git.kernel.org/pub/scm/linux/kernel/git/iwlwifi/iwlwifi-2.6.git 下来的是整个kernel的源码?为什么下来的是整个kernel,为了编译吗?这个和下载 kernel的源码git有什么区别? 这个是包含iwlwifi最新改动的branch吧,是包括整个kernel的,和linus的mainline 会有一些差别,再合适的时机会要求linus pull到mainline的。 下载的kernel就是linus的mainline 打好tag的release。 Jack _______________________________________________ Linux 内核开发中文邮件列表 Linux-kernel在zh-kernel.org http://zh-kernel.org/mailman/listinfo/linux-kernel Linux 内核开发中文社区: http://zh-kernel.org From bekars在gmail.com Thu Jul 8 10:22:35 2010 From: bekars在gmail.com (bekars) Date: Thu, 8 Jul 2010 10:22:35 +0800 Subject: =?GB2312?B?UmU6ILTwuLQ6IM/rz8LSu7j2aXdsd2lmabXEZ2l01LTC66OszqrKsg==?= =?GB2312?B?w7TPwtTYtcTKx9X7uPZrZXJuZWw=?= In-Reply-To: References: Message-ID: 我是从这里下载的: http://git.kernel.org/?p=linux/kernel/git/iwlwifi/iwlwifi-2.6.git 是不是这样的一个过程: 1)iwlwifi在一个内核版本上开发,如现在用的Linux 2.6.35-rc3 2)git的源码包含2.6.35-rc3内核代码供下载测试 3)稳定之后linus在将iwlwifi的代码和到新的内核版本中,如2.6.35rc4 请问是这样的过程吗? 在 2010年7月8日 上午10:04,jack wang 写道: > 下面的命令下载iwlwifi的源码 > git clone git:// > git.kernel.org/pub/scm/linux/kernel/git/iwlwifi/iwlwifi-2.6.git > > 下来的是整个kernel的源码?为什么下来的是整个kernel,为了编译吗?这个和下载 > kernel的源码git有什么区别? > > > 这个是包含iwlwifi最新改动的branch吧,是包括整个kernel的,和linus的mainline > 会有一些差别,再合适的时机会要求linus pull到mainline的。 > 下载的kernel就是linus的mainline 打好tag的release。 > > Jack > _______________________________________________ > Linux 内核开发中文邮件列表 > Linux-kernel在zh-kernel.org > http://zh-kernel.org/mailman/listinfo/linux-kernel > Linux 内核开发中文社区: http://zh-kernel.org > From jack_wang在usish.com Thu Jul 8 10:29:00 2010 From: jack_wang在usish.com (jack wang) Date: Thu, 8 Jul 2010 10:29:00 +0800 Subject: =?gb2312?B?tPC4tDogtPC4tDogz+vPwtK7uPZpd2x3aWZptcRnaXTUtMLro6zOqg==?= =?gb2312?B?yrLDtM/C1Ni1xMrH1fu49mtlcm5lbA==?= In-Reply-To: References: Message-ID: 我是从这里下载的: http://git.kernel.org/?p=linux/kernel/git/iwlwifi/iwlwifi-2.6.git 是不是这样的一个过程: 1)iwlwifi在一个内核版本上开发,如现在用的Linux 2.6.35-rc3 2)git的源码包含2.6.35-rc3内核代码供下载测试 3)稳定之后linus在将iwlwifi的代码和到新的内核版本中,如2.6.35rc4 请问是这样的过程吗? 基本是这样的,只是一般新的features都只能在rc1中加入,rc2以后就只是bug修复了 在 2010年7月8日 上午10:04,jack wang 写道: 下面的命令下载iwlwifi的源码 git clone git:// git.kernel.org/pub/scm/linux/kernel/git/iwlwifi/iwlwifi-2.6.git 下来的是整个kernel的源码?为什么下来的是整个kernel,为了编译吗?这个和下载 kernel的源码git有什么区别? 这个是包含iwlwifi最新改动的branch吧,是包括整个kernel的,和linus的mainline 会有一些差别,再合适的时机会要求linus pull到mainline的。 下载的kernel就是linus的mainline 打好tag的release。 Jack _______________________________________________ Linux 内核开发中文邮件列表 Linux-kernel在zh-kernel.org http://zh-kernel.org/mailman/listinfo/linux-kernel Linux 内核开发中文社区: http://zh-kernel.org From jiuxian_chu在foxmail.com Thu Jul 8 10:31:56 2010 From: jiuxian_chu在foxmail.com (=?gbk?B?uLvC+szD?=) Date: Thu, 8 Jul 2010 10:31:56 +0800 Subject: =?gbk?B?u9i4tKO6ILnY09psaWJ1c2JfY2xhaW1faW50ZXJm?= =?gbk?B?YWNltcTOyszi?= Message-ID: hi,谢谢 我是想拿个u盘试一下libusb_bulk_transfer(). 没有串口。可以用u盘试吗? 过程是libusb_init()->libusb_open_device_with_vid_pid()->l ibusb_claim_interface()->libusb_set_interface_alt_setting() ->libusb_bulk_transfer->libusb_release_interface->libusb_exit.. 把usb_storage rmmod掉之后libusb_claim_interface可以成功, 但是libusb_set_interface_alt_setting()又失败。 ------------------ 原始邮件 ------------------ 发件人: "zhou"; 发送时间: 2010年7月8日(星期四) 上午9:52 收件人: "富满堂"; 抄送: "linux-kernel"; 主题: Re: 关于libusb_claim_interface的问题 在 2010年7月7日 上午11:08,富满堂 写道: > hi,大家好 > 最近用到libusb,想进行bulk传输,之前进行设备打开是可以的。 > 但是后来在调用ret = libusb_claim_interface(serial->udevh, serial->interface_num)时候总是报错,信息是 > libusb:debug [libusb_claim_interface] interface 0.这只是个debug级别信息, > > 如果跳过libusb_claim_interface。 > 直接libusb_bulk_transfer(serial->udevh, serial->eptx,serial->txbuf + done, bytes - done,&transferred, TIMEOUT); > 也会出错 > libusb:error [submit_bulk_transfer] submiturb failed error -1 errno=2 > libusb:debug [submit_bulk_transfer] first URB failed, easy peasy。。 > > 这个是我参考别人的程序写的,请问libusb_claim_interface的作用是什么,注释上说了一些,但是在原理上还不是很明白。 我也曾经碰到过claim不成功,我插入一个USB 3G dongle,初始状态是storage,需要用到应用程序发转串口的命令后才能1个设备对应2类接口,好像有3个是storage,2个serial,一共5个。之前我出现claim失败好像是我当时用的kernel有别的同事针对特定usb id发了转串口的命令,用UNUSUAL_DEV_HW加的,只是发了后不正常。我把他那段屏蔽掉,在应用程序中做,配上libusb。claim就可以了通过了,转串口也成功。转完后会好像会重新枚举,usb id也会变 你的情况应该跟我不同吧。 那么你的USB设备文档中有没有说明有serial接口?driver应该编译进去了? From taoma.tm在gmail.com Thu Jul 8 10:35:45 2010 From: taoma.tm在gmail.com (Tao Ma) Date: Thu, 8 Jul 2010 10:35:45 +0800 Subject: =?GB2312?B?UmU6ILTwuLQ6IM/rz8LSu7j2aXdsd2lmabXEZ2l01LTC66OszqrKsg==?= =?GB2312?B?w7TPwtTYtcTKx9X7uPZrZXJuZWw=?= In-Reply-To: References: Message-ID: 2010/7/8 bekars : > 我是从这里下载的: > http://git.kernel.org/?p=linux/kernel/git/iwlwifi/iwlwifi-2.6.git > > 是不是这样的一个过程: > 1)iwlwifi在一个内核版本上开发,如现在用的Linux > 2.6.35-rc3 > 2)git的源码包含2.6.35-rc3内核代码供下载测试 > 3)稳定之后linus在将iwlwifi的代码和到新的内核版本中,如2.6.35rc4 > > 请问是这样的过程吗? 这个tree是该模块的maintainer自己维护的tree,他会把一些别的开发者提交的patch放到不同的branch上,这些branch都是他自己弄得,linus不管。 现在假设有些patch应该是fix,是需要添加到目前的开发版本的,他会放到一个branch上比方说叫fixes. 有些他认为是一些patch是新的feature或者改动太大不适合放到目前的kernel版本中,他就会放到另一个branch上,假设叫unstable. 这样过一阵子他会让linus把fixes中的东西pull到linus自己的linux-2.6.git上,这些就会出现在目前的版本比如说2.6.35中 而unstable的东西可能会在下一个merge window(也就是2.6.36)出现的时候,让linus pull到他的tree上 当然这些都是maintainer自己决定的 每次maintainer只是告诉linus需要pull的branch的名字,让Linus来pull就可以了 > > > 在 2010年7月8日 上午10:04,jack wang 写道: > >> 下面的命令下载iwlwifi的源码 >> git clone git:// >> git.kernel.org/pub/scm/linux/kernel/git/iwlwifi/iwlwifi-2.6.git >> >> 下来的是整个kernel的源码?为什么下来的是整个kernel,为了编译吗?这个和下载 >> kernel的源码git有什么区别? >> >> >> 这个是包含iwlwifi最新改动的branch吧,是包括整个kernel的,和linus的mainline >> 会有一些差别,再合适的时机会要求linus pull到mainline的。 >> 下载的kernel就是linus的mainline 打好tag的release。 >> >> Jack >> _______________________________________________ >> Linux 内核开发中文邮件列表 >> Linux-kernel在zh-kernel.org >> http://zh-kernel.org/mailman/listinfo/linux-kernel >> Linux 内核开发中文社区: http://zh-kernel.org >> > _______________________________________________ > Linux 内核开发中文邮件列表 > Linux-kernel在zh-kernel.org > http://zh-kernel.org/mailman/listinfo/linux-kernel > Linux 内核开发中文社区: http://zh-kernel.org From hu.taoo在gmail.com Thu Jul 8 11:24:30 2010 From: hu.taoo在gmail.com (hu.taoo在gmail.com) Date: Thu, 8 Jul 2010 11:24:30 +0800 Subject: =?utf-8?B?5oOz5LiL5LiA5LiqaXdsd2lmaQ==?= =?utf-8?B?55qEZ2l05rqQ56CB77yM5Li65LuA5LmI5LiL6L2955qE5piv5pW05Liqa2Vy?= =?utf-8?Q?nel?= In-Reply-To: References: Message-ID: <20100708032430.GC8308@localhost> On Thu, Jul 08, 2010 at 09:52:19AM +0800, bekars wrote: > 用下面的命令下载iwlwifi的源码 > git clone git:// > git.kernel.org/pub/scm/linux/kernel/git/iwlwifi/iwlwifi-2.6.git > > 下来的是整个kernel的源码?为什么下来的是整个kernel,为了编译吗?这个和下载kernel的源码git有什么区别? 如果你本地有 linux-2.6-git 仓库, 那把 iwlwifi-2.6.git 作为 一个 remote 加到这个仓库中会更方便些。 cd linux-2.6-git git remoe add iwlwifi git://git.kernel.org/pub/scm/linux/kernel/git/iwlwifi/iwlwifi-2.6.git git fetch iwlwifi 这样不用再次下载整个内核源码,在不同 branch 间的操作,比如 生成 patch 什么的都可以用 git 来完成。 From necofang在gmail.com Thu Jul 8 15:00:13 2010 From: necofang在gmail.com (Neco.F) Date: Thu, 8 Jul 2010 15:00:13 +0800 Subject: =?UTF-8?B?UmU6IOWFs+S6jiBjb25udHJhY2vnmoTpl67popg=?= In-Reply-To: <059514CA-77AA-4D4D-9CB4-24D2198D5C8A@gmail.com> References: <059514CA-77AA-4D4D-9CB4-24D2198D5C8A@gmail.com> Message-ID: 谢谢你的回复。 我也觉得是状态过期后del导致的,可找不出原因来。为何别的conntrack(比如常用的ftp)不出问题,而我的就出问题呢。郁闷好几天了,是否能麻烦你再帮我分析分析吗? 在 2010年7月8日 上午9:54,Liu Lei 写道: > Neco.F,您好: > >        查看代码没有发现明显的错误。 > >        根据我的经验,出现EIP:[XXX] get_next_timer_interrupt......的信息,通常可能有以下两个原因: >        1。timer_list没有del_timer就直接被释放内存了; >        2。没有del_timer就被重新setup_timer了。 > > 在 2010-7-7,下午7:26, Neco.F 写道: > >> panic抓屏 >> >> 在 2010年7月7日 下午7:22,Liu Lei 写道: >>> Neco.F,您好: >>> >>>        可以发给我。 >>> >>> 在 2010-7-7,下午7:10, Neco.F 写道: >>> >>>> 最近写了一个支持oracle TNS协议的conntrack。在实验室环境中随怎么冲击都不出问题,可在客户那边panic了,panic信息为: >>>> EIP:[xxx] get_next_timer_interrupt...........。 >>>> >>>> 由于实验室环境冲不瘫,而客户那里又不能调,只能抓着代码看,看了一天都没头绪。 >>>> >>>> 哪位朋友有空能帮我看看吗? 我将另外发代码和panic抓屏给你。 >>>> >>>> 谢谢。 >>>> _______________________________________________ >>>> Linux 内核开发中文邮件列表 >>>> Linux-kernel在zh-kernel.org >>>> http://zh-kernel.org/mailman/listinfo/linux-kernel >>>> Linux 内核开发中文社区: http://zh-kernel.org >>> >>>                                致 >>> 礼! >>> >>> ──────────────────────────── >>>                                              Liu Lei >>>                 >>> >>> >>> >>> >>> >> > >                                致 > 礼! > > ──────────────────────────── >                                              Liu Lei >                 > > > > > From zhangxt.kernel在gmail.com Thu Jul 8 15:48:56 2010 From: zhangxt.kernel在gmail.com (zhang xintao) Date: Thu, 8 Jul 2010 15:48:56 +0800 Subject: =?GB2312?B?0MK808jrwdCx7aOsuN/K1sPHtuC24Na4vcw=?= Message-ID: 终于找到组织了,感动啊。 From yd.nvstp在gmail.com Thu Jul 8 18:04:03 2010 From: yd.nvstp在gmail.com (nvstp) Date: Thu, 8 Jul 2010 18:04:03 +0800 Subject: =?GB2312?B?UmU6INXQxrhMaW51eMTausu/qreiyMvUsQ==?= In-Reply-To: <4C342161.3030909@cn.fujitsu.com> References: <4C342161.3030909@cn.fujitsu.com> Message-ID: 太好了,终于看到有南京的Linux的职位了,而且是我喜欢的工作 2010/7/7 Shi, Weihua > 您好, > > 某财富500强企业招聘Linux内核开发人员。 > > 希望您满足以下条件: > 1、愿意执着于Linux技术,有兴趣为Linux的发展尽一份心力。 > 2、Linux内核的工作经验或者研究经验。 > 3、熟练使用C/Shell,熟悉OS结构和基本算法 > 4、最好有在LKML等社区提交Patch或参与讨论的经验,了解Linux社区的工作模式。 > 5、良好英语交流能力。 > 6、愿意在南京工作。 > > 作为公司的Linux开发团队,我们从2003年开始介入Linux内核技术,至今为止提交的 > 内核Patch达到1000多件,这个数量在中国可能是首屈一指的。 > 同时我们参与各类国际性Linux技术论坛,如LinuxCon、Kernel Summit、NetConf、 > Xen Summit等,并进行了多次技术讲演;也参加国内的开源技术论坛,如Aka论 坛、LFS等。 > 借由参加技术会议的机会,也多次与Linus Torvalds、Andrew Morton、Herbert Xu > 等顶尖级牛人当面进行技术交流。 > 目前团队拥有3名Linux开源社区维护者,数十名Linux技术人员,开放的技术交流 环境, > 明确的晋升路线和可观的薪资收入。 > 目前专注的领域包括,cgroup、btrfs、ftrace、KVM、Xen、network、driver等。 > > 欢迎给我发送简历(shiwh在cn.fujitsu.com),您也可以通过Mail垂询任何问题。 > > > _______________________________________________ > Linux 内核开发中文邮件列表 > Linux-kernel在zh-kernel.org > http://zh-kernel.org/mailman/listinfo/linux-kernel > Linux 内核开发中文社区: http://zh-kernel.org > From miles.kuo在gmail.com Thu Jul 8 18:07:15 2010 From: miles.kuo在gmail.com (miles kuo) Date: Thu, 8 Jul 2010 18:07:15 +0800 Subject: =?GB2312?B?UmU6INXQxrhMaW51eMTausu/qreiyMvUsQ==?= In-Reply-To: <4C343EC1.9090404@cn.fujitsu.com> References: <4C342161.3030909@cn.fujitsu.com> <4C343EC1.9090404@cn.fujitsu.com> Message-ID: 看到过你在LTP的patch,支持一个 能全职做开源的地方不多啊 在 2010年7月7日 下午4:45,Shi, Weihua 写道: > at 2010-7-7 16:39, Tao Ma wrote as: >> >> 顶一个!好地方! >> 不得不说,在中国目前linux内核开发者中,富士通的算是最多的了 > > 感谢马老大捧场! > >> >> 2010/7/7 Shi, Weihua: >>> >>> 您好, >>> >>> 某财富500强企业招聘Linux内核开发人员。 >>> >>> 希望您满足以下条件: >>> 1、愿意执着于Linux技术,有兴趣为Linux的发展尽一份心力。 >>> 2、Linux内核的工作经验或者研究经验。 >>> 3、熟练使用C/Shell,熟悉OS结构和基本算法 >>> 4、最好有在LKML等社区提交Patch或参与讨论的经验,了解Linux社区的工作模式。 >>> 5、良好英语交流能力。 >>> 6、愿意在南京工作。 >>> >>> 作为公司的Linux开发团队,我们从2003年开始介入Linux内核技术,至今为止提交的 >>> 内核Patch达到1000多件,这个数量在中国可能是首屈一指的。 >>> 同时我们参与各类国际性Linux技术论坛,如LinuxCon、Kernel Summit、NetConf、 >>> Xen Summit等,并进行了多次技术讲演;也参加国内的开源技术论坛,如Aka论 坛、LFS等。 >>> 借由参加技术会议的机会,也多次与Linus Torvalds、Andrew Morton、Herbert Xu >>> 等顶尖级牛人当面进行技术交流。 >>> 目前团队拥有3名Linux开源社区维护者,数十名Linux技术人员,开放的技术交流 环境, >>> 明确的晋升路线和可观的薪资收入。 >>> 目前专注的领域包括,cgroup、btrfs、ftrace、KVM、Xen、network、driver等。 >>> >>> 欢迎给我发送简历(shiwh在cn.fujitsu.com),您也可以通过Mail垂询任何问题。 >>> >>> _______________________________________________ >>> Linux 内核开发中文邮件列表 >>> Linux-kernel在zh-kernel.org >>> http://zh-kernel.org/mailman/listinfo/linux-kernel >>> Linux 内核开发中文社区: http://zh-kernel.org > > -- > Shi, Weihua > 79955-850 > > _______________________________________________ > Linux 内核开发中文邮件列表 > Linux-kernel在zh-kernel.org > http://zh-kernel.org/mailman/listinfo/linux-kernel > Linux 内核开发中文社区: http://zh-kernel.org From xiaosuo在gmail.com Thu Jul 8 20:29:33 2010 From: xiaosuo在gmail.com (Changli Gao) Date: Thu, 8 Jul 2010 20:29:33 +0800 Subject: =?GB2312?B?UmU6INXQxrhMaW51eMTausu/qreiyMvUsQ==?= In-Reply-To: References: <4C342161.3030909@cn.fujitsu.com> Message-ID: 2010/7/8 nvstp : > 太好了,终于看到有南京的Linux的职位了,而且是我喜欢的工作 > 啥时候天津也有这么好的职位啊? -- Regards, Changli Gao(xiaosuo在gmail.com) From csduan2009在gmail.com Thu Jul 8 21:39:12 2010 From: csduan2009在gmail.com (chensheng duan) Date: Thu, 8 Jul 2010 21:39:12 +0800 Subject: =?GB2312?B?UmU6INXQxrhMaW51eMTausu/qreiyMvUsQ==?= In-Reply-To: References: <4C342161.3030909@cn.fujitsu.com> Message-ID: 啥时候合肥也有这么好的职位啊? 在 2010年7月8日 下午8:29,Changli Gao 写道: > 2010/7/8 nvstp : > > 太好了,终于看到有南京的Linux的职位了,而且是我喜欢的工作 > > > > 啥时候天津也有这么好的职位啊? > > -- > Regards, > Changli Gao(xiaosuo在gmail.com) > _______________________________________________ > Linux 内核开发中文邮件列表 > Linux-kernel在zh-kernel.org > http://zh-kernel.org/mailman/listinfo/linux-kernel > Linux 内核开发中文社区: http://zh-kernel.org > From tom.leiming在gmail.com Thu Jul 8 22:30:10 2010 From: tom.leiming在gmail.com (Ming Lei) Date: Thu, 8 Jul 2010 22:30:10 +0800 Subject: =?GB2312?B?UmU6INXQxrhMaW51eMTausu/qreiyMvUsQ==?= In-Reply-To: <4C343EC1.9090404@cn.fujitsu.com> References: <4C342161.3030909@cn.fujitsu.com> <4C343EC1.9090404@cn.fujitsu.com> Message-ID: 好奇的问下,你们怎么赚钱? 毕竟公司是要盈利的 From shiwh在cn.fujitsu.com Fri Jul 9 07:56:04 2010 From: shiwh在cn.fujitsu.com (Shi, Weihua) Date: Fri, 09 Jul 2010 07:56:04 +0800 Subject: =?UTF-8?B?5oub6IGYTGludXjlhoXmoLjlvIDlj5HkurrlkZg=?= In-Reply-To: References: <4C342161.3030909@cn.fujitsu.com> <4C343EC1.9090404@cn.fujitsu.com> Message-ID: <4C366594.8030403@cn.fujitsu.com> at 2010-7-8 22:30, Ming Lei wrote as: > 好奇的问下,你们怎么赚钱? 毕竟公司是要盈利的 这个问题对我来说太难回答了,因为利润实现过程非常复杂也非常难于核算。 开源软件都是由各大公司支撑的,这些大公司投资开源软件可以实现更为广泛的商 业价值, 比如安装Linux的硬件销售、售后的技术支持 之类。 From yd.nvstp在gmail.com Fri Jul 9 09:44:13 2010 From: yd.nvstp在gmail.com (nvstp) Date: Fri, 9 Jul 2010 09:44:13 +0800 Subject: =?GB2312?B?UmU6INXQxrhMaW51eMTausu/qreiyMvUsQ==?= In-Reply-To: <4C366594.8030403@cn.fujitsu.com> References: <4C342161.3030909@cn.fujitsu.com> <4C343EC1.9090404@cn.fujitsu.com> <4C366594.8030403@cn.fujitsu.com> Message-ID: 的确,一般的小公司很难有那个财力去做开源,当然,直接那开源的项目来用倒是有可能 所以象这样的工作机会真的比较少,除了发行版的公司,国内的发行版公司又更少了,除了红旗好像只有上海有一家 2010/7/9 Shi, Weihua > at 2010-7-8 22:30, Ming Lei wrote as: > >> 好奇的问下,你们怎么赚钱? 毕竟公司是要盈利的 >> > > 这个问题对我来说太难回答了,因为利润实现过程非常复杂也非常难于核算。 > 开源软件都是由各大公司支撑的,这些大公司投资开源软件可以实现更为广泛的商 业价值, > 比如安装Linux的硬件销售、售后的技术支持 之类。 > > > > _______________________________________________ > Linux 内核开发中文邮件列表 > Linux-kernel在zh-kernel.org > http://zh-kernel.org/mailman/listinfo/linux-kernel > Linux 内核开发中文社区: http://zh-kernel.org > From taoma.tm在gmail.com Fri Jul 9 12:58:24 2010 From: taoma.tm在gmail.com (Tao Ma) Date: Fri, 9 Jul 2010 12:58:24 +0800 Subject: =?GB2312?B?UmU6INXQxrhMaW51eMTausu/qreiyMvUsQ==?= In-Reply-To: References: <4C342161.3030909@cn.fujitsu.com> <4C343EC1.9090404@cn.fujitsu.com> Message-ID: 2010/7/8 Ming Lei : > 好奇的问下,你们怎么赚钱? 毕竟公司是要盈利的 公司靠卖support挣钱呀,你可以free用,因为open source,但是出问题了,我就不管喽! 当然你如果买support,那到时候我帮你看看,呵呵,给你升个级呀啥的 而且因为是open source的,如果你不付钱出现问题我可能也没有时间解决你的问题了,或者优先级比较低, 等着吧,呵呵,这个对于生产系统来说是无法忍受的,所以交钱吧 :) From kermit.mei在gmail.com Fri Jul 9 15:35:00 2010 From: kermit.mei在gmail.com (Kermit Mei) Date: Fri, 09 Jul 2010 15:35:00 +0800 Subject: =?UTF-8?Q?=E6=8B=9B=E8=81=98Linux=E5=86=85=E6=A0=B8=E5=BC=80=E5=8F=91?= =?UTF-8?Q?=E4=BA=BA=E5=91=98?= In-Reply-To: <4C366594.8030403@cn.fujitsu.com> References: <4C342161.3030909@cn.fujitsu.com> <4C343EC1.9090404@cn.fujitsu.com> <4C366594.8030403@cn.fujitsu.com> Message-ID: <1278660900.5619.16.camel@kermit-laptop> On Fri, 2010-07-09 at 07:56 +0800, Shi, Weihua wrote: > at 2010-7-8 22:30, Ming Lei wrote as: > > 好奇的问下,你们怎么赚钱? 毕竟公司是要盈利的 > > 这个问题对我来说太难回答了,因为利润实现过程非常复杂也非常难于核算。 > 开源软件都是由各大公司支撑的,这些大公司投资开源软件可以实现更为广泛的商 > 业价值, > 比如安装Linux的硬件销售、售后的技术支持 之类。 此外,这些公司——尤其是硬件公司支持Linux,已经不单单不是为了眼前的利 益。比如Intel现在对Linux的支持,在某种程度上就是为了摆脱M$的束缚,虽然短 期不一定盈利,但是从长期战略上来讲是必须的。 From peilinpeilin2003在gmail.com Fri Jul 9 16:10:30 2010 From: peilinpeilin2003在gmail.com (wang wang) Date: Fri, 9 Jul 2010 16:10:30 +0800 Subject: =?GB2312?B?RndkOiBqZmZzMiDOxLz+z7XNs7nS1NjOyszio6E=?= In-Reply-To: References: Message-ID: Dear All: Filesystem 1k-blocks Used Available Use% Mounted on /dev/ram0 14521 7442 7079 51% / /dev/mtdblock1 1408 652 756 46% /mnt/jffs2 如上所示,是我载板上挂在后,用 df 查看的结果。 但我的 jffs2 映像文件是 1M 的,在PC上挂在后显示 1024 k ,这里为什么显示 1408 k 啊? 大家帮忙看看,是哪里的问题啊! From jeff.liu在oracle.com Fri Jul 9 16:59:38 2010 From: jeff.liu在oracle.com (jeff.liu) Date: Fri, 09 Jul 2010 16:59:38 +0800 Subject: =?UTF-8?B?5oub6IGYTGludXjlhoXmoLjlvIDlj5HkurrlkZg=?= In-Reply-To: <1278660900.5619.16.camel@kermit-laptop> References: <4C342161.3030909@cn.fujitsu.com> <4C343EC1.9090404@cn.fujitsu.com> <4C366594.8030403@cn.fujitsu.com> <1278660900.5619.16.camel@kermit-laptop> Message-ID: <4C36E4FA.1000300@oracle.com> Kermit Mei wrote: > On Fri, 2010-07-09 at 07:56 +0800, Shi, Weihua wrote: >> at 2010-7-8 22:30, Ming Lei wrote as: >>> 好奇的问下,你们怎么赚钱? 毕竟公司是要盈利的 >> 这个问题对我来说太难回答了,因为利润实现过程非常复杂也非常难于核算。 >> 开源软件都是由各大公司支撑的,这些大公司投资开源软件可以实现更为广泛的商 >> 业价值, >> 比如安装Linux的硬件销售、售后的技术支持 之类。 > > 此外,这些公司——尤其是硬件公司支持Linux,已经不单单不是为了眼前的利 > 益。比如Intel现在对Linux的支持,在某种程度上就是为了摆脱M$的束缚,虽然短 > 期不一定盈利,但是从长期战略上来讲是必须的。 软件公司对linux kernel的一些具体优化, 可以提高其相关产品的市场竞争力(对抗MS, etc...). > > > _______________________________________________ > Linux 内核开发中文邮件列表 > Linux-kernel在zh-kernel.org > http://zh-kernel.org/mailman/listinfo/linux-kernel > Linux 内核开发中文社区: http://zh-kernel.org -- With Windows 7, Microsoft is asserting legal control over your computer and is using this power to abuse computer users. From robert.zhangle在gmail.com Fri Jul 9 17:29:05 2010 From: robert.zhangle在gmail.com (Zhang Le) Date: Fri, 9 Jul 2010 17:29:05 +0800 Subject: =?UTF-8?B?UmU6IOaLm+iBmExpbnV45YaF5qC45byA5Y+R5Lq65ZGY?= In-Reply-To: References: <4C342161.3030909@cn.fujitsu.com> <4C343EC1.9090404@cn.fujitsu.com> Message-ID: 2010/7/8 Ming Lei : > 好奇的问下,你们怎么赚钱?  毕竟公司是要盈利的 这些就是投资吧,内部投资,长线的 也就大公司玩的起 startup不用想了 比如intel搞自己的显卡的开源驱动,就是为了在开源社区里提高市场份额,扩大影响 押的宝是未来开源软件壮大后,他也跟着壮大 intel搞meego,为的就是让x86打入手机市场。当年卖xscale,已经在为此准备了。 -- Zhang Le, Robert Gentoo/Loongson(龙芯) Developer http://zhangle.is-a-geek.org From zoleooo在hotmail.com Fri Jul 9 17:33:53 2010 From: zoleooo在hotmail.com (zhangleo) Date: Fri, 9 Jul 2010 09:33:53 +0000 Subject: =?gb2312?B?UkU6INXQxrhMaW51?= =?gb2312?B?eMTausu/qreiyMvUsQ==?= In-Reply-To: <4C342161.3030909@cn.fujitsu.com> References: <4C342161.3030909@cn.fujitsu.com> Message-ID: 貌似富士通啊,嘿嘿 > Date: Wed, 7 Jul 2010 14:40:33 +0800 > From: shiwh在cn.fujitsu.com > To: linux-kernel在zh-kernel.org > Subject: 招聘Linux内核开发人员 > > 您好, > > 某财富500强企业招聘Linux内核开发人员。 > > 希望您满足以下条件: > 1、愿意执着于Linux技术,有兴趣为Linux的发展尽一份心力。 > 2、Linux内核的工作经验或者研究经验。 > 3、熟练使用C/Shell,熟悉OS结构和基本算法 > 4、最好有在LKML等社区提交Patch或参与讨论的经验,了解Linux社区的工作模式。 > 5、良好英语交流能力。 > 6、愿意在南京工作。 > > 作为公司的Linux开发团队,我们从2003年开始介入Linux内核技术,至今为止提交的 > 内核Patch达到1000多件,这个数量在中国可能是首屈一指的。 > 同时我们参与各类国际性Linux技术论坛,如LinuxCon、Kernel Summit、NetConf、 > Xen Summit等,并进行了多次技术讲演;也参加国内的开源技术论坛,如Aka论 > 坛、LFS等。 > 借由参加技术会议的机会,也多次与Linus Torvalds、Andrew Morton、Herbert Xu > 等顶尖级牛人当面进行技术交流。 > 目前团队拥有3名Linux开源社区维护者,数十名Linux技术人员,开放的技术交流 > 环境, > 明确的晋升路线和可观的薪资收入。 > 目前专注的领域包括,cgroup、btrfs、ftrace、KVM、Xen、network、driver等。 > > 欢迎给我发送简历(shiwh在cn.fujitsu.com),您也可以通过Mail垂询任何问题。 > > _______________________________________________ > Linux 内核开发中文邮件列表 > Linux-kernel在zh-kernel.org > http://zh-kernel.org/mailman/listinfo/linux-kernel > Linux 内核开发中文社区: http://zh-kernel.org _________________________________________________________________ 约会说不清地方?来试试微软地图最新msn互动功能! http://ditu.live.com/?form=TL&swm=1 From chengtao.linux在gmail.com Fri Jul 9 21:01:05 2010 From: chengtao.linux在gmail.com (chengtao) Date: Fri, 9 Jul 2010 21:01:05 +0800 Subject: =?GB2312?B?UmU6ILrc09DQy8iko6zWu8TcysfEz76pwvAgsbG+qb/J0tQ=?= =?GB2312?B?wvCjv6O/o78=?= In-Reply-To: <4C345036.6060404@cn.fujitsu.com> References: <201007071755312507364@gmail.com> <4C345036.6060404@cn.fujitsu.com> Message-ID: 哈哈,向社区提交源码,学生时才会去做的事。 在 2010年7月7日 下午6:00,Shi, Weihua 写道: > 十分抱歉,目前只有南京一处。 > > at 2010-7-7 17:55, scofield1025 wrote as: >> >> 2010-07-07 >> ------------------------------------------------------------------------ >> scofield1025 > > -- > Shi, Weihua > 79955-850 > > _______________________________________________ > Linux 内核开发中文邮件列表 > Linux-kernel在zh-kernel.org > http://zh-kernel.org/mailman/listinfo/linux-kernel > Linux 内核开发中文社区: http://zh-kernel.org From whs3727在gmail.com Fri Jul 9 22:05:39 2010 From: whs3727在gmail.com (whs) Date: Fri, 9 Jul 2010 22:05:39 +0800 Subject: =?GB2312?B?R1BTRNLG1rI=?= Message-ID: 大家好: 有谁移植过GPSD,一直北一出错,机器上已经装好了交叉编译工具,哪位弄过请指点一下,另外能否说下有关移植的技巧生成的 Makefile都是哪些东西需要修改。 GPSD编译时采用./configure --host=arm-linux 生成的Makefile中的CC意境编程了CC = arm-linux-gcc From borderj在gmail.com Fri Jul 9 22:40:51 2010 From: borderj在gmail.com (Bian Jiang) Date: Fri, 9 Jul 2010 22:40:51 +0800 Subject: =?UTF-8?B?UmU6IOaLm+iBmExpbnV45YaF5qC45byA5Y+R5Lq65ZGY?= In-Reply-To: References: <4C342161.3030909@cn.fujitsu.com> Message-ID: > > > Date: Wed, 7 Jul 2010 14:40:33 +0800 > > From: shiwh在cn.fujitsu.com > > To: linux-kernel在zh-kernel.org > > Subject: 招聘Linux内核开发人员 > > > > 您好, > > > > 某财富500强企业招聘Linux内核开发人员。 > > > > 希望您满足以下条件: > > 1、愿意执着于Linux技术,有兴趣为Linux的发展尽一份心力。 > > 2、Linux内核的工作经验或者研究经验。 > > 3、熟练使用C/Shell,熟悉OS结构和基本算法 > > 4、最好有在LKML等社区提交Patch或参与讨论的经验,了解Linux社区的工作模式。 > > 5、良好英语交流能力。 > > 6、愿意在南京工作。 > > > > 作为公司的Linux开发团队,我们从2003年开始介入Linux内核技术,至今为止提交的 > > 内核Patch达到1000多件,这个数量在中国可能是首屈一指的。 > > 同时我们参与各类国际性Linux技术论坛,如LinuxCon、Kernel Summit、NetConf、 > > Xen Summit等,并进行了多次技术讲演;也参加国内的开源技术论坛,如Aka论 > > 坛、LFS等。 > > 借由参加技术会议的机会,也多次与Linus Torvalds、Andrew Morton、Herbert Xu > > 等顶尖级牛人当面进行技术交流。 > > 目前团队拥有3名Linux开源社区维护者,数十名Linux技术人员,开放的技术交流 > > 环境, > > 明确的晋升路线和可观的薪资收入。 > > 目前专注的领域包括,cgroup、btrfs、ftrace、KVM、Xen、network、driver等。 > > > > 欢迎给我发送简历(shiwh在cn.fujitsu.com),您也可以通过Mail垂询任何问题。 > 非常不错的职位,只可惜不在北京,哈哈 -- Bian Jiang http://www.wifihack.net/ http://golang-china.org/ From tom.leiming在gmail.com Fri Jul 9 22:45:43 2010 From: tom.leiming在gmail.com (Ming Lei) Date: Fri, 9 Jul 2010 22:45:43 +0800 Subject: =?GB2312?B?UmU6INXQxrhMaW51eMTausu/qreiyMvUsQ==?= In-Reply-To: References: <4C342161.3030909@cn.fujitsu.com> <4C343EC1.9090404@cn.fujitsu.com> Message-ID: 在 2010年7月9日 下午5:29,Zhang Le 写道: > 2010/7/8 Ming Lei : >> 好奇的问下,你们怎么赚钱? 毕竟公司是要盈利的 > > 这些就是投资吧,内部投资,长线的 > 也就大公司玩的起 > startup不用想了 > > 比如intel搞自己的显卡的开源驱动,就是为了在开源社区里提高市场份额,扩大影响 > 押的宝是未来开源软件壮大后,他也跟着壮大 > > intel搞meego,为的就是让x86打入手机市场。当年卖xscale,已经在为此准备了。 发行版公司和芯片厂商(CPU/SoC/chipset/...)对社区的贡献很容易理解. fujitsu似乎在好多方向(cgroup/btrfs/ftrace/KVM/Xen/network/driver)都有贡献, 不知出于哪些考虑? 随便问问, 一点好奇而已, :-) -- Lei Ming From robert.zhangle在gmail.com Sat Jul 10 00:30:57 2010 From: robert.zhangle在gmail.com (Zhang Le) Date: Sat, 10 Jul 2010 00:30:57 +0800 Subject: =?UTF-8?B?UmU6IOaLm+iBmExpbnV45YaF5qC45byA5Y+R5Lq65ZGY?= In-Reply-To: References: <4C342161.3030909@cn.fujitsu.com> <4C343EC1.9090404@cn.fujitsu.com> Message-ID: 2010/7/9 Ming Lei : > 在 2010年7月9日 下午5:29,Zhang Le 写道: >> 2010/7/8 Ming Lei : >>> 好奇的问下,你们怎么赚钱?  毕竟公司是要盈利的 >> >> 这些就是投资吧,内部投资,长线的 >> 也就大公司玩的起 >> startup不用想了 >> >> 比如intel搞自己的显卡的开源驱动,就是为了在开源社区里提高市场份额,扩大影响 >> 押的宝是未来开源软件壮大后,他也跟着壮大 >> >> intel搞meego,为的就是让x86打入手机市场。当年卖xscale,已经在为此准备了。 > > 发行版公司和芯片厂商(CPU/SoC/chipset/...)对社区的贡献很容易理解. > > fujitsu似乎在好多方向(cgroup/btrfs/ftrace/KVM/Xen/network/driver)都有贡献, > 不知出于哪些考虑? > > 随便问问, 一点好奇而已, :-) 相信肯定是有原因的吧 不过要让当事人自己召告天下,我们做这个是为了干嘛,做那个是为了干嘛,恐怕不太现实 :) -- Zhang Le, Robert Gentoo/Loongson(龙芯) Developer http://zhangle.is-a-geek.org From wxjeacen在gmail.com Sat Jul 10 15:30:39 2010 From: wxjeacen在gmail.com (Devil Wang) Date: Sat, 10 Jul 2010 15:30:39 +0800 Subject: =?GB2312?B?UmU6ILrc09DQy8iko6zWu8TcysfEz76pwvAgsbG+qb/J0tQ=?= =?GB2312?B?wvCjv6O/o78=?= In-Reply-To: References: <201007071755312507364@gmail.com> <4C345036.6060404@cn.fujitsu.com> Message-ID: *什么? 没看到源邮件。。 我可以做source code contributor. * 2010/7/9 chengtao > 哈哈,向社区提交源码,学生时才会去做的事。 > > 在 2010年7月7日 下午6:00,Shi, Weihua 写道: > > 十分抱歉,目前只有南京一处。 > > > > at 2010-7-7 17:55, scofield1025 wrote as: > >> > >> 2010-07-07 > >> ------------------------------------------------------------------------ > >> scofield1025 > > > > -- > > Shi, Weihua > > 79955-850 > > > > _______________________________________________ > > Linux 内核开发中文邮件列表 > > Linux-kernel在zh-kernel.org > > http://zh-kernel.org/mailman/listinfo/linux-kernel > > Linux 内核开发中文社区: http://zh-kernel.org > _______________________________________________ > Linux 内核开发中文邮件列表 > Linux-kernel在zh-kernel.org > http://zh-kernel.org/mailman/listinfo/linux-kernel > Linux 内核开发中文社区: http://zh-kernel.org > -- Thanks & Regards Linux Developer : Devil Wang From qzhang.g在gmail.com Mon Jul 12 08:31:01 2010 From: qzhang.g在gmail.com (Alvin) Date: Mon, 12 Jul 2010 08:31:01 +0800 Subject: =?UTF-8?B?UmU6IGpmZnMyIOaWh+S7tuezu+e7n+aMgui9vemXrumimO+8gQ==?= In-Reply-To: References: Message-ID: busybox的版本df有的时候不准,我碰到过2G的卡df只显示1G总大小,还有1k-blocks不一定是1024B 2010/7/9 wang wang > Dear All: > > > Filesystem 1k-blocks Used Available Use% Mounted on > /dev/ram0 14521 7442 7079 51% / > /dev/mtdblock1 1408 652 756 46% /mnt/jffs2 > > 如上所示,是我载板上挂在后,用 df 查看的结果。 > 但我的 jffs2 映像文件是 1M 的,在PC上挂在后显示 1024 k ,这里为什么显示 1408 k 啊? > > 大家帮忙看看,是哪里的问题啊! > _______________________________________________ > Linux 内核开发中文邮件列表 > Linux-kernel在zh-kernel.org > http://zh-kernel.org/mailman/listinfo/linux-kernel > Linux 内核开发中文社区: http://zh-kernel.org -- ~Alvin From shiwh在cn.fujitsu.com Mon Jul 12 09:38:51 2010 From: shiwh在cn.fujitsu.com (Shi, Weihua) Date: Mon, 12 Jul 2010 09:38:51 +0800 Subject: =?UTF-8?B?5oub6IGYTGludXjlhoXmoLjlvIDlj5HkurrlkZg=?= In-Reply-To: References: <4C342161.3030909@cn.fujitsu.com> <4C343EC1.9090404@cn.fujitsu.com> Message-ID: <4C3A722B.4030606@cn.fujitsu.com> at 2010-7-9 22:45, Ming Lei wrote as: > 在 2010年7月9日 下午5:29,Zhang Le 写道: >> 2010/7/8 Ming Lei: >>> 好奇的问下,你们怎么赚钱? 毕竟公司是要盈利的 >> >> 这些就是投资吧,内部投资,长线的 >> 也就大公司玩的起 >> startup不用想了 >> >> 比如intel搞自己的显卡的开源驱动,就是为了在开源社区里提高市场份额,扩大影响 >> 押的宝是未来开源软件壮大后,他也跟着壮大 >> >> intel搞meego,为的就是让x86打入手机市场。当年卖xscale,已经在为此准备了。 > > 发行版公司和芯片厂商(CPU/SoC/chipset/...)对社区的贡献很容易理解. > > fujitsu似乎在好多方向(cgroup/btrfs/ftrace/KVM/Xen/network/driver)都有贡献, > 不知出于哪些考虑? 我尝试回答一下。 硬件厂商在销售自己的产品时都会提供一些建议安装的软件产品,比如你买了 Lenovo的PC,它会建议你安装Windows7。 有时候,硬件厂商甚至会提出必须安装某些软件,我指的不是驱动程序。 那么,作为大硬件厂商(主要是各大服务器厂商)是需要对客户的软件行为负责 的,比如客户听话地根据建议 安装了RedHat企业版,厂商就有必要对所安装的RedHat企业版提供技术支持和安全 维护。这有点像国内的系统集成 厂商,软硬件一起上马了,就必须对所有的东西进行售后支持。 在这种背景之下,硬件厂商就需要对开源软件进行研究以便把问题解决在事前或对 事后的解决有一个先行的技术储备, 这些包括新特性代码、存在性能问题的代码、针对特定硬件的代码等等。 不知道,我的回答能否让你满意,欢迎你和我offline讨论。 > > 随便问问, 一点好奇而已, :-) > From shiwh在cn.fujitsu.com Mon Jul 12 09:44:04 2010 From: shiwh在cn.fujitsu.com (Shi, Weihua) Date: Mon, 12 Jul 2010 09:44:04 +0800 Subject: =?UTF-8?B?5oub6IGYTGludXjlhoXmoLjlvIDlj5HkurrlkZg=?= In-Reply-To: <4C3A722B.4030606@cn.fujitsu.com> References: <4C342161.3030909@cn.fujitsu.com> <4C343EC1.9090404@cn.fujitsu.com> <4C3A722B.4030606@cn.fujitsu.com> Message-ID: <4C3A7364.4030307@cn.fujitsu.com> at 2010-7-12 9:38, Shi, Weihua wrote as: > at 2010-7-9 22:45, Ming Lei wrote as: >> 在 2010年7月9日 下午5:29,Zhang Le 写道: >>> 2010/7/8 Ming Lei: >>>> 好奇的问下,你们怎么赚钱? 毕竟公司是要盈利的 >>> >>> 这些就是投资吧,内部投资,长线的 >>> 也就大公司玩的起 >>> startup不用想了 >>> >>> 比如intel搞自己的显卡的开源驱动,就是为了在开源社区里提高市场份额,扩 >>> 大影响 >>> 押的宝是未来开源软件壮大后,他也跟着壮大 >>> >>> intel搞meego,为的就是让x86打入手机市场。当年卖xscale,已经在为此准备 >>> 了。 >> >> 发行版公司和芯片厂商(CPU/SoC/chipset/...)对社区的贡献很容易理解. >> >> fujitsu似乎在好多方向(cgroup/btrfs/ftrace/KVM/Xen/network/driver)都有 >> 贡献, >> 不知出于哪些考虑? > > 我尝试回答一下。 > 硬件厂商在销售自己的产品时都会提供一些建议安装的软件产品,比如你买了 > Lenovo的PC,它会建议你安装Windows7。 > 有时候,硬件厂商甚至会提出必须安装某些软件,我指的不是驱动程序。 > 那么,作为大硬件厂商(主要是各大服务器厂商)是需要对客户的软件行为负责 > 的,比如客户听话地根据建议 > 安装了RedHat企业版,厂商就有必要对所安装的RedHat企业版提供技术支持和安全 > 维护。这有点像国内的系统集成 > 厂商,软硬件一起上马了,就必须对所有的东西进行售后支持。 > 在这种背景之下,硬件厂商就需要对开源软件进行研究以便把问题解决在事前或对 > 事后的解决有一个先行的技术储备, > 这些包括新特性代码、存在性能问题的代码、针对特定硬件的代码等等。 > > 不知道,我的回答能否让你满意,欢迎你和我offline讨论。 你提到了“发行版公司和芯片厂商”,我想你可能不知道Fujitsu的产品线,请看 http://www.fujitsu.com/global/,另据我所知Fujitsu也有芯片产品的,甚至有 自己的OS ;-) > >> >> 随便问问, 一点好奇而已, :-) >> From qingshenlwy在gmail.com Mon Jul 12 13:08:22 2010 From: qingshenlwy在gmail.com (Wenyi Liu) Date: Mon, 12 Jul 2010 13:08:22 +0800 Subject: =?GB2312?B?UmU6ILrc09DQy8iko6zWu8TcysfEz76pwvAgsbG+qb/J0tQ=?= =?GB2312?B?wvCjv6O/o78=?= In-Reply-To: <201007071755312507364@gmail.com> References: <201007071755312507364@gmail.com> Message-ID: 估计是富士通的内核组招人,很爽的,只是不在成都…… 在 2010年7月7日 下午5:55,scofield1025 写道: > > > 2010-07-07 > > > > scofield1025 > _______________________________________________ > Linux 内核开发中文邮件列表 > Linux-kernel在zh-kernel.org > http://zh-kernel.org/mailman/listinfo/linux-kernel > Linux 内核开发中文社区: http://zh-kernel.org From helena.cai在oracle.com Mon Jul 12 18:03:37 2010 From: helena.cai在oracle.com (Helena Cai) Date: Mon, 12 Jul 2010 03:03:37 -0700 (PDT) Subject: =?utf-8?B?T3JhbGNlIEJKIOaLm+iBmCBTZW5pb3IgU29mdHdh?= =?utf-8?B?cmUgRGV2ZWxvcGVyIChMaW51eCBrZXJuZWwp?= Message-ID: <73876b48-9690-4b2e-b2c5-dcbf9b01b046@default>   对此职位感兴趣的朋友,可以将简历发至 HYPERLINK "mailto:helena.cai在hotmail.com"helena.cai在hotmail.com   工作地点:北京   Senior Software Developer (Linux kernel)   Department Description The Oracle VM (OVM) Server is a fast-paced team developing the server components of the Oracle VM:  a hypervisor based, agent-managed, x86 server virtualization environment. The OVM Server team is responsible for the hypervisor, kernel, hypervisor management stack and agent interface which is accessed by Oracle VM Manager.  This includes management of virtual machines and of all of the physical resources owned by the server. The OVM Server team works closely with the OVM Manager UI and OVM Core API teams during product development and testing. The team also works closely with other internal and external customers of the OVM solution.   Brief Description Design, develop, troubleshoot and debug software programs for databases, applications, tools, networks etc.   Detailed Description As a member of the software engineering division, you will take an active role in the definition and evolution of standard practices and procedures. You will be responsible for defining and developing software for tasks associated with the developing, designing and debugging of software applications or operating systems.   Job Requirement Work is non-routine and very complex, involving the application of advanced technical/business skills in area of specialization. Leading contributor individually and as a team member, providing direction and mentoring to others. BS or MS degree or equivalent experience relevant to functional area. 7 years of software engineering or related experience.   Additional Details The position requires direct experience with x86 hypervisor based server virtualization environments.  Experience with linux or similar Unix kernel is mandatory.  Strong proficiency with C and python are requirements.  Practical, hands-on experience with network and storage host adapter configuration, storage and network device configuration, and Intel/AMD platform features is highly recommended.  Excellent communication and documentation skills are necessary. From wwarboss在gmail.com Tue Jul 13 15:44:11 2010 From: wwarboss在gmail.com (qihao.xi) Date: Tue, 13 Jul 2010 15:44:11 +0800 Subject: =?utf-8?B?5YWz5LqORVNY6YeM6Z2i5qih5Z2X55qE?= =?utf-8?B?6LCD6K+V?= Message-ID: <20100713074409.GA9744@qxi> 大家好, 现在在调试一个esx3.5.5的模块问题,启动时加载一个模块,系统没有输出信息,也没有panic信息。 vmkload_mod -k xxxxx.o 这应该是load到vmkernel里面,不是cos里面。 现在的问题是driver里面printk的打印信息都看不到,是esx有什么特殊的设置吗?还是需要提高输出等级? PS:我这里是远程登录,没有屏幕。 谢谢 From jack_wang在usish.com Tue Jul 13 15:56:40 2010 From: jack_wang在usish.com (jack wang) Date: Tue, 13 Jul 2010 15:56:40 +0800 Subject: =?gb2312?B?tPC4tDogudjT2kVTWMDvw+bEo7/ptcS198rU?= In-Reply-To: <20100713074409.GA9744@qxi> References: <20100713074409.GA9744@qxi> Message-ID: <9FE11DA4F97C4C9B95498338772D6C8E@usish.com.cn> 大家好, 现在在调试一个esx3.5.5的模块问题,启动时加载一个模块,系统没有输出信息,也没 有panic信息。 vmkload_mod -k xxxxx.o 这应该是load到vmkernel里面,不是cos里面。 现在的问题是driver里面printk的打印信息都看不到,是esx有什么特殊的设置吗?还 是需要提高输出等级? PS:我这里是远程登录,没有屏幕。 谢谢 [Jack]esx不允许加载自己的模块,esxi是可以的 _______________________________________________ Linux 内核开发中文邮件列表 Linux-kernel在zh-kernel.org http://zh-kernel.org/mailman/listinfo/linux-kernel Linux 内核开发中文社区: http://zh-kernel.org From kernelws在gmail.com Tue Jul 13 16:27:07 2010 From: kernelws在gmail.com (su wang) Date: Tue, 13 Jul 2010 16:27:07 +0800 Subject: =?GB2312?B?UmU6IExpbnV4LWtlcm5lbCDVqtKqLCC+7SAzNiwgt6KyvCAxMQ==?= In-Reply-To: References: Message-ID: 请问,公司的地址在哪里?! 在 2010年7月9日 下午10:45, 写道: > 想在 Linux-kernel 邮件列表发言,请写信给: > linux-kernel在zh-kernel.org > > 要订阅或者退订列表,可以访问万维网地址: > http://zh-kernel.org/mailman/listinfo/linux-kernel > 或者可以向: > linux-kernel-request在zh-kernel.org > 发送主题或者正文为'help'的邮件。 > > 您可以通过邮件地址: > linux-kernel-owner在zh-kernel.org > 联系到此列表的管理员。 > > 当回信时,请给一个适当的标题,这样会比 "Re: > Contents of Linux-kernel digest..."更清楚明白。 > > > 这是邮件列表的摘要。如果想要回复此邮件,请务必注意: > 1. 根据要回复的主题,重新给邮件加上合适的标题 > 2. 去除和回复无关的其他引文。 > > 本日主题: > > 1. Re: 招聘Linux内核开发人员 (Kermit Mei) > 2. Fwd: jffs2 文件系统挂载问题! (wang wang) > 3. Re: 招聘Linux内核开发人员 (jeff.liu) > 4. Re: 招聘Linux内核开发人员 (Zhang Le) > 5. RE: 招聘Linux内核开发人员 (zhangleo) > 6. Re: 很有兴趣,只能是南京吗 > 北京可以吗??? (chengtao) > 7. GPSD移植 (whs) > 8. Re: 招聘Linux内核开发人员 (Bian Jiang) > 9. Re: 招聘Linux内核开发人员 (Ming Lei) > > > ---------------------------------------------------------------------- > > Message: 1 > Date: Fri, 09 Jul 2010 15:35:00 +0800 > From: Kermit Mei > To: "Shi, Weihua" > Cc: linux-kernel在zh-kernel.org > Subject: Re: 招聘Linux内核开发人员 > Message-ID: <1278660900.5619.16.camel在kermit-laptop> > Content-Type: text/plain; charset="UTF-8" > > On Fri, 2010-07-09 at 07:56 +0800, Shi, Weihua wrote: > > at 2010-7-8 22:30, Ming Lei wrote as: > > > 好奇的问下,你们怎么赚钱? 毕竟公司是要盈利的 > > > > 这个问题对我来说太难回答了,因为利润实现过程非常复杂也非常难于核算。 > > 开源软件都是由各大公司支撑的,这些大公司投资开源软件可以实现更为广泛的商 > > 业价值, > > 比如安装Linux的硬件销售、售后的技术支持 之类。 > > 此外,这些公司――尤其是硬件公司支持Linux,已经不单单不是为了眼前的利 > 益。比如Intel现在对Linux的支持,在某种程度上就是为了摆脱M$的束缚,虽然短 > 期不一定盈利,但是从长期战略上来讲是必须的。 > > > > > ------------------------------ > > Message: 2 > Date: Fri, 9 Jul 2010 16:10:30 +0800 > From: wang wang > To: linux-kernel在zh-kernel.org > Subject: Fwd: jffs2 文件系统挂载问题! > Message-ID: > > Content-Type: text/plain; charset=GB2312 > > Dear All: > > > Filesystem 1k-blocks Used Available Use% Mounted on > /dev/ram0 14521 7442 7079 51% / > /dev/mtdblock1 1408 652 756 46% /mnt/jffs2 > > 如上所示,是我载板上挂在后,用 df 查看的结果。 > 但我的 jffs2 映像文件是 1M 的,在PC上挂在后显示 1024 k ,这里为什么显示 1408 k 啊? > > 大家帮忙看看,是哪里的问题啊! > > ------------------------------ > > Message: 3 > Date: Fri, 09 Jul 2010 16:59:38 +0800 > From: "jeff.liu" > To: Kermit Mei > Cc: linux-kernel在zh-kernel.org > Subject: Re: 招聘Linux内核开发人员 > Message-ID: <4C36E4FA.1000300在oracle.com> > Content-Type: text/plain; charset=utf-8 > > Kermit Mei wrote: > > On Fri, 2010-07-09 at 07:56 +0800, Shi, Weihua wrote: > >> at 2010-7-8 22:30, Ming Lei wrote as: > >>> 好奇的问下,你们怎么赚钱? 毕竟公司是要盈利的 > >> 这个问题对我来说太难回答了,因为利润实现过程非常复杂也非常难于核算。 > >> 开源软件都是由各大公司支撑的,这些大公司投资开源软件可以实现更为广泛的商 > >> 业价值, > >> 比如安装Linux的硬件销售、售后的技术支持 之类。 > > > > 此外,这些公司――尤其是硬件公司支持Linux,已经不单单不是为了眼前的利 > > 益。比如Intel现在对Linux的支持,在某种程度上就是为了摆脱M$的束缚,虽然短 > > 期不一定盈利,但是从长期战略上来讲是必须的。 > 软件公司对linux kernel的一些具体优化, 可以提高其相关产品的市场竞争力(对抗MS, etc...). > > > > > > _______________________________________________ > > Linux 内核开发中文邮件列表 > > Linux-kernel在zh-kernel.org > > http://zh-kernel.org/mailman/listinfo/linux-kernel > > Linux 内核开发中文社区: http://zh-kernel.org > > > -- > With Windows 7, Microsoft is asserting legal control over your computer and > is using this power to > abuse computer users. > > > ------------------------------ > > Message: 4 > Date: Fri, 9 Jul 2010 17:29:05 +0800 > From: Zhang Le > To: Ming Lei > Cc: linux-kernel在zh-kernel.org > Subject: Re: 招聘Linux内核开发人员 > Message-ID: > > Content-Type: text/plain; charset=UTF-8 > > 2010/7/8 Ming Lei : > > 好奇的问下,你们怎么赚钱? 毕竟公司是要盈利的 > > 这些就是投资吧,内部投资,长线的 > 也就大公司玩的起 > startup不用想了 > > 比如intel搞自己的显卡的开源驱动,就是为了在开源社区里提高市场份额,扩大影响 > 押的宝是未来开源软件壮大后,他也跟着壮大 > > intel搞meego,为的就是让x86打入手机市场。当年卖xscale,已经在为此准备了。 > > -- > Zhang Le, Robert > Gentoo/Loongson(龙芯) Developer > http://zhangle.is-a-geek.org > > ------------------------------ > > Message: 5 > Date: Fri, 9 Jul 2010 09:33:53 +0000 > From: zhangleo > To: , > Subject: RE: 招聘Linux内核开发人员 > Message-ID: > Content-Type: text/plain; charset="gb2312" > > > 貌似富士通啊,嘿嘿 > > > Date: Wed, 7 Jul 2010 14:40:33 +0800 > > From: shiwh在cn.fujitsu.com > > To: linux-kernel在zh-kernel.org > > Subject: 招聘Linux内核开发人员 > > > > 您好, > > > > 某财富500强企业招聘Linux内核开发人员。 > > > > 希望您满足以下条件: > > 1、愿意执着于Linux技术,有兴趣为Linux的发展尽一份心力。 > > 2、Linux内核的工作经验或者研究经验。 > > 3、熟练使用C/Shell,熟悉OS结构和基本算法 > > 4、最好有在LKML等社区提交Patch或参与讨论的经验,了解Linux社区的工作模式。 > > 5、良好英语交流能力。 > > 6、愿意在南京工作。 > > > > 作为公司的Linux开发团队,我们从2003年开始介入Linux内核技术,至今为止提交的 > > 内核Patch达到1000多件,这个数量在中国可能是首屈一指的。 > > 同时我们参与各类国际性Linux技术论坛,如LinuxCon、Kernel Summit、NetConf、 > > Xen Summit等,并进行了多次技术讲演;也参加国内的开源技术论坛,如Aka论 > > 坛、LFS等。 > > 借由参加技术会议的机会,也多次与Linus Torvalds、Andrew Morton、Herbert Xu > > 等顶尖级牛人当面进行技术交流。 > > 目前团队拥有3名Linux开源社区维护者,数十名Linux技术人员,开放的技术交流 > > 环境, > > 明确的晋升路线和可观的薪资收入。 > > 目前专注的领域包括,cgroup、btrfs、ftrace、KVM、Xen、network、driver等。 > > > > 欢迎给我发送简历(shiwh在cn.fujitsu.com),您也可以通过Mail垂询任何问题。 > > > > _______________________________________________ > > Linux 内核开发中文邮件列表 > > Linux-kernel在zh-kernel.org > > http://zh-kernel.org/mailman/listinfo/linux-kernel > > Linux 内核开发中文社区: http://zh-kernel.org > > _________________________________________________________________ > 约会说不清地方?来试试微软地图最新msn互动功能! > http://ditu.live.com/?form=TL&swm=1 > > ------------------------------ > > Message: 6 > Date: Fri, 9 Jul 2010 21:01:05 +0800 > From: chengtao > To: "Shi, Weihua" , linux-kernel在zh-kernel.org > Subject: Re: 很有兴趣,只能是南京吗 > 北京可以吗??? > Message-ID: > > Content-Type: text/plain; charset=GB2312 > > 哈哈,向社区提交源码,学生时才会去做的事。 > > 在 2010年7月7日 下午6:00,Shi, Weihua 写道: > > 十分抱歉,目前只有南京一处。 > > > > at 2010-7-7 17:55, scofield1025 wrote as: > >> > >> 2010-07-07 > >> ------------------------------------------------------------------------ > >> scofield1025 > > > > -- > > Shi, Weihua > > 79955-850 > > > > _______________________________________________ > > Linux 内核开发中文邮件列表 > > Linux-kernel在zh-kernel.org > > http://zh-kernel.org/mailman/listinfo/linux-kernel > > Linux 内核开发中文社区: http://zh-kernel.org > > ------------------------------ > > Message: 7 > Date: Fri, 9 Jul 2010 22:05:39 +0800 > From: whs > To: Linux-kernel在zh-kernel.org > Subject: GPSD移植 > Message-ID: > > Content-Type: text/plain; charset=GB2312 > > 大家好: > 有谁移植过GPSD,一直北一出错,机器上已经装好了交叉编译工具,哪位弄过请指点一下,另外能否说下有关移植的技巧生成的 > Makefile都是哪些东西需要修改。 > GPSD编译时采用./configure --host=arm-linux 生成的Makefile中的CC意境编程了CC = > arm-linux-gcc > > ------------------------------ > > Message: 8 > Date: Fri, 9 Jul 2010 22:40:51 +0800 > From: Bian Jiang > To: zhangleo > Cc: linux-kernel在zh-kernel.org > Subject: Re: 招聘Linux内核开发人员 > Message-ID: > > Content-Type: text/plain; charset=UTF-8 > > > > > > Date: Wed, 7 Jul 2010 14:40:33 +0800 > > > From: shiwh在cn.fujitsu.com > > > To: linux-kernel在zh-kernel.org > > > Subject: 招聘Linux内核开发人员 > > > > > > 您好, > > > > > > 某财富500强企业招聘Linux内核开发人员。 > > > > > > 希望您满足以下条件: > > > 1、愿意执着于Linux技术,有兴趣为Linux的发展尽一份心力。 > > > 2、Linux内核的工作经验或者研究经验。 > > > 3、熟练使用C/Shell,熟悉OS结构和基本算法 > > > 4、最好有在LKML等社区提交Patch或参与讨论的经验,了解Linux社区的工作模式。 > > > 5、良好英语交流能力。 > > > 6、愿意在南京工作。 > > > > > > 作为公司的Linux开发团队,我们从2003年开始介入Linux内核技术,至今为止提交的 > > > 内核Patch达到1000多件,这个数量在中国可能是首屈一指的。 > > > 同时我们参与各类国际性Linux技术论坛,如LinuxCon、Kernel Summit、NetConf、 > > > Xen Summit等,并进行了多次技术讲演;也参加国内的开源技术论坛,如Aka论 > > > 坛、LFS等。 > > > 借由参加技术会议的机会,也多次与Linus Torvalds、Andrew Morton、Herbert Xu > > > 等顶尖级牛人当面进行技术交流。 > > > 目前团队拥有3名Linux开源社区维护者,数十名Linux技术人员,开放的技术交流 > > > 环境, > > > 明确的晋升路线和可观的薪资收入。 > > > 目前专注的领域包括,cgroup、btrfs、ftrace、KVM、Xen、network、driver等。 > > > > > > 欢迎给我发送简历(shiwh在cn.fujitsu.com),您也可以通过Mail垂询任何问题。 > > > > 非常不错的职位,只可惜不在北京,哈哈 > > > -- > Bian Jiang > http://www.wifihack.net/ > http://golang-china.org/ > > ------------------------------ > > Message: 9 > Date: Fri, 9 Jul 2010 22:45:43 +0800 > From: Ming Lei > To: Zhang Le > Cc: linux-kernel在zh-kernel.org > Subject: Re: 招聘Linux内核开发人员 > Message-ID: > > Content-Type: text/plain; charset=GB2312 > > 在 2010年7月9日 下午5:29,Zhang Le 写道: > > 2010/7/8 Ming Lei : > >> 好奇的问下,你们怎么赚钱? 毕竟公司是要盈利的 > > > > 这些就是投资吧,内部投资,长线的 > > 也就大公司玩的起 > > startup不用想了 > > > > 比如intel搞自己的显卡的开源驱动,就是为了在开源社区里提高市场份额,扩大影响 > > 押的宝是未来开源软件壮大后,他也跟着壮大 > > > > intel搞meego,为的就是让x86打入手机市场。当年卖xscale,已经在为此准备了。 > > 发行版公司和芯片厂商(CPU/SoC/chipset/...)对社区的贡献很容易理解. > > fujitsu似乎在好多方向(cgroup/btrfs/ftrace/KVM/Xen/network/driver)都有贡献, > 不知出于哪些考虑? > > 随便问问, 一点好奇而已, :-) > > -- > Lei Ming > > ------------------------------ > > _______________________________________________ > Linux内核开发中文邮件列表 > Linux-kernel在zh-kernel.org > http://zh-kernel.org/mailman/listinfo/linux-kernel > Linux 内核开发中文社区: http://zh-kernel.org > > 结束Linux-kernel 摘要, 卷 36, 发布 11 > ******************************************** > From wwarboss在gmail.com Tue Jul 13 16:27:57 2010 From: wwarboss在gmail.com (qihao.xi) Date: Tue, 13 Jul 2010 16:27:57 +0800 Subject: =?utf-8?B?562U5aSNOiDlhbPkuo5FU1jph4w=?= =?utf-8?B?6Z2i5qih5Z2X55qE6LCD6K+V?= In-Reply-To: <9FE11DA4F97C4C9B95498338772D6C8E@usish.com.cn> References: <20100713074409.GA9744@qxi> <9FE11DA4F97C4C9B95498338772D6C8E@usish.com.cn> Message-ID: <20100713082755.GB9744@qxi> On Tue, Jul 13, 2010 at 03:56:40PM +0800, jack wang wrote: > >大家好, > >现在在调试一个esx3.5.5的模块问题,启动时加载一个模块,系统没有输出信息,也没 >有panic信息。 >vmkload_mod -k xxxxx.o 这应该是load到vmkernel里面,不是cos里面。 >现在的问题是driver里面printk的打印信息都看不到,是esx有什么特殊的设置吗?还 >是需要提高输出等级? > >PS:我这里是远程登录,没有屏幕。 谢谢 > > >[Jack]esx不允许加载自己的模块,esxi是可以的 我的的确是esx。现在看来debug模式可以输出,标准启动没有 From sw85在163.com Tue Jul 13 16:34:31 2010 From: sw85在163.com (sw85) Date: Tue, 13 Jul 2010 16:34:31 +0800 Subject: =?gb2312?B?ztLU9cO0w7vT0MrVtb3Tyrz+xNijvw==?= Message-ID: <201007131634294372887@163.com> 我怎么没有收到邮件呢? 2010-07-13 sw85 From linuxjoy在gmail.com Wed Jul 14 15:27:09 2010 From: linuxjoy在gmail.com (kiron hy) Date: Wed, 14 Jul 2010 15:27:09 +0800 Subject: 无主题 Message-ID: From zhangsw在gwbnsh.net.cn Wed Jul 14 16:03:43 2010 From: zhangsw在gwbnsh.net.cn (=?UTF-8?B?5byg57uN5paH?=) Date: Wed, 14 Jul 2010 16:03:43 +0800 Subject: =?UTF-8?B?TVNQNDMw5byA5Y+R5p2/6IO95YGa5LuA5LmI5ZWK77yf6IO96LeRTGludXjkuI0=?= Message-ID: ---------- 已转发邮件 ---------- 发件人: Texas Instruments 日期: 2010年7月14日 下午2:16 主题: 现只需完成填写问卷, 即有机会免费获得 MSP-EKP30G2 开发板 收件人: 售价 4.30 美元的 MSP430 LaunchPad 套件专为 Value Line 器件精心打造 [image: MSP-EXP30G2 LaunchPad Kit] 完整填写调查问卷 即可免费申请 MSP-EXP430G2 立即申请 更多详情 [image: Texas Instruments] 推出可实现板载原型设计、调试及编程的业界最低成本微处理器开发套件 *能以 8 位产品价格实现 16 位出色性能与超低功耗的 Value Line 系列 MSP430™ 处理器,可帮助您轻松启动设计,真正做到以更少投入实现更多收益。* *集成型闪存仿真工具* - 无需外部工具; - USB 供电的集成型仿真器; - 包含微型 USB 线缆; - 可通过 Spy Bi-Wire(双线 JTAG)协议对任何 MSP430 Value Line MCU 进行编程与调试; - Value Line MCU 在整个 MSP430 产品线中实现了代码兼容,可实现更高的可扩展性。 *DIP 目标插槽支持多达 20 引脚的器件* - 能够便捷地对任何 MSP430 Value Line MCU 进行评估、编程与调试; - 可卸下已编程的 MSP430 Value Line 器件,插入定制电路板中; - 相反,若使 MCU 始终插入 LaunchPad,则 LaunchPad 可作为具有板载 LED、开关以及分支引脚的独立系统使用。 *配套提供 2 款 MSP430 Value Line MCU* 器件 闪存 RAM GPIO WDT BOR USI Comp ADC MSP430G2211 2 kB 128 B 10 支持 支持 – 支持 – MSP430G2231 2 kB 128 B 10 支持 支持 支持 – 8 通道 10 位 ADC *免费软件工具与完整的在线资源* - * 可下载的代码范例与开源项目:www.ti.com/launchpadwiki * - * 可下载不受限制的免费 IDE:* - Code Composer Studio Ver 4 - IAR Embedded Workbench - * 综合快速启动用户指南。* *如欲了解更多详情,敬请访问:www.ti.com/launchpadwiki或 www.ti.com/430value 。* -- 张绍文 gongfan193在gmail.com zhangsw在gwbnsh.net.cn 18601633785 From qiancheng1986在gmail.com Wed Jul 14 17:08:53 2010 From: qiancheng1986在gmail.com (=?GB2312?B?x66zzA==?=) Date: Wed, 14 Jul 2010 17:08:53 +0800 Subject: =?GB2312?B?VVNCx/22r87KzOI=?= Message-ID: 写了一个USB的驱动程序,在虚拟机里进行各种测试都正常,但是一到实际的linux机器上运行就不正常。是什么原因? From 1226ehziy在gmail.com Wed Jul 14 17:19:23 2010 From: 1226ehziy在gmail.com (=?GB2312?B?t67F8w==?=) Date: Wed, 14 Jul 2010 17:19:23 +0800 Subject: =?GB2312?B?UmU6IFVTQsf9tq/Oyszi?= In-Reply-To: References: Message-ID: 有log可以看一下么? 在 2010年7月14日 下午5:08,钱程 写道: > 写了一个USB的驱动程序,在虚拟机里进行各种测试都正常,但是一到实际的linux机器上运行就不正常。是什么原因? > _______________________________________________ > Linux 内核开发中文邮件列表 > Linux-kernel在zh-kernel.org > http://zh-kernel.org/mailman/listinfo/linux-kernel > Linux 内核开发中文社区: http://zh-kernel.org -- I believe I can From hxwsimon在gmail.com Wed Jul 14 17:20:48 2010 From: hxwsimon在gmail.com (Xingwen Huang) Date: Wed, 14 Jul 2010 17:20:48 +0800 Subject: =?GB2312?B?dXNi0+uz5LXnxvc=?= Message-ID: 各位同仁: 充电器用的是usb的接口,请问如何识别插入的设备是充电器还是usb存储设备? 谢谢! From adam8157在gmail.com Wed Jul 14 17:24:22 2010 From: adam8157在gmail.com (Adam Lee) Date: Wed, 14 Jul 2010 17:24:22 +0800 Subject: =?UTF-8?B?UmU6IHVzYuS4juWFheeUteWZqA==?= In-Reply-To: References: Message-ID: 2010/7/14 Xingwen Huang : > 各位同仁: >      充电器用的是usb的接口,请问如何识别插入的设备是充电器还是usb存储设备? > 普通充电器什么也识别不到, 就用了那几根供电的线... -- Regards, Adam Lee -------------------------------------------------- E-mail: adam8157在gmail.com Website: http://www.adam8157.info -------------------------------------------------- From hxwsimon在gmail.com Wed Jul 14 17:27:36 2010 From: hxwsimon在gmail.com (Xingwen Huang) Date: Wed, 14 Jul 2010 17:27:36 +0800 Subject: =?GB2312?B?UmU6IHVzYtPrs+S158b3?= In-Reply-To: References: Message-ID: 也就是说,中断告诉我们有设备插入,然后通过判断不是usb设备,我们就可以认为他是充电器? 2010/7/14 Adam Lee > 2010/7/14 Xingwen Huang : > > 各位同仁: > > 充电器用的是usb的接口,请问如何识别插入的设备是充电器还是usb存储设备? > > > > 普通充电器什么也识别不到, 就用了那几根供电的线... > > -- > Regards, > Adam Lee > -------------------------------------------------- > E-mail: adam8157在gmail.com > Website: http://www.adam8157.info > -------------------------------------------------- > From linuxjoy在gmail.com Wed Jul 14 17:49:33 2010 From: linuxjoy在gmail.com (kiron hy) Date: Wed, 14 Jul 2010 17:49:33 +0800 Subject: =?GB2312?B?UmU6IHVzYtPrs+S158b3?= In-Reply-To: References: Message-ID: 充电器不会有中断,什么也不会有,主机控制器应该察觉不到 在 2010年7月14日 下午5:27,Xingwen Huang 写道: > 也就是说,中断告诉我们有设备插入,然后通过判断不是usb设备,我们就可以认为他是充电器? > > 2010/7/14 Adam Lee > >> 2010/7/14 Xingwen Huang : >> > 各位同仁: >> > 充电器用的是usb的接口,请问如何识别插入的设备是充电器还是usb存储设备? >> > >> >> 普通充电器什么也识别不到, 就用了那几根供电的线... >> >> -- >> Regards, >> Adam Lee >> -------------------------------------------------- >> E-mail: adam8157在gmail.com >> Website: http://www.adam8157.info >> -------------------------------------------------- >> > _______________________________________________ > Linux 内核开发中文邮件列表 > Linux-kernel在zh-kernel.org > http://zh-kernel.org/mailman/listinfo/linux-kernel > Linux 内核开发中文社区: http://zh-kernel.org From tom.leiming在gmail.com Wed Jul 14 17:52:24 2010 From: tom.leiming在gmail.com (Ming Lei) Date: Wed, 14 Jul 2010 17:52:24 +0800 Subject: =?GB2312?B?UmU6IHVzYtPrs+S158b3?= In-Reply-To: References: Message-ID: 在 2010年7月14日 下午5:27,Xingwen Huang 写道: >> 普通充电器什么也识别不到, 就用了那几根供电的线... >> 可以通过D+/D-来判断, 方法不少, :-) -- Lei Ming From hxwsimon在gmail.com Wed Jul 14 18:03:33 2010 From: hxwsimon在gmail.com (Xingwen Huang) Date: Wed, 14 Jul 2010 18:03:33 +0800 Subject: =?GB2312?B?UmU6IHVzYtPrs+S158b3?= In-Reply-To: References: Message-ID: 硬件方面没有检测电路哦,希望单从软件、驱动考虑 2010/7/14 Ming Lei > 在 2010年7月14日 下午5:27,Xingwen Huang 写道: > > >> 普通充电器什么也识别不到, 就用了那几根供电的线... > >> > > 可以通过D+/D-来判断, 方法不少, :-) > > > -- > Lei Ming > From pengxihan在gmail.com Wed Jul 14 20:52:28 2010 From: pengxihan在gmail.com (hank peng) Date: Wed, 14 Jul 2010 20:52:28 +0800 Subject: =?UTF-8?B?5aaC5L2V6K6pU0FUQeehrOebmOS7pWhkeOeahOW9ouW8j+WHuueOsO+8nw==?= Message-ID: 主板上intel的ICH芯片连接出6个SATA接口来,在内核中选上对应的驱动后,接上硬盘显示的是sda,我想以hda的形式出现,请问如何实现? 也就是说我不想走scsi那一层。 -- The simplest is not all best but the best is surely the simplest! From tom.leiming在gmail.com Wed Jul 14 22:41:05 2010 From: tom.leiming在gmail.com (Ming Lei) Date: Wed, 14 Jul 2010 22:41:05 +0800 Subject: =?GB2312?B?UmU6IHVzYtPrs+S158b3?= In-Reply-To: References: Message-ID: 在 2010年7月14日 下午6:03,Xingwen Huang 写道: > 硬件方面没有检测电路哦,希望单从软件、驱动考虑 一般来讲,不需要特别的检测电路。 对充电器而言, D+/D-应该是悬空的。 一般的usb device controller都有 获取D+/D-状态的register,可以根据这个来判断。 或者利用usb host 在D+/D-会发送某些命令的思路。 -- Lei Ming From jack_wang在usish.com Wed Jul 14 22:50:45 2010 From: jack_wang在usish.com (=?utf-8?B?amFja193YW5n?=) Date: Wed, 14 Jul 2010 22:50:45 +0800 Subject: =?utf-8?B?UmU6IOWmguS9leiuqVNBVEHnoaznm5jku6VoZHjnmoTlvaLlvI/lh7rnjrDvvJ8=?= References: Message-ID: <201007142250447817346@usish.com> 如果ide驱动里面有对应的芯片驱动就可以。 不过很多发布版ide已经被libata取代,作为默认的ata支持 2010-07-14 jack_wang 发件人: hank peng 发送时间: 2010-07-14 20:52:41 收件人: linux-kernel 抄送: 主题: 如何让SATA硬盘以hdx的形式出现? 主板上intel的ICH芯片连接出6个SATA接口来,在内核中选上对应的驱动后,接上硬盘显示的是sda,我想以hda的形式出现,请问如何实现? 也就是说我不想走scsi那一层。 -- The simplest is not all best but the best is surely the simplest! _______________________________________________ Linux 内核开发中文邮件列表 Linux-kernel在zh-kernel.org http://zh-kernel.org/mailman/listinfo/linux-kernel Linux 内核开发中文社区: http://zh-kernel.org __________ Information from ESET NOD32 Antivirus, version of virus signature database 5277 (20100714) __________ The message was checked by ESET NOD32 Antivirus. http://www.eset.com From rjiejie在gmail.com Wed Jul 14 23:34:47 2010 From: rjiejie在gmail.com (Grass) Date: Wed, 14 Jul 2010 23:34:47 +0800 Subject: =?GB2312?B?x+u9zGxpbnV4INbQts/Txc/IvLbKtc/W?= Message-ID: 请问哪位知道linux下如何实现中断优先级吗? 我找了下相关资料,好像linux本身并不实现中断优先级。请高手指点,感激不尽。 From arethe.kernel在gmail.com Thu Jul 15 08:26:47 2010 From: arethe.kernel在gmail.com (=?utf-8?B?YXJldGhlIHFpbg==?=) Date: Thu, 15 Jul 2010 08:26:47 +0800 Subject: =?utf-8?B?UmU6IOWmguS9leiuqVNBVEHnoaznm5jku6VoZHjnmoTlvaLlvI/lh7rnjrDvvJ8=?= References: Message-ID: <201007150826436098903@gmail.com> BIOS可以将SATA硬盘模拟成IDE,在BIOS里设一下就可以了 白衣 敬上 2010-07-15 arethe qin 发件人: hank peng 发送时间: 2010-07-14 20:53:46 收件人: linux-kernel 抄送: 主题: 如何让SATA硬盘以hdx的形式出现? 主板上intel的ICH芯片连接出6个SATA接口来,在内核中选上对应的驱动后,接上硬盘显示的是sda,我想以hda的形式出现,请问如何实现? 也就是说我不想走scsi那一层。 -- The simplest is not all best but the best is surely the simplest! _______________________________________________ Linux 内核开发中文邮件列表 Linux-kernel在zh-kernel.org http://zh-kernel.org/mailman/listinfo/linux-kernel Linux 内核开发中文社区: http://zh-kernel.org From bekars在gmail.com Thu Jul 15 09:16:34 2010 From: bekars在gmail.com (bekars) Date: Thu, 15 Jul 2010 09:16:34 +0800 Subject: =?GB2312?B?UmU6IMjnus7Iw1NBVEHTssXM0tRoZHi1xNDOyr2z9s/Wo78=?= In-Reply-To: References: Message-ID: 修改内核,改硬盘设备名字为hdx 网卡的我试过,硬盘没有试过,可以试试 在 2010年7月14日 下午8:52,hank peng 写道: > 主板上intel的ICH芯片连接出6个SATA接口来,在内核中选上对应的驱动后,接上硬盘显示的是sda,我想以hda的形式出现,请问如何实现? > 也就是说我不想走scsi那一层。 > > -- > The simplest is not all best but the best is surely the simplest! > _______________________________________________ > Linux 内核开发中文邮件列表 > Linux-kernel在zh-kernel.org > http://zh-kernel.org/mailman/listinfo/linux-kernel > Linux 内核开发中文社区: http://zh-kernel.org From lantianyu1986在gmail.com Thu Jul 15 09:23:18 2010 From: lantianyu1986在gmail.com (=?GB2312?B?wLbM7NPu?=) Date: Thu, 15 Jul 2010 09:23:18 +0800 Subject: =?GB2312?B?UmU6IMfrvcxsaW51eCDW0LbP08XPyLy2yrXP1g==?= In-Reply-To: References: Message-ID: 中断优先级,这个由主控芯片的中断控制器控制的,这个要看你用的芯片的手册了。 在 2010年7月14日 下午11:34,Grass 写道: > 请问哪位知道linux下如何实现中断优先级吗? > 我找了下相关资料,好像linux本身并不实现中断优先级。请高手指点,感激不尽。 > _______________________________________________ > Linux 内核开发中文邮件列表 > Linux-kernel在zh-kernel.org > http://zh-kernel.org/mailman/listinfo/linux-kernel > Linux 内核开发中文社区: http://zh-kernel.org From lantianyu1986在gmail.com Thu Jul 15 09:27:23 2010 From: lantianyu1986在gmail.com (=?GB2312?B?wLbM7NPu?=) Date: Thu, 15 Jul 2010 09:27:23 +0800 Subject: =?GB2312?B?UmU6IHVzYtPrs+S158b3?= In-Reply-To: References: Message-ID: usb设备插入后,usb控制器回去读usb设备的配置,配置中会有数据确定是什么设备。 From qzhang.g在gmail.com Thu Jul 15 09:28:54 2010 From: qzhang.g在gmail.com (Alvin) Date: Thu, 15 Jul 2010 09:28:54 +0800 Subject: =?UTF-8?B?UmU6IOWmguS9leiuqVNBVEHnoaznm5jku6VoZHjnmoTlvaLlvI/lh7rnjrDvvJ8=?= In-Reply-To: References: Message-ID: 可以保留sda节点的话,试试编几个udev rules就行了 2010/7/15 bekars > 修改内核,改硬盘设备名字为hdx > > 网卡的我试过,硬盘没有试过,可以试试 > > 在 2010年7月14日 下午8:52,hank peng 写道: > > > 主板上intel的ICH芯片连接出6个SATA接口来,在内核中选上对应的驱动后,接上硬盘显示的是sda,我想以hda的形式出现,请问如何实现? > > 也就是说我不想走scsi那一层。 > > > > -- > > The simplest is not all best but the best is surely the simplest! > > _______________________________________________ > > Linux 内核开发中文邮件列表 > > Linux-kernel在zh-kernel.org > > http://zh-kernel.org/mailman/listinfo/linux-kernel > > Linux 内核开发中文社区: http://zh-kernel.org > _______________________________________________ > Linux 内核开发中文邮件列表 > Linux-kernel在zh-kernel.org > http://zh-kernel.org/mailman/listinfo/linux-kernel > Linux 内核开发中文社区: http://zh-kernel.org > -- ~Alvin From 21cnbao在gmail.com Thu Jul 15 10:36:37 2010 From: 21cnbao在gmail.com (Barry Song) Date: Thu, 15 Jul 2010 10:36:37 +0800 Subject: =?UTF-8?B?UmU6IOivt+aVmWxpbnV4IOS4reaWreS8mOWFiOe6p+WunueOsA==?= In-Reply-To: References: Message-ID: 我个人认为 蓝天宇 的说法是正确的。 Linux OS在软件意义上没有中断优先级的概念(在软件意义上,是进程优先级),而所谓中断优先级,更多的是一个硬件上的概念,由中断控制器控制。 在软件意义上,只能通过IRQF_DISABLE标志去标识所谓“快中断”,实际是限制中断的嵌套。 2010/7/15 蓝天宇 > 中断优先级,这个由主控芯片的中断控制器控制的,这个要看你用的芯片的手册了。 > > 在 2010年7月14日 下午11:34,Grass 写道: > > > 请问哪位知道linux下如何实现中断优先级吗? > > 我找了下相关资料,好像linux本身并不实现中断优先级。请高手指点,感激不尽。 > > _______________________________________________ > > Linux 内核开发中文邮件列表 > > Linux-kernel在zh-kernel.org > > http://zh-kernel.org/mailman/listinfo/linux-kernel > > Linux 内核开发中文社区: http://zh-kernel.org > _______________________________________________ > Linux 内核开发中文邮件列表 > Linux-kernel在zh-kernel.org > http://zh-kernel.org/mailman/listinfo/linux-kernel > Linux 内核开发中文社区: http://zh-kernel.org > From shijie8在gmail.com Thu Jul 15 10:57:13 2010 From: shijie8在gmail.com (Huang Shijie) Date: Thu, 15 Jul 2010 10:57:13 +0800 Subject: =?GB2312?B?eDg2tcRwYWdlIGZhdWx0tcTLwMv4zsrM4g==?= Message-ID: <4C3E7909.9080704@gmail.com> 在/arch/x86/mm/fault.c的do_page_fault()函数里。 有个检查死锁的代码: /* * When running in the kernel we expect faults to occur only to * addresses in user space. All other faults represent errors in * the kernel and should generate an OOPS. Unfortunately, in the * case of an erroneous fault occurring in a code path which already * holds mmap_sem we will deadlock attempting to validate the fault * against the address space. Luckily the kernel only validly * references user space from well defined areas of code, which are * listed in the exceptions table. * * As the vast majority of faults will be valid we will only perform * the source reference check when there is a possibility of a * deadlock. Attempt to lock the address space, if we cannot we then * validate the source. If this is invalid we can skip the address * space check, thus avoiding the deadlock: */ if (unlikely(!down_read_trylock(&mm->mmap_sem))) { if ((error_code & PF_USER) == 0 && !search_exception_tables(regs->ip)) { bad_area_nosemaphore(regs, error_code, address); return; } down_read(&mm->mmap_sem); } 其中对死锁的原因解释是:“Unfortunately, in the * case of an erroneous fault occurring in a code path which already * holds mmap_sem we will deadlock attempting to validate the fault * against the address space。” 什么是“an erroneous fault occurring in a code path ” ? 谢谢。 From yun10xiang在163.com Thu Jul 15 11:53:49 2010 From: yun10xiang在163.com (yun10xiang) Date: Thu, 15 Jul 2010 11:53:49 +0800 (CST) Subject: =?gbk?Q?linux=B4=B4=BD=A8=D2=B3=B1=ED?= Message-ID: <15a52fd.3510.129d43c9f08.Coremail.yun10xiang@163.com> 最近在学习arm linux,在创建页表的时候有个问题想不通,想请教一下: 在linux 启动初期,head.S中__create_page_tables,创建的临时页表是按照Section方式,注释有这么一句话 /* * Create identity mapping for first MB of kernel to * cater for the MMU enable. This identity mapping * will be removed by paging_init(). We use our current program * counter to determine corresponding section base address. */ 说是会被paging_init(). 移出重新创建。 问题是:当运行paging_init(). 是运行使用__create_page_tables创建的页表,若paging_init(). 移出时程序如何访问? From yun10xiang在163.com Thu Jul 15 12:19:01 2010 From: yun10xiang在163.com (yun10xiang) Date: Thu, 15 Jul 2010 12:19:01 +0800 (CST) Subject: =?gbk?Q?Re:Re:_linux=B4=B4=BD=A8=D2=B3=B1=ED?= In-Reply-To: <201007151158429842493@gmail.com> References: <201007151158429842493@gmail.com> <15a52fd.3510.129d43c9f08.Coremail.yun10xiang@163.com> Message-ID: <908bf7.3898.129d453afde.Coremail.yun10xiang@163.com> 不是都是使用swapper_pg_dir At 2010-07-15 11:58:45,guannank wrote:  使用一个临时页表吧。 2010-07-15 guannank 发件人: yun10xiang 发送时间: 2010-07-15 11:55:26 收件人: linux-kernel 抄送: 主题: linux创建页表 最近在学习arm linux,在创建页表的时候有个问题想不通,想请教一下: 在linux 启动初期,head.S中__create_page_tables,创建的临时页表是按照Section方式,注释有这么一句话 /* * Create identity mapping for first MB of kernel to * cater for the MMU enable. This identity mapping * will be removed by paging_init(). We use our current program * counter to determine corresponding section base address. */ 说是会被paging_init(). 移出重新创建。 问题是:当运行paging_init(). 是运行使用__create_page_tables创建的页表,若paging_init(). 移出时程序如何访问? _______________________________________________ Linux 内核开发中文邮件列表 Linux-kernel在zh-kernel.org http://zh-kernel.org/mailman/listinfo/linux-kernel Linux 内核开发中文社区: http://zh-kernel.org From 21cnbao在gmail.com Thu Jul 15 12:23:04 2010 From: 21cnbao在gmail.com (Barry Song) Date: Thu, 15 Jul 2010 12:23:04 +0800 Subject: =?UTF-8?B?UmU6IOivt+aVmWxpbnV4IOS4reaWreS8mOWFiOe6p+WunueOsA==?= In-Reply-To: References: Message-ID: 2010/7/15 oliver yang > > 在 2010年7月15日 上午10:36,Barry Song <21cnbao在gmail.com> 写道: > > 我个人认为 蓝天宇 的说法是正确的。 > > Linux OS在软件意义上没有中断优先级的概念(在软件意义上,是进程优先级),而所谓中断优先级,更多的是一个硬件上的概念,由中断控制器控制。 > > 在软件意义上,只能通过IRQF_DISABLE标志去标识所谓“快中断”,实际是限制中断的嵌套。 > > 很多操作系统支持中断优先级不完全是为了支持硬件的优先级,相反主要是操作系统设计的考虑,比如为了更好的实时性。 这一点我也完全赞同。一些操作系统将中断处理线程化,通过此CPU调度单元优先级的区分来进行软件意义上的中断优先级支持。但是其本质仍然是OS任务优先级的概念,而非纯粹意义上的中断处理优先级。 > > > 2010/7/15 蓝天宇 > > > >> 中断优先级,这个由主控芯片的中断控制器控制的,这个要看你用的芯片的手册了。 > >> > >> 在 2010年7月14日 下午11:34,Grass 写道: > >> > >> > 请问哪位知道linux下如何实现中断优先级吗? > >> > 我找了下相关资料,好像linux本身并不实现中断优先级。请高手指点,感激不尽。 > >> > _______________________________________________ > >> > Linux 内核开发中文邮件列表 > >> > Linux-kernel在zh-kernel.org > >> > http://zh-kernel.org/mailman/listinfo/linux-kernel > >> > Linux 内核开发中文社区: http://zh-kernel.org > >> _______________________________________________ > >> Linux 内核开发中文邮件列表 > >> Linux-kernel在zh-kernel.org > >> http://zh-kernel.org/mailman/listinfo/linux-kernel > >> Linux 内核开发中文社区: http://zh-kernel.org > >> > > _______________________________________________ > > Linux 内核开发中文邮件列表 > > Linux-kernel在zh-kernel.org > > http://zh-kernel.org/mailman/listinfo/linux-kernel > > Linux 内核开发中文社区: http://zh-kernel.org > > > > -- > Cheers, > > Oliver Yang > > Twitter: http://twitter.com/yangoliver > Blog:    http://blog.csdn.net/yayong > -------------------------------------------------------------------- > An OpenSolaris Developer From xiyou.wangcong在gmail.com Thu Jul 15 12:47:04 2010 From: xiyou.wangcong在gmail.com (=?utf-8?Q?Am=C3=A9rico?= Wang) Date: Thu, 15 Jul 2010 12:47:04 +0800 Subject: =?utf-8?B?eDg255qEcGFnZSBmYXVsdOeahA==?= =?utf-8?B?5q276ZSB6Zeu6aKY?= In-Reply-To: <4C3E7909.9080704@gmail.com> References: <4C3E7909.9080704@gmail.com> Message-ID: <20100715044704.GA5630@cr0.nay.redhat.com> On Thu, Jul 15, 2010 at 10:57:13AM +0800, Huang Shijie wrote: >在/arch/x86/mm/fault.c的do_page_fault()函数里。 ... > >其中对死锁的原因解释是:“Unfortunately, in the >* case of an erroneous fault occurring in a code path which already >* holds mmap_sem we will deadlock attempting to validate the fault >* against the address space。” > >什么是“an erroneous fault occurring in a code path ” ? > 继续往下读,修饰code path的是which already holds mmap_sem。 再继续往下看代码,down_read_trylock(&mm->mmap_sem),很明显了。 From yun10xiang在163.com Thu Jul 15 13:23:37 2010 From: yun10xiang在163.com (yun10xiang) Date: Thu, 15 Jul 2010 13:23:37 +0800 (CST) Subject: =?gbk?Q?Re:Re:_Re:Re:=5Flinux=B4=B4=BD=A8=D2=B3=B1=ED?= In-Reply-To: <201007151248475938647@gmail.com> References: <201007151248475938647@gmail.com> <201007151158429842493@gmail.com>, <15a52fd.3510.129d43c9f08.Coremail.yun10xiang@163.com>, <908bf7.3898.129d453afde.Coremail.yun10xiang@163.com> Message-ID: <1c06c5d.3f6b.129d48ed76e.Coremail.yun10xiang@163.com> 谢谢!__create_page_tables创建的是以section方式,0xc0000000以后的地址 paging_init().是怎么换成页的方式?? At 2010-07-15 12:48:49,guannank wrote:  This identity mapping will be removed by paging_init(). 的意思是在页表初始化完成之后,把0-1M的页表清除,因为这个变成用户空间的地址了。 2010-07-15 guannank 发件人: yun10xiang 发送时间: 2010-07-15 12:19:20 收件人: guannank 抄送: linux-kernel 主题: Re:Re:_linux创建页表 不是都是使用swapper_pg_dir At 2010-07-15 11:58:45,guannank wrote:  使用一个临时页表吧。 2010-07-15 guannank 发件人: yun10xiang 发送时间: 2010-07-15 11:55:26 收件人: linux-kernel 抄送: 主题: linux创建页表 最近在学习arm linux,在创建页表的时候有个问题想不通,想请教一下: 在linux 启动初期,head.S中__create_page_tables,创建的临时页表是按照Section方式,注释有这么一句话 /* * Create identity mapping for first MB of kernel to * cater for the MMU enable. This identity mapping * will be removed by paging_init(). We use our current program * counter to determine corresponding section base address. */ 说是会被paging_init(). 移出重新创建。 问题是:当运行paging_init(). 是运行使用__create_page_tables创建的页表,若paging_init(). 移出时程序如何访问? _______________________________________________ Linux 内核开发中文邮件列表 Linux-kernel在zh-kernel.org http://zh-kernel.org/mailman/listinfo/linux-kernel Linux 内核开发中文社区: http://zh-kernel.org From yun10xiang在163.com Thu Jul 15 14:55:55 2010 From: yun10xiang在163.com (yun10xiang) Date: Thu, 15 Jul 2010 14:55:55 +0800 (CST) Subject: =?gbk?B?x+u9zNK7uPa4xcTutcTOyszi?= Message-ID: <68ad1c.4f5d.129d4e357e2.Coremail.yun10xiang@163.com> 内核的虚拟地址空间分三个区域: ZONE_DMA, ZONE_NORMAL, ZONE_HIGHMEM ZONE_DMA和ZONE_NORMAL映射在C0000000到C0000000+896M的地方 内核运行的连接地址不就是在ZONE_DMA去,当申请DMA时候会不会有冲突??? From 1226ehziy在gmail.com Thu Jul 15 16:29:45 2010 From: 1226ehziy在gmail.com (=?GB2312?B?t67F8w==?=) Date: Thu, 15 Jul 2010 16:29:45 +0800 Subject: =?GB2312?B?UmU6IMfrvczSu7j2uMXE7rXEzsrM4g==?= In-Reply-To: <68ad1c.4f5d.129d4e357e2.Coremail.yun10xiang@163.com> References: <68ad1c.4f5d.129d4e357e2.Coremail.yun10xiang@163.com> Message-ID: ZONE_DMA ZONE_NORMAL ZONE_HIGHMEM 是对物理页面的划分 在 2010年7月15日 下午2:55,yun10xiang 写道: > 内核的虚拟地址空间分三个区域: ZONE_DMA, ZONE_NORMAL, ZONE_HIGHMEM > ZONE_DMA和ZONE_NORMAL映射在C0000000到C0000000+896M的地方 > > 内核运行的连接地址不就是在ZONE_DMA去,当申请DMA时候会不会有冲突??? > _______________________________________________ > Linux 内核开发中文邮件列表 > Linux-kernel在zh-kernel.org > http://zh-kernel.org/mailman/listinfo/linux-kernel > Linux 内核开发中文社区: http://zh-kernel.org -- I believe I can From kernel_mars在sina.cn Thu Jul 15 16:49:11 2010 From: kernel_mars在sina.cn (kernel_mars) Date: Thu, 15 Jul 2010 16:49:11 +0800 Subject: hairpinning =?UTF-8?Q?=E6=B1=82=E5=8A=A9?= Message-ID: <1279183751.3267.4.camel@localhost.localdomain> hi: 有人做过 hairpinning 穿越吗?困了我2天了,请帮助我! 代码、方法、思路都可以。谢谢 From yun10xiang在163.com Thu Jul 15 17:21:28 2010 From: yun10xiang在163.com (yun10xiang) Date: Thu, 15 Jul 2010 17:21:28 +0800 (CST) Subject: =?gbk?B?UmU6UmU6IMfrvczSu7j2uMXE7rXEzsrM4g==?= In-Reply-To: References: <68ad1c.4f5d.129d4e357e2.Coremail.yun10xiang@163.com> Message-ID: <1e0ccee.6f87.129d568998e.Coremail.yun10xiang@163.com> 当内存的大小小于16M的时候,还会分这三个区域吗? 在 2010-07-15 16:29:45,"樊朋" <1226ehziy在gmail.com> 写道: ZONE_DMA ZONE_NORMAL ZONE_HIGHMEM 是对物理页面的划分 在 2010年7月15日 下午2:55,yun10xiang 写道: 内核的虚拟地址空间分三个区域: ZONE_DMA, ZONE_NORMAL, ZONE_HIGHMEM ZONE_DMA和ZONE_NORMAL映射在C0000000到C0000000+896M的地方 内核运行的连接地址不就是在ZONE_DMA去,当申请DMA时候会不会有冲突??? _______________________________________________ Linux 内核开发中文邮件列表 Linux-kernel在zh-kernel.org http://zh-kernel.org/mailman/listinfo/linux-kernel Linux 内核开发中文社区: http://zh-kernel.org -- I believe I can From xiaosuo在gmail.com Thu Jul 15 17:30:13 2010 From: xiaosuo在gmail.com (Changli Gao) Date: Thu, 15 Jul 2010 17:30:13 +0800 Subject: =?GB2312?B?UmU6IGhhaXJwaW5uaW5nIMfz1vo=?= In-Reply-To: <1279183751.3267.4.camel@localhost.localdomain> References: <1279183751.3267.4.camel@localhost.localdomain> Message-ID: 2010/7/15 kernel_mars : > hi: > 有人做过 hairpinning 穿越吗?困了我2天了,请帮助我! > 代码、方法、思路都可以。谢谢 > Bridge的hairpin么? Linux的bridge本身就支持啊 localhost linux # grep -i hairpin net/bridge/ -r Binary file net/bridge/bridge.o matches net/bridge/br_forward.c: return (((p->flags & BR_HAIRPIN_MODE) || skb->dev != p->dev) && net/bridge/br_sysfs_if.c:static ssize_t show_hairpin_mode(struct net_bridge_port *p, char *buf) net/bridge/br_sysfs_if.c: int hairpin_mode = (p->flags & BR_HAIRPIN_MODE) ? 1 : 0; net/bridge/br_sysfs_if.c: return sprintf(buf, "%d\n", hairpin_mode); net/bridge/br_sysfs_if.c:static ssize_t store_hairpin_mode(struct net_bridge_port *p, unsigned long v) net/bridge/br_sysfs_if.c: p->flags |= BR_HAIRPIN_MODE; net/bridge/br_sysfs_if.c: p->flags &= ~BR_HAIRPIN_MODE; net/bridge/br_sysfs_if.c:static BRPORT_ATTR(hairpin_mode, S_IRUGO | S_IWUSR, net/bridge/br_sysfs_if.c: show_hairpin_mode, store_hairpin_mode); net/bridge/br_sysfs_if.c: &brport_attr_hairpin_mode, Binary file net/bridge/br_sysfs_if.o matches Binary file net/bridge/bridge.ko matches net/bridge/br_private.h:#define BR_HAIRPIN_MODE 0x00000001 -- Regards, Changli Gao(xiaosuo在gmail.com) From xiaosuo在gmail.com Fri Jul 16 09:55:38 2010 From: xiaosuo在gmail.com (Changli Gao) Date: Fri, 16 Jul 2010 09:55:38 +0800 Subject: =?GB2312?B?UmU6IGhhaXJwaW5uaW5nIMfz1vo=?= In-Reply-To: <20100716013552.0A5A9461467@mail2-14.sinamail.sina.com.cn> References: <20100716013552.0A5A9461467@mail2-14.sinamail.sina.com.cn> Message-ID: 2010/7/16 : > 我之前也问过一些人,都说本身不支持,需要自己动手改,你说的支持是下面这个意思吗? > > > > > > Hairpinning Behavior > > If two hosts (called X1 and X2) are behind the same NAT and > exchanging traffic, the NAT may allocate an address on the outside of > the NAT for X2, called X2':x2'. If X1 sends traffic to X2':x2', it > goes to the NAT, which must relay the traffic from X1 to X2. This is > referred to as hairpinning and is illustrated below. > > > > 这段抄自,RFC4787 section 6 不是,bridge的hairpin是类似集线器的行为。 -- Regards, Changli Gao(xiaosuo在gmail.com) From yun10xiang在163.com Fri Jul 16 11:12:49 2010 From: yun10xiang在163.com (yun10xiang) Date: Fri, 16 Jul 2010 11:12:49 +0800 (CST) Subject: =?gbk?Q?Re:Re:_Re:Re:=5FRe:Re:=5Flinux=B4=B4=BD=A8=D2=B3=B1=ED?= In-Reply-To: <201007151328267188971@gmail.com> References: <201007151328267188971@gmail.com> <201007151248475938647@gmail.com>, <201007151158429842493@gmail.com>, <15a52fd.3510.129d43c9f08.Coremail.yun10xiang@163.com>, <908bf7.3898.129d453afde.Coremail.yun10xiang@163.com>, <1c06c5d.3f6b.129d48ed76e.Coremail.yun10xiang@163.com> Message-ID: <1c6cc52.c180.129d93d72b0.Coremail.yun10xiang@163.com> __create_page_tables创建的是以section方式的临时页表,但是在paging_init()重新对内存创建页表应该是以PAGE方式,在paging_init()创建页表的过程中肯定要清除原来的页表,在这个时候内核不是已经运行在虚拟地址,是如何处理的? At 2010-07-15 13:28:29,guannank wrote:  paging_init() --> pagetable_init() --> kernel_physical_mapping_init(),在最后面那个函数里面做的吧,不知道是不是你说的意思。 2010-07-15 guannank 发件人: yun10xiang 发送时间: 2010-07-15 13:23:52 收件人: guannank 抄送: linux-kernel 主题: Re:Re:_Re:Re:_linux创建页表 谢谢!__create_page_tables创建的是以section方式,0xc0000000以后的地址 paging_init().是怎么换成页的方式?? At 2010-07-15 12:48:49,guannank wrote:  This identity mapping will be removed by paging_init(). 的意思是在页表初始化完成之后,把0-1M的页表清除,因为这个变成用户空间的地址了。 2010-07-15 guannank 发件人: yun10xiang 发送时间: 2010-07-15 12:19:20 收件人: guannank 抄送: linux-kernel 主题: Re:Re:_linux创建页表 不是都是使用swapper_pg_dir At 2010-07-15 11:58:45,guannank wrote:  使用一个临时页表吧。 2010-07-15 guannank 发件人: yun10xiang 发送时间: 2010-07-15 11:55:26 收件人: linux-kernel 抄送: 主题: linux创建页表 最近在学习arm linux,在创建页表的时候有个问题想不通,想请教一下: 在linux 启动初期,head.S中__create_page_tables,创建的临时页表是按照Section方式,注释有这么一句话 /* * Create identity mapping for first MB of kernel to * cater for the MMU enable. This identity mapping * will be removed by paging_init(). We use our current program * counter to determine corresponding section base address. */ 说是会被paging_init(). 移出重新创建。 问题是:当运行paging_init(). 是运行使用__create_page_tables创建的页表,若paging_init(). 移出时程序如何访问? _______________________________________________ Linux 内核开发中文邮件列表 Linux-kernel在zh-kernel.org http://zh-kernel.org/mailman/listinfo/linux-kernel Linux 内核开发中文社区: http://zh-kernel.org From yetiboy1230在gmail.com Fri Jul 16 12:23:33 2010 From: yetiboy1230在gmail.com (Liu Yuan) Date: Fri, 16 Jul 2010 12:23:33 +0800 Subject: =?UTF-8?B?UmU6IOivt+aVmWxpbnV4IOS4reaWreS8mOWFiOe6p+WunueOsA==?= In-Reply-To: References: Message-ID: 2010/7/15 Barry Song <21cnbao在gmail.com> > 2010/7/15 oliver yang > > > > 在 2010年7月15日 上午10:36,Barry Song <21cnbao在gmail.com> 写道: > > > 我个人认为 蓝天宇 的说法是正确的。 > > > Linux OS在软件意义上没有中断优先级的概念(在软件意义上,是进程优先级),而所谓中断优先级,更多的是一个硬件上的概念,由中断控制器控制。 > > > 在软件意义上,只能通过IRQF_DISABLE标志去标识所谓“快中断”,实际是限制中断的嵌套。 > > > > 很多操作系统支持中断优先级不完全是为了支持硬件的优先级,相反主要是操作系统设计的考虑,比如为了更好的实时性。 > > > 这一点我也完全赞同。一些操作系统将中断处理线程化,通过此CPU调度单元优先级的区分来进行软件意义上的中断优先级支持。但是其本质仍然是OS任务优先级的概念,而非纯粹意义上的中断处理优先级。 > > 早期的操作系统支持中断优先级,比如基于VAX的VMS。UNIX以"KISS"的作风,当然只有最简单的方式了,要么关闭,要么打开。 在大多数情况下,中断控制器比操作系统处在一个更好的位置,了解到中断的优先级并作出排序(这个优先级有可能是写死的,也有可能由操作系统写上的)。比如x86系统上,这个中断控制器就是Programmable Interrupt Controller(PIC)或者APIC(xAPCI,X2APIC),通过设置LAPIC或者IOAPIC的寄存器来设置基于针脚的中断的优先级。现在一些新的设备如PCI-e采用的中断产生方式比如Message Signaled Interrupt(MSI)或者MSI-x已经不是基于针脚(pin-based)而是基于总线的,这个我倒不清楚怎么设置优先级的,或许在传输的数据中描述了中断的优先级或者先来先处理的或许由PCI-PCI桥来设置。 中断处理程序线程化跟中断优先级没有一点关系,这个机制的引入是为了减少中断响应的延迟,提高系统的响应能力。线程化后有自己的一个独立的上下文,所以可以睡眠(sleep),可以被抢占(preemption)了。 Regards, Yuan -- I am Multician, really From 21cnbao在gmail.com Fri Jul 16 13:46:49 2010 From: 21cnbao在gmail.com (Barry Song) Date: Fri, 16 Jul 2010 13:46:49 +0800 Subject: =?UTF-8?B?UmU6IOivt+aVmWxpbnV4IOS4reaWreS8mOWFiOe6p+WunueOsA==?= In-Reply-To: References: Message-ID: 2010/7/16 Liu Yuan : > > > 2010/7/15 Barry Song <21cnbao在gmail.com> >> >> 2010/7/15 oliver yang >> > >> > 在 2010年7月15日 上午10:36,Barry Song <21cnbao在gmail.com> 写道: >> > > 我个人认为 蓝天宇 的说法是正确的。 >> > > Linux >> > > OS在软件意义上没有中断优先级的概念(在软件意义上,是进程优先级),而所谓中断优先级,更多的是一个硬件上的概念,由中断控制器控制。 >> > > 在软件意义上,只能通过IRQF_DISABLE标志去标识所谓“快中断”,实际是限制中断的嵌套。 >> > >> > 很多操作系统支持中断优先级不完全是为了支持硬件的优先级,相反主要是操作系统设计的考虑,比如为了更好的实时性。 >> >> >> 这一点我也完全赞同。一些操作系统将中断处理线程化,通过此CPU调度单元优先级的区分来进行软件意义上的中断优先级支持。但是其本质仍然是OS任务优先级的概念,而非纯粹意义上的中断处理优先级。 >> > > 早期的操作系统支持中断优先级,比如基于VAX的VMS。UNIX以"KISS"的作风,当然只有最简单的方式了,要么关闭,要么打开。 > > 在大多数情况下,中断控制器比操作系统处在一个更好的位置,了解到中断的优先级并作出排序(这个优先级有可能是写死的,也有可能由操作系统写上的)。比如x86系统上,这个中断控制器就是Programmable > Interrupt > Controller(PIC)或者APIC(xAPCI,X2APIC),通过设置LAPIC或者IOAPIC的寄存器来设置基于针脚的中断的优先级。现在一些新的设备如PCI-e采用的中断产生方式比如Message > Signaled > Interrupt(MSI)或者MSI-x已经不是基于针脚(pin-based)而是基于总线的,这个我倒不清楚怎么设置优先级的,或许在传输的数据中描述了中断的优先级或者先来先处理的或许由PCI-PCI桥来设置。 > > 中断处理程序线程化跟中断优先级没有一点关系,这个机制的引入是为了减少中断响应的延迟,提高系统的响应能力。线程化后有自己的一个独立的上下文,所以可以睡眠(sleep),可以被抢占(preemption)了。 基本上这一段属于胡说八道了 :-) > > Regards, > Yuan > > -- > I am Multician, really > From yun10xiang在163.com Fri Jul 16 14:27:24 2010 From: yun10xiang在163.com (yun10xiang) Date: Fri, 16 Jul 2010 14:27:24 +0800 (CST) Subject: =?gbk?Q?Re:Re:_Re:Re:=5FRe:Re:=5FRe:Re:=5Flinux=B4=B4=BD=A8=D2=B3=B1=ED?= In-Reply-To: <201007161252042504434@gmail.com> References: <201007161252042504434@gmail.com> <201007151328267188971@gmail.com>, <201007151248475938647@gmail.com>, <201007151158429842493@gmail.com>, <15a52fd.3510.129d43c9f08.Coremail.yun10xiang@163.com>, <908bf7.3898.129d453afde.Coremail.yun10xiang@163.com>, <1c06c5d.3f6b.129d48ed76e.Coremail.yun10xiang@163.com> Message-ID: <1ec2a32.dcf6.129d9ef986d.Coremail.yun10xiang@163.com> 我的意思是:3G-3G+8M到物理地址的0-8M,内核的运行地址。当paging_init()创建页表,会重新创建页表,重新创建页表应该会清除原来的页表然后再创建。在这个过度阶段会不会出现没有页表?哪如何运行在虚拟地址上? At 2010-07-16 12:52:07,guannank wrote:  这有什么矛盾的地方吗?不明白你说的什么意思。临时页表是一个双映射:0-8M到物理地址的0-8M,3G-3G+8M到物理地址的0-8M,就是启动了保护模式还是可以正常寻址虚拟地址的。建议你看一下ULK3的第二章的内核页表一节。 2010-07-16 guannank 发件人: yun10xiang 发送时间: 2010-07-16 11:12:57 收件人: guannank 抄送: linux-kernel 主题: Re:Re:_Re:Re:_Re:Re:_linux创建页表 __create_page_tables创建的是以section方式的临时页表,但是在paging_init()重新对内存创建页表应该是以PAGE方式,在paging_init()创建页表的过程中肯定要清除原来的页表,在这个时候内核不是已经运行在虚拟地址,是如何处理的? At 2010-07-15 13:28:29,guannank wrote:  paging_init() --> pagetable_init() --> kernel_physical_mapping_init(),在最后面那个函数里面做的吧,不知道是不是你说的意思。 2010-07-15 guannank 发件人: yun10xiang 发送时间: 2010-07-15 13:23:52 收件人: guannank 抄送: linux-kernel 主题: Re:Re:_Re:Re:_linux创建页表 谢谢!__create_page_tables创建的是以section方式,0xc0000000以后的地址 paging_init().是怎么换成页的方式?? At 2010-07-15 12:48:49,guannank wrote:  This identity mapping will be removed by paging_init(). 的意思是在页表初始化完成之后,把0-1M的页表清除,因为这个变成用户空间的地址了。 2010-07-15 guannank 发件人: yun10xiang 发送时间: 2010-07-15 12:19:20 收件人: guannank 抄送: linux-kernel 主题: Re:Re:_linux创建页表 不是都是使用swapper_pg_dir At 2010-07-15 11:58:45,guannank wrote:  使用一个临时页表吧。 2010-07-15 guannank 发件人: yun10xiang 发送时间: 2010-07-15 11:55:26 收件人: linux-kernel 抄送: 主题: linux创建页表 最近在学习arm linux,在创建页表的时候有个问题想不通,想请教一下: 在linux 启动初期,head.S中__create_page_tables,创建的临时页表是按照Section方式,注释有这么一句话 /* * Create identity mapping for first MB of kernel to * cater for the MMU enable. This identity mapping * will be removed by paging_init(). We use our current program * counter to determine corresponding section base address. */ 说是会被paging_init(). 移出重新创建。 问题是:当运行paging_init(). 是运行使用__create_page_tables创建的页表,若paging_init(). 移出时程序如何访问? _______________________________________________ Linux 内核开发中文邮件列表 Linux-kernel在zh-kernel.org http://zh-kernel.org/mailman/listinfo/linux-kernel Linux 内核开发中文社区: http://zh-kernel.org 网易邮箱,没有垃圾邮件的邮箱。 From yangoliver在gmail.com Fri Jul 16 14:54:10 2010 From: yangoliver在gmail.com (oliver yang) Date: Fri, 16 Jul 2010 14:54:10 +0800 Subject: =?UTF-8?B?UmU6IOivt+aVmWxpbnV4IOS4reaWreS8mOWFiOe6p+WunueOsA==?= In-Reply-To: References: Message-ID: 在 2010年7月16日 下午2:48,oliver yang 写道: > 在 2010年7月16日 下午1:46,Barry Song <21cnbao在gmail.com> 写道: >> 2010/7/16 Liu Yuan : >>> >>> >>> 2010/7/15 Barry Song <21cnbao在gmail.com> >>>> >>>> 2010/7/15 oliver yang >>>> > >>>> > 在 2010年7月15日 上午10:36,Barry Song <21cnbao在gmail.com> 写道: >>>> > > 我个人认为 蓝天宇 的说法是正确的。 >>>> > > Linux >>>> > > OS在软件意义上没有中断优先级的概念(在软件意义上,是进程优先级),而所谓中断优先级,更多的是一个硬件上的概念,由中断控制器控制。 >>>> > > 在软件意义上,只能通过IRQF_DISABLE标志去标识所谓“快中断”,实际是限制中断的嵌套。 >>>> > >>>> > 很多操作系统支持中断优先级不完全是为了支持硬件的优先级,相反主要是操作系统设计的考虑,比如为了更好的实时性。 >>>> >>>> >>>> 这一点我也完全赞同。一些操作系统将中断处理线程化,通过此CPU调度单元优先级的区分来进行软件意义上的中断优先级支持。但是其本质仍然是OS任务优先级的概念,而非纯粹意义上的中断处理优先级。 >>>> >>> >>> 早期的操作系统支持中断优先级,比如基于VAX的VMS。UNIX以"KISS"的作风,当然只有最简单的方式了,要么关闭,要么打开。 >>> >>> 在大多数情况下,中断控制器比操作系统处在一个更好的位置, 恰恰相反,OS才是最清楚的。对中断控制器来说,他不知道那些外设的中断更应该优先处理。 > >>>了解到中断的优先级并作出排序(这个优先级有可能是写死的,也有可能由操作系统写上的)。比如x86系统上,这个中断控制器就是Programmable >>> Interrupt >>> Controller(PIC)或者APIC(xAPCI,X2APIC),通过设置LAPIC或者IOAPIC的寄存器来设置基于针脚的中断的优先级。现在一些新的设备如PCI-e采用的中断产生方式比如Message >>> Signaled >>> Interrupt(MSI)或者MSI-x已经不是基于针脚(pin-based)而是基于总线的,这个我倒不清楚怎么设置优先级的,或许在传输的数据中描述了中断的优先级或者先来先处理的或许由PCI-PCI桥来设置。 > 你不但不清楚,还加上了自己的想象。 MSI是直接对北桥或者root complex地址的写操作,干嘛让桥来设置? > >>> >>> 中断处理程序线程化跟中断优先级没有一点关系,这个机制的引入是为了减少中断响应的延迟,提高系统的响应能力。线程化后有自己的一个独立的上下文,所以可以睡眠(sleep),可以被抢占(preemption)了。 > 决定抢占的时候恰恰是靠优先级。 一些OS会把中断优先级映射到内核线程调度优先级上。 > >> >> 基本上这一段属于胡说八道了 :-) > 说的直接了点,但很赞同。 -- Cheers, Oliver Yang Twitter: http://twitter.com/yangoliver Blog: http://blog.csdn.net/yayong -------------------------------------------------------------------- An OpenSolaris Developer From yun10xiang在163.com Fri Jul 16 15:18:44 2010 From: yun10xiang在163.com (yun10xiang) Date: Fri, 16 Jul 2010 15:18:44 +0800 (CST) Subject: =?gbk?Q?linux=B4=B4=BD=A8=D2=B3=B1=ED?= In-Reply-To: <201007161500055783689@gmail.com> References: <201007161500055783689@gmail.com> <201007161435231713555@gmail.com>, <201007161252042504434@gmail.com>, <201007151328267188971@gmail.com>, <201007151248475938647@gmail.com>, <201007151158429842493@gmail.com>, <15a52fd.3510.129d43c9f08.Coremail.yun10xiang@163.com>, <908bf7.3898.129d453afde.Coremail.yun10xiang@163.com>, <1c06c5d.3f6b.129d48ed76e.Coremail.yun10xiang@163.com>, <1ec2a32.dcf6.129d9ef986d.Coremail.yun10xiang@163.com> Message-ID: <32208.e786.129da1e94e7.Coremail.yun10xiang@163.com> 在arm中,临时页表是section方式,paging_init()重新对内存创建页表以PAGE方式,在这两种转换过程为什么就不会出现问题,该用什么知识来解释这个问题? At 2010-07-16 15:00:08,guannank wrote:  kernel_physical_mapping_init{ if (is_kernel_text(address) || is_kernel_text(address2)) set_pmd(pmd, pfn_pmd(pfn, PAGE_KERNEL_LARGE_EXEC)); } } 我觉得没有问题吧,就算是更新也是更新标志位,也不会更改映射啊。 2010-07-16 guannank 发件人: yun10xiang 发送时间: 2010-07-16 14:42:14 收件人: guannank 抄送: 主题: Re:Re:_Re:Re:_Re:Re:_Re:Re:_Re:Re:_linux创建页表 swapper_pg_dir页全局目录由如下等价的循环重新初始化: pgd = swapper_pg_dir + pgd_index(PAGE_OFFSET); /* 768 */ phys_addr = 0x00000000; while (phys_addr < (max_low_pfn * PAGE_SIZE)) { pmd = one_md_table_init(pgd); /*返回pgd*/ set_pmd(pmd, _ _pmd(phys_addr | pgprot_val(_ _pgprot(0x1e3)))); /* 0x1e3 == Present, Accessed, Dirty , Read/Write, Page Size, Global */ phys_addr += PTRS_PER_PTE * PAGE_SIZE; /* 0x400000 */ ++pgd; } 这是ULK3中的一段,这里不是也会重新创建3G-3G+8M到物理地址的0-8M的页表,此时内核代码段应该也在3G-3G+8M,在这重新创建过程中,内核不是正在使用这段页表? At 2010-07-16 14:35:26,guannank wrote:  “重新创建页表应该会清除原来的页表然后再创建”,这是哪里说的?创建的内核页表就是填充3G-4G的表项,而所谓的清除,也是清除,表项0-8M的内容,因为这部分内容是用户空间的。哪里有什么矛盾吗? 2010-07-16 guannank 发件人: yun10xiang 发送时间: 2010-07-16 14:27:42 收件人: guannank 抄送: linux-kernel 主题: Re:Re:_Re:Re:_Re:Re:_Re:Re:_linux创建页表 我的意思是:3G-3G+8M到物理地址的0-8M,内核的运行地址。当paging_init()创建页表,会重新创建页表,重新创建页表应该会清除原来的页表然后再创建。在这个过度阶段会不会出现没有页表?哪如何运行在虚拟地址上? At 2010-07-16 12:52:07,guannank wrote:  这有什么矛盾的地方吗?不明白你说的什么意思。临时页表是一个双映射:0-8M到物理地址的0-8M,3G-3G+8M到物理地址的0-8M,就是启动了保护模式还是可以正常寻址虚拟地址的。建议你看一下ULK3的第二章的内核页表一节。 2010-07-16 guannank 发件人: yun10xiang 发送时间: 2010-07-16 11:12:57 收件人: guannank 抄送: linux-kernel 主题: Re:Re:_Re:Re:_Re:Re:_linux创建页表 __create_page_tables创建的是以section方式的临时页表,但是在paging_init()重新对内存创建页表应该是以PAGE方式,在paging_init()创建页表的过程中肯定要清除原来的页表,在这个时候内核不是已经运行在虚拟地址,是如何处理的? At 2010-07-15 13:28:29,guannank wrote:  paging_init() --> pagetable_init() --> kernel_physical_mapping_init(),在最后面那个函数里面做的吧,不知道是不是你说的意思。 2010-07-15 guannank 发件人: yun10xiang 发送时间: 2010-07-15 13:23:52 收件人: guannank 抄送: linux-kernel 主题: Re:Re:_Re:Re:_linux创建页表 谢谢!__create_page_tables创建的是以section方式,0xc0000000以后的地址 paging_init().是怎么换成页的方式?? At 2010-07-15 12:48:49,guannank wrote:  This identity mapping will be removed by paging_init(). 的意思是在页表初始化完成之后,把0-1M的页表清除,因为这个变成用户空间的地址了。 2010-07-15 guannank 发件人: yun10xiang 发送时间: 2010-07-15 12:19:20 收件人: guannank 抄送: linux-kernel 主题: Re:Re:_linux创建页表 不是都是使用swapper_pg_dir At 2010-07-15 11:58:45,guannank wrote:  使用一个临时页表吧。 2010-07-15 guannank 发件人: yun10xiang 发送时间: 2010-07-15 11:55:26 收件人: linux-kernel 抄送: 主题: linux创建页表 最近在学习arm linux,在创建页表的时候有个问题想不通,想请教一下: 在linux 启动初期,head.S中__create_page_tables,创建的临时页表是按照Section方式,注释有这么一句话 /* * Create identity mapping for first MB of kernel to * cater for the MMU enable. This identity mapping * will be removed by paging_init(). We use our current program * counter to determine corresponding section base address. */ 说是会被paging_init(). 移出重新创建。 问题是:当运行paging_init(). 是运行使用__create_page_tables创建的页表,若paging_init(). 移出时程序如何访问? _______________________________________________ Linux 内核开发中文邮件列表 Linux-kernel在zh-kernel.org http://zh-kernel.org/mailman/listinfo/linux-kernel Linux 内核开发中文社区: http://zh-kernel.org 网易邮箱,没有垃圾邮件的邮箱。 网易邮箱,没有垃圾邮件的邮箱。 网易邮箱,没有垃圾邮件的邮箱。 From yetiboy1230在gmail.com Fri Jul 16 15:21:48 2010 From: yetiboy1230在gmail.com (Liu Yuan) Date: Fri, 16 Jul 2010 15:21:48 +0800 Subject: =?UTF-8?B?UmU6IOivt+aVmWxpbnV4IOS4reaWreS8mOWFiOe6p+WunueOsA==?= In-Reply-To: References: Message-ID: 2010/7/16 oliver yang > 在 2010年7月16日 下午2:48,oliver yang 写道: > > 在 2010年7月16日 下午1:46,Barry Song <21cnbao在gmail.com> 写道: > >> 2010/7/16 Liu Yuan : > >>> > >>> > >>> 2010/7/15 Barry Song <21cnbao在gmail.com> > >>>> > >>>> 2010/7/15 oliver yang > >>>> > > >>>> > 在 2010年7月15日 上午10:36,Barry Song <21cnbao在gmail.com> 写道: > >>>> > > 我个人认为 蓝天宇 的说法是正确的。 > >>>> > > Linux > >>>> > > OS在软件意义上没有中断优先级的概念(在软件意义上,是进程优先级),而所谓中断优先级,更多的是一个硬件上的概念,由中断控制器控制。 > >>>> > > 在软件意义上,只能通过IRQF_DISABLE标志去标识所谓“快中断”,实际是限制中断的嵌套。 > >>>> > > >>>> > 很多操作系统支持中断优先级不完全是为了支持硬件的优先级,相反主要是操作系统设计的考虑,比如为了更好的实时性。 > >>>> > >>>> > >>>> > 这一点我也完全赞同。一些操作系统将中断处理线程化,通过此CPU调度单元优先级的区分来进行软件意义上的中断优先级支持。但是其本质仍然是OS任务优先级的概念,而非纯粹意义上的中断处理优先级。 > >>>> > >>> > >>> 早期的操作系统支持中断优先级,比如基于VAX的VMS。UNIX以"KISS"的作风,当然只有最简单的方式了,要么关闭,要么打开。 > >>> > >>> 在大多数情况下,中断控制器比操作系统处在一个更好的位置, > > 恰恰相反,OS才是最清楚的。对中断控制器来说,他不知道那些外设的中断更应该优先处理。 > 8259只有一个针脚与CPU连接,如果同时有多个源产生中断,这个中断号的仲裁的应该是中断处理器吧?(优先级事先由操作系统设置好的情况下) 不过从操作系统来设置优先级的情况下看,这个应该算是由操作系统处理的,的确是“OS才是最清楚的” : ) > > > >>>了解到中断的优先级并作出排序(这个优先级有可能是写死的,也有可能由操作系统写上的)。比如x86系统上,这个中断控制器就是Programmable > >>> Interrupt > >>> > Controller(PIC)或者APIC(xAPCI,X2APIC),通过设置LAPIC或者IOAPIC的寄存器来设置基于针脚的中断的优先级。现在一些新的设备如PCI-e采用的中断产生方式比如Message > >>> Signaled > >>> > Interrupt(MSI)或者MSI-x已经不是基于针脚(pin-based)而是基于总线的,这个我倒不清楚怎么设置优先级的,或许在传输的数据中描述了中断的优先级或者先来先处理的或许由PCI-PCI桥来设置。 > > > > 你不但不清楚,还加上了自己的想象。 MSI是直接对北桥或者root complex地址的写操作,干嘛让桥来设置? > 我已经承认不知道了,所以才想象的.因为懒得看代码了。 > > > >>> > >>> > 中断处理程序线程化跟中断优先级没有一点关系,这个机制的引入是为了减少中断响应的延迟,提高系统的响应能力。线程化后有自己的一个独立的上下文,所以可以睡眠(sleep),可以被抢占(preemption)了。 > > > 决定抢占的时候恰恰是靠优先级。 一些OS会把中断优先级映射到内核线程调度优先级上。 > > > >> > >> 基本上这一段属于胡说八道了 :-) > > > > 说的直接了点,但很赞同。 > > 我的确有欠考虑,没有看代码,有时间一定看看Linux的msi,threaded irq的逻辑 -- I am Multician, really From gqlxj1987在gmail.com Fri Jul 16 15:59:56 2010 From: gqlxj1987在gmail.com (quanli gui) Date: Fri, 16 Jul 2010 15:59:56 +0800 Subject: =?GB2312?B?TGludXjOxLz+z7XNs7Hgs8w=?= Message-ID: 关于文件系统编程这一块,有没有比较好的编译方法?现在每次只是改文件系统的文件的一点小地方都需要重新编译内核,感觉很非常浪费时间。有没有比较好的方法? From yun10xiang在163.com Fri Jul 16 16:00:41 2010 From: yun10xiang在163.com (yun10xiang) Date: Fri, 16 Jul 2010 16:00:41 +0800 (CST) Subject: =?gbk?Q?Re:Re:_Re:Re:=5Flinux=B4=B4=BD=A8=D2=B3=B1=ED?= In-Reply-To: <201007161544576097973@gmail.com> References: <201007161544576097973@gmail.com> <201007161527146877466@gmail.com>, <201007161500055783689@gmail.com>, <201007161435231713555@gmail.com>, <201007161252042504434@gmail.com>, <201007151328267188971@gmail.com>, <201007151248475938647@gmail.com>, <201007151158429842493@gmail.com>, <15a52fd.3510.129d43c9f08.Coremail.yun10xiang@163.com>, <908bf7.3898.129d453afde.Coremail.yun10xiang@163.com>, <1c06c5d.3f6b.129d48ed76e.Coremail.yun10xiang@163.com>, <1ec2a32.dcf6.129d9ef986d.Coremail.yun10xiang@163.com>, <32208.e786.129da1e94e7.Coremail.yun10xiang@163.com>, <1c325d9.ecde.129da32ce15.Coremail.yun10xiang@163.com> Message-ID: <980171.f17b.129da44fe1b.Coremail.yun10xiang@163.com> 针对这个问题我也说不清楚了,非常感谢您不厌其烦回答我问题。还是问您另外一个问题 static void __init alloc_init_section(pgd_t *pgd, unsigned long addr, unsigned long end, unsigned long phys, const struct mem_type *type) { pmd_t *pmd = pmd_offset(pgd, addr); /* * Try a section mapping - end, addr and phys must all be aligned * to a section boundary. Note that PMDs refer to the individual * L1 entries, whereas PGDs refer to a group of L1 entries making * up one logical pointer to an L2 table. */ if (((addr | end | phys) & ~SECTION_MASK) == 0) { pmd_t *p = pmd; if (addr & SECTION_SIZE) pmd++; do { *pmd = __pmd(phys | type->prot_sect); phys += SECTION_SIZE; } while (pmd++, addr += SECTION_SIZE, addr != end); flush_pmd_entry(p); } else { /* * No need to loop; pte's aren't interested in the * individual L1 entries. */ alloc_init_pte(pmd, addr, end, __phys_to_pfn(phys), type); } } 这个函数什么意思啊。如果是1M对齐就只创建PMD,而不创建PTE。若不是1M对齐就创建PTE。这这么理解? At 2010-07-16 15:44:59,guannank wrote:  那不也是分页结构么,还是不明白你的问题 2010-07-16 guannank 发件人: yun10xiang 发送时间: 2010-07-16 15:41:05 收件人: guannank 抄送: 主题: Re:Re:_linux创建页表 arm的L1主页表,L1主页表也称为段页表(section page table)。使用一级页表而已。没有使用二级映射 At 2010-07-16 15:27:16,guannank wrote:  “临时页表是section方式”,什么意思? 2010-07-16 guannank 发件人: yun10xiang 发送时间: 2010-07-16 15:18:57 收件人: guannank 抄送: linux-kernel 主题: linux创建页表 在arm中,临时页表是section方式,paging_init()重新对内存创建页表以PAGE方式,在这两种转换过程为什么就不会出现问题,该用什么知识来解释这个问题? At 2010-07-16 15:00:08,guannank wrote:  kernel_physical_mapping_init{ if (is_kernel_text(address) || is_kernel_text(address2)) set_pmd(pmd, pfn_pmd(pfn, PAGE_KERNEL_LARGE_EXEC)); } } 我觉得没有问题吧,就算是更新也是更新标志位,也不会更改映射啊。 2010-07-16 guannank 发件人: yun10xiang 发送时间: 2010-07-16 14:42:14 收件人: guannank 抄送: 主题: Re:Re:_Re:Re:_Re:Re:_Re:Re:_Re:Re:_linux创建页表 swapper_pg_dir页全局目录由如下等价的循环重新初始化: pgd = swapper_pg_dir + pgd_index(PAGE_OFFSET); /* 768 */ phys_addr = 0x00000000; while (phys_addr < (max_low_pfn * PAGE_SIZE)) { pmd = one_md_table_init(pgd); /*返回pgd*/ set_pmd(pmd, _ _pmd(phys_addr | pgprot_val(_ _pgprot(0x1e3)))); /* 0x1e3 == Present, Accessed, Dirty , Read/Write, Page Size, Global */ phys_addr += PTRS_PER_PTE * PAGE_SIZE; /* 0x400000 */ ++pgd; } 这是ULK3中的一段,这里不是也会重新创建3G-3G+8M到物理地址的0-8M的页表,此时内核代码段应该也在3G-3G+8M,在这重新创建过程中,内核不是正在使用这段页表? At 2010-07-16 14:35:26,guannank wrote:  “重新创建页表应该会清除原来的页表然后再创建”,这是哪里说的?创建的内核页表就是填充3G-4G的表项,而所谓的清除,也是清除,表项0-8M的内容,因为这部分内容是用户空间的。哪里有什么矛盾吗? 2010-07-16 guannank 发件人: yun10xiang 发送时间: 2010-07-16 14:27:42 收件人: guannank 抄送: linux-kernel 主题: Re:Re:_Re:Re:_Re:Re:_Re:Re:_linux创建页表 我的意思是:3G-3G+8M到物理地址的0-8M,内核的运行地址。当paging_init()创建页表,会重新创建页表,重新创建页表应该会清除原来的页表然后再创建。在这个过度阶段会不会出现没有页表?哪如何运行在虚拟地址上? At 2010-07-16 12:52:07,guannank wrote:  这有什么矛盾的地方吗?不明白你说的什么意思。临时页表是一个双映射:0-8M到物理地址的0-8M,3G-3G+8M到物理地址的0-8M,就是启动了保护模式还是可以正常寻址虚拟地址的。建议你看一下ULK3的第二章的内核页表一节。 2010-07-16 guannank 发件人: yun10xiang 发送时间: 2010-07-16 11:12:57 收件人: guannank 抄送: linux-kernel 主题: Re:Re:_Re:Re:_Re:Re:_linux创建页表 __create_page_tables创建的是以section方式的临时页表,但是在paging_init()重新对内存创建页表应该是以PAGE方式,在paging_init()创建页表的过程中肯定要清除原来的页表,在这个时候内核不是已经运行在虚拟地址,是如何处理的? At 2010-07-15 13:28:29,guannank wrote:  paging_init() --> pagetable_init() --> kernel_physical_mapping_init(),在最后面那个函数里面做的吧,不知道是不是你说的意思。 2010-07-15 guannank 发件人: yun10xiang 发送时间: 2010-07-15 13:23:52 收件人: guannank 抄送: linux-kernel 主题: Re:Re:_Re:Re:_linux创建页表 谢谢!__create_page_tables创建的是以section方式,0xc0000000以后的地址 paging_init().是怎么换成页的方式?? At 2010-07-15 12:48:49,guannank wrote:  This identity mapping will be removed by paging_init(). 的意思是在页表初始化完成之后,把0-1M的页表清除,因为这个变成用户空间的地址了。 2010-07-15 guannank 发件人: yun10xiang 发送时间: 2010-07-15 12:19:20 收件人: guannank 抄送: linux-kernel 主题: Re:Re:_linux创建页表 不是都是使用swapper_pg_dir At 2010-07-15 11:58:45,guannank wrote:  使用一个临时页表吧。 2010-07-15 guannank 发件人: yun10xiang 发送时间: 2010-07-15 11:55:26 收件人: linux-kernel 抄送: 主题: linux创建页表 最近在学习arm linux,在创建页表的时候有个问题想不通,想请教一下: 在linux 启动初期,head.S中__create_page_tables,创建的临时页表是按照Section方式,注释有这么一句话 /* * Create identity mapping for first MB of kernel to * cater for the MMU enable. This identity mapping * will be removed by paging_init(). We use our current program * counter to determine corresponding section base address. */ 说是会被paging_init(). 移出重新创建。 问题是:当运行paging_init(). 是运行使用__create_page_tables创建的页表,若paging_init(). 移出时程序如何访问? _______________________________________________ Linux 内核开发中文邮件列表 Linux-kernel在zh-kernel.org http://zh-kernel.org/mailman/listinfo/linux-kernel Linux 内核开发中文社区: http://zh-kernel.org 网易邮箱,没有垃圾邮件的邮箱。 网易邮箱,没有垃圾邮件的邮箱。 网易邮箱,没有垃圾邮件的邮箱。 您想拥有和网易免费邮箱一样强大的软件吗? 您想拥有和网易免费邮箱一样强大的软件吗? From 21cnbao在gmail.com Fri Jul 16 16:02:20 2010 From: 21cnbao在gmail.com (Barry Song) Date: Fri, 16 Jul 2010 16:02:20 +0800 Subject: =?UTF-8?B?UmU6IOivt+aVmWxpbnV4IOS4reaWreS8mOWFiOe6p+WunueOsA==?= In-Reply-To: References: Message-ID: 2010/7/16 Liu Yuan : > 2010/7/16 oliver yang > >> 在 2010年7月16日 下午2:48,oliver yang 写道: >> > 在 2010年7月16日 下午1:46,Barry Song <21cnbao在gmail.com> 写道: >> >> 2010/7/16 Liu Yuan : >> >>> >> >>> >> >>> 2010/7/15 Barry Song <21cnbao在gmail.com> >> >>>> >> >>>> 2010/7/15 oliver yang >> >>>> > >> >>>> > 在 2010年7月15日 上午10:36,Barry Song <21cnbao在gmail.com> 写道: >> >>>> > > 我个人认为 蓝天宇 的说法是正确的。 >> >>>> > > Linux >> >>>> > > OS在软件意义上没有中断优先级的概念(在软件意义上,是进程优先级),而所谓中断优先级,更多的是一个硬件上的概念,由中断控制器控制。 >> >>>> > > 在软件意义上,只能通过IRQF_DISABLE标志去标识所谓“快中断”,实际是限制中断的嵌套。 >> >>>> > >> >>>> > 很多操作系统支持中断优先级不完全是为了支持硬件的优先级,相反主要是操作系统设计的考虑,比如为了更好的实时性。 >> >>>> >> >>>> >> >>>> >> 这一点我也完全赞同。一些操作系统将中断处理线程化,通过此CPU调度单元优先级的区分来进行软件意义上的中断优先级支持。但是其本质仍然是OS任务优先级的概念,而非纯粹意义上的中断处理优先级。 >> >>>> >> >>> >> >>> 早期的操作系统支持中断优先级,比如基于VAX的VMS。UNIX以"KISS"的作风,当然只有最简单的方式了,要么关闭,要么打开。 >> >>> >> >>> 在大多数情况下,中断控制器比操作系统处在一个更好的位置, >> >> 恰恰相反,OS才是最清楚的。对中断控制器来说,他不知道那些外设的中断更应该优先处理。 >> > > 8259只有一个针脚与CPU连接,如果同时有多个源产生中断,这个中断号的仲裁的应该是中断处理器吧?(优先级事先由操作系统设置好的情况下) > > 不过从操作系统来设置优先级的情况下看,这个应该算是由操作系统处理的,的确是“OS才是最清楚的” : ) > > > >> > >> >>>了解到中断的优先级并作出排序(这个优先级有可能是写死的,也有可能由操作系统写上的)。比如x86系统上,这个中断控制器就是Programmable >> >>> Interrupt >> >>> >> Controller(PIC)或者APIC(xAPCI,X2APIC),通过设置LAPIC或者IOAPIC的寄存器来设置基于针脚的中断的优先级。现在一些新的设备如PCI-e采用的中断产生方式比如Message >> >>> Signaled >> >>> >> Interrupt(MSI)或者MSI-x已经不是基于针脚(pin-based)而是基于总线的,这个我倒不清楚怎么设置优先级的,或许在传输的数据中描述了中断的优先级或者先来先处理的或许由PCI-PCI桥来设置。 >> > >> >> 你不但不清楚,还加上了自己的想象。 MSI是直接对北桥或者root complex地址的写操作,干嘛让桥来设置? >> > > 我已经承认不知道了,所以才想象的.因为懒得看代码了。 > > >> > >> >>> >> >>> >> 中断处理程序线程化跟中断优先级没有一点关系,这个机制的引入是为了减少中断响应的延迟,提高系统的响应能力。线程化后有自己的一个独立的上下文,所以可以睡眠(sleep),可以被抢占(preemption)了。 >> > >> 决定抢占的时候恰恰是靠优先级。 一些OS会把中断优先级映射到内核线程调度优先级上。 >> > >> >> >> >> 基本上这一段属于胡说八道了 :-) >> > >> >> 说的直接了点,但很赞同。 >> >> 我的确有欠考虑,没有看代码,有时间一定看看Linux的msi,threaded irq的逻辑 这里我给你一点提示,Linux目前说threaded irq在不同场景有不同含义, 1种是最新引入的中断底半部机制,与softirq、tasklet、workqueue地位相当,将中断底半部放到线程去执行,见于如下patch: http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=f48fe81e5b032914183e9a17052313720c2cac56 http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=b25c340c195447afb1860da580fe2a85a6b652c5 http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=70aedd24d20e75198f5a0b11750faabbb56924e2 http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=399b5da29b9f851eb7b96e2882097127f003e87c ... 1种是RT情况下,将中断服务程序本身线程化,从而参与线程级的调度,这时候,其他非中断线程的优先级可以超越中断服务程序本身,从而解决Linux mainline中断顶半部非抢占区域时间不可预期问题,也就是解决Linux mainline不支持硬实时的其中问题之一。 所以我要说你胡说八道。 > > -- > I am Multician, really > _______________________________________________ > Linux 内核开发中文邮件列表 > Linux-kernel在zh-kernel.org > http://zh-kernel.org/mailman/listinfo/linux-kernel > Linux 内核开发中文社区: http://zh-kernel.org From adam8157在gmail.com Fri Jul 16 16:02:55 2010 From: adam8157在gmail.com (Adam Lee) Date: Fri, 16 Jul 2010 16:02:55 +0800 Subject: =?UTF-8?B?UmU6IExpbnV45paH5Lu257O757uf57yW56iL?= In-Reply-To: References: Message-ID: 2010/7/16 quanli gui : > 关于文件系统编程这一块,有没有比较好的编译方法?现在每次只是改文件系统的文件的一点小地方都需要重新编译内核,感觉很非常浪费时间。有没有比较好的方法? 难道你每次都clean么? -- Regards, Adam Lee -------------------------------------------------- E-mail: adam8157在gmail.com Website: http://www.adam8157.info -------------------------------------------------- From gqlxj1987在gmail.com Fri Jul 16 16:08:54 2010 From: gqlxj1987在gmail.com (quanli gui) Date: Fri, 16 Jul 2010 16:08:54 +0800 Subject: =?GB2312?B?UmU6IExpbnV4zsS8/s+1zbOx4LPM?= In-Reply-To: References: Message-ID: 例如像NFS这样子的文件系统可以成为独立的模块吗?有的文件系统应该是内嵌的吧 在 2010年7月16日 下午4:02,pfei han 写道: > 文件系统不是好多都可以编译成模块的吗? > > 在 2010年7月16日 下午3:59,quanli gui 写道: > >> 关于文件系统编程这一块,有没有比较好的编译方法?现在每次只是改文件系统的文件的一点小地方都需要重新编译内核,感觉很非常浪费时间。有没有比较好的方法? >> _______________________________________________ >> Linux 内核开发中文邮件列表 >> Linux-kernel在zh-kernel.org >> http://zh-kernel.org/mailman/listinfo/linux-kernel >> Linux 内核开发中文社区: http://zh-kernel.org >> > > From adam8157在gmail.com Fri Jul 16 16:11:08 2010 From: adam8157在gmail.com (Adam Lee) Date: Fri, 16 Jul 2010 16:11:08 +0800 Subject: =?UTF-8?B?UmU6IFJlOiBSZTpSZTpfbGludXjliJvlu7rpobXooag=?= In-Reply-To: <980171.f17b.129da44fe1b.Coremail.yun10xiang@163.com> References: <201007161527146877466@gmail.com> <201007161500055783689@gmail.com> <201007161435231713555@gmail.com> <201007161252042504434@gmail.com> <201007151328267188971@gmail.com> <201007151248475938647@gmail.com> <201007151158429842493@gmail.com> <15a52fd.3510.129d43c9f08.Coremail.yun10xiang@163.com> <908bf7.3898.129d453afde.Coremail.yun10xiang@163.com> <1c06c5d.3f6b.129d48ed76e.Coremail.yun10xiang@163.com> <1ec2a32.dcf6.129d9ef986d.Coremail.yun10xiang@163.com> <32208.e786.129da1e94e7.Coremail.yun10xiang@163.com> <1c325d9.ecde.129da32ce15.Coremail.yun10xiang@163.com> <201007161544576097973@gmail.com> <980171.f17b.129da44fe1b.Coremail.yun10xiang@163.com> Message-ID: 我想插句话问一下, 为什么你的邮件标题和正文都很混乱?结尾还一串"最强大的网易邮箱". 可以设置的话麻烦改一下. 谢谢. -- Regards, Adam Lee -------------------------------------------------- E-mail: adam8157在gmail.com Website: http://www.adam8157.info -------------------------------------------------- From yun10xiang在163.com Fri Jul 16 16:17:29 2010 From: yun10xiang在163.com (yun10xiang) Date: Fri, 16 Jul 2010 16:17:29 +0800 (CST) Subject: =?UTF-8?Q?Re:Re:_Re:_Re:Re:=5Flinux=E5=88=9B=E5=BB=BA=E9=A1=B5=E8=A1=A8?= In-Reply-To: References: <201007161527146877466@gmail.com> <201007161500055783689@gmail.com> <201007161435231713555@gmail.com> <201007161252042504434@gmail.com> <201007151328267188971@gmail.com> <201007151248475938647@gmail.com> <201007151158429842493@gmail.com> <15a52fd.3510.129d43c9f08.Coremail.yun10xiang@163.com> <908bf7.3898.129d453afde.Coremail.yun10xiang@163.com> <1c06c5d.3f6b.129d48ed76e.Coremail.yun10xiang@163.com> <1ec2a32.dcf6.129d9ef986d.Coremail.yun10xiang@163.com> <32208.e786.129da1e94e7.Coremail.yun10xiang@163.com> <1c325d9.ecde.129da32ce15.Coremail.yun10xiang@163.com> <201007161544576097973@gmail.com> <980171.f17b.129da44fe1b.Coremail.yun10xiang@163.com> Message-ID: 快捷回复给:Adam Lee, linux-kernel, guannank >我想插句话问一下, 为什么你的邮件标题和正文都很混乱?结尾还一串"最强大的网易邮箱". > >可以设置的话麻烦改一下. 谢谢. > > >-- >Regards, >Adam Lee >-------------------------------------------------- >E-mail: adam8157在gmail.com >Website: http://www.adam8157.info >-------------------------------------------------- From yun10xiang在163.com Fri Jul 16 16:18:12 2010 From: yun10xiang在163.com (yun10xiang) Date: Fri, 16 Jul 2010 16:18:12 +0800 (CST) Subject: =?UTF-8?Q?Re:Re:_Re:_Re:Re:=5Flinux=E5=88=9B=E5=BB=BA=E9=A1=B5=E8=A1=A8?= In-Reply-To: References: <201007161527146877466@gmail.com> <201007161500055783689@gmail.com> <201007161435231713555@gmail.com> <201007161252042504434@gmail.com> <201007151328267188971@gmail.com> <201007151248475938647@gmail.com> <201007151158429842493@gmail.com> <15a52fd.3510.129d43c9f08.Coremail.yun10xiang@163.com> <908bf7.3898.129d453afde.Coremail.yun10xiang@163.com> <1c06c5d.3f6b.129d48ed76e.Coremail.yun10xiang@163.com> <1ec2a32.dcf6.129d9ef986d.Coremail.yun10xiang@163.com> <32208.e786.129da1e94e7.Coremail.yun10xiang@163.com> <1c325d9.ecde.129da32ce15.Coremail.yun10xiang@163.com> <201007161544576097973@gmail.com> <980171.f17b.129da44fe1b.Coremail.yun10xiang@163.com> Message-ID: <19ec59e.f598.129da5508a5.Coremail.yun10xiang@163.com> 不要意思。我用网易邮箱。不知道怎么设置 >我想插句话问一下, 为什么你的邮件标题和正文都很混乱?结尾还一串"最强大的网易邮箱". > >可以设置的话麻烦改一下. 谢谢. > > >-- >Regards, >Adam Lee >-------------------------------------------------- >E-mail: adam8157在gmail.com >Website: http://www.adam8157.info >-------------------------------------------------- From xiyou.wangcong在gmail.com Fri Jul 16 16:52:57 2010 From: xiyou.wangcong在gmail.com (=?utf-8?Q?Am=C3=A9rico?= Wang) Date: Fri, 16 Jul 2010 16:52:57 +0800 Subject: =?utf-8?B?TGludXjmlofku7bns7vnu5/nvJY=?= =?utf-8?B?56iL?= In-Reply-To: References: Message-ID: <20100716085257.GA6149@cr0.nay.redhat.com> On Fri, Jul 16, 2010 at 04:08:54PM +0800, quanli gui wrote: >例如像NFS这样子的文件系统可以成为独立的模块吗?有的文件系统应该是内嵌的吧 config NFS_FS tristate "NFS client support" <==================== depends on INET && FILE_LOCKING select LOCKD select SUNRPC select NFS_ACL_SUPPORT if NFS_V3_ACL help Choose Y here if you want to access files residing on other computers using Sun's Network File System protocol. To compile this file system support as a module, choose M here: the module From byrbzdl在gmail.com Fri Jul 16 23:08:57 2010 From: byrbzdl在gmail.com (Kris Chen) Date: Fri, 16 Jul 2010 23:08:57 +0800 Subject: =?GB2312?Q?Atheros_SH_=D5=D0=C6=B8Software_engineer_=2D_MBU?= Message-ID: Atheros SH 招聘Software engineer - MBU 这个职位在上海张江,是做Bluetooth/Wifi相关产品的 要求本科至少3年、硕士2年以上工作经验 感兴趣请发简历到 kris.chen在atheros.com 邮件请以以下格式命名: [职位名称]-学校-工作经验-姓名 ---------------------------------------------- Atheros是无线网卡芯片的业界老大,以RF芯片比较著名, 产品线包括WLAN、Powerline、Bluetooth、GPS、Ethernet等 网址:www.atheros.com Software engineer - MBU QUALIFICATION (DETAIL): Education: Bachelor or Master degree in Software Engineering, Computer Science, or related field Experience:  Interface with the ASIC teams on chip features and programming model  Develop and maintain key features for Bluetooth software on an embedded OS, a Linux and/or Windows OS platform;  Support software releases during test and release cycles;  Experience with wireless drivers and/or other networking drivers  Knowledge of networking protocols and security concepts  Bluetooth development experience is highly desired  Familiarity with hardware debugging  Experience in release processes, build and packaging  Excellent verbal and written communication skills  Experience with embedded platform development  Experience with full software life cycle and delivery mechanisms  Knowledge of multi-threading and synchronization in a driver environment  Strong understanding of OS kernel internals  Product architecture, design, implementation and testing experience  Ability to work independently with minimal supervision DESCRIPTION OF FUNCTION & RESPONSIBILITY:  Interface with the ASIC teams on chip features and programming model  Develop and maintain key features for Bluetooth software on an embedded OS, a Linux and/or Windows OS platform  Support software releases during test and release cycles From byrbzdl在gmail.com Fri Jul 16 23:12:34 2010 From: byrbzdl在gmail.com (Kris Chen) Date: Fri, 16 Jul 2010 23:12:34 +0800 Subject: =?GB2312?Q?Re=3A_Atheros_SH_=D5=D0=C6=B8Software_engineer_=2D_MBU?= In-Reply-To: References: Message-ID: 还有个射频的职位, RF System Engineer - The minimum requirement is at least 3+ working exp and a smart guy and eager to learn. 其他相关职位: Linux/window Driver Engineer Senior Linux/window Driver Engineer (6 years +) Education: BS/MS degree in CS/EE, or related field Experience:  3+ years driver development experience in Linux embedded operating system or Window NDIS.  Excellent C programming skill.  Strong understanding of operating system, such kernel internals, multithreading, synchronization, interrupt, memory management, PCI etc.  Knowledge of Layer 2 and Layer 3 networking protocols  Excellent team, communication, and interpersonal skills  Strong analytical and problem solving skills  One or more of the following experience is a great plus: - Experience with encryption, authentication protocols (IPSEC, RADIUS, IKE, 802.1X, DES) and wireless communications - Experience with Wireless LAN Driver - Experience with Network Driver DESCRIPTION OF FUNCTION & RESPONSIBILITY: Be part of the core WLAN engineering team to contribute to development, release and maintenance of network driver software, network protocols and algorithms for wireless networks. ------------------------------------------------------ Embedded Software Engineer Senior Embedded Software Engineer (6 years+) Education: BS/MS degree in CS/EE, or related field Experience:  3+ years embedded software development experience in Linux or other embedded operating systems.  Solid knowledge of network protocols and firewall.  Excellent C programming, assembly language programming skills.  Experience in hardware bringup, BSP development for MIPS, ARM family processors  Experience with development of wireless router, AP and other embedded telecom products is preferred. Knowledge of wireless networks is preferred.  Knowledge of embedded debugging environment tools such as in-circuit emulator and logic analyzer.  Team player with excellent communication and interpersonal skills  Strong analytical and problem solving skills DESCRIPTION OF FUNCTION & RESPONSIBILITY: Be part of the core WLAN engineering team to contribute to design, implementation and testing of wireless networking products. This individual will be working on developing board support package, low level device drivers, and network drivers. ----------------------------------------------- 在 2010年7月16日 下午11:08,Kris Chen 写道: > Atheros SH 招聘Software engineer - MBU > > > 这个职位在上海张江,是做Bluetooth/Wifi相关产品的 > 要求本科至少3年、硕士2年以上工作经验 > > 感兴趣请发简历到 kris.chen在atheros.com > > 邮件请以以下格式命名: > [职位名称]-学校-工作经验-姓名 > > ---------------------------------------------- > Atheros是无线网卡芯片的业界老大,以RF芯片比较著名, > > 产品线包括WLAN、Powerline、Bluetooth、GPS、Ethernet等 > > 网址:www.atheros.com > > > > Software engineer - MBU > > QUALIFICATION (DETAIL): > Education: > Bachelor or Master degree in Software Engineering, Computer Science, or > related field > Experience: > Interface with the ASIC teams on chip features and programming model > Develop and maintain key features for Bluetooth software on an embedded OS, > a > Linux and/or Windows OS platform; > Support software releases during test and release cycles; > Experience with wireless drivers and/or other networking drivers > Knowledge of networking protocols and security concepts > Bluetooth development experience is highly desired > Familiarity with hardware debugging > Experience in release processes, build and packaging > Excellent verbal and written communication skills > Experience with embedded platform development > Experience with full software life cycle and delivery mechanisms > Knowledge of multi-threading and synchronization in a driver environment > Strong understanding of OS kernel internals > Product architecture, design, implementation and testing experience > Ability to work independently with minimal supervision > > DESCRIPTION OF FUNCTION & RESPONSIBILITY: > Interface with the ASIC teams on chip features and programming model > Develop and maintain key features for Bluetooth software on an embedded OS, > a > Linux and/or Windows OS platform > Support software releases during test and release cycles > > From byrbzdl在gmail.com Fri Jul 16 23:14:24 2010 From: byrbzdl在gmail.com (Kris Chen) Date: Fri, 16 Jul 2010 23:14:24 +0800 Subject: =?GB2312?Q?Re=3A_Atheros_SH_=D5=D0=C6=B8Software_engineer_=2D_MBU?= In-Reply-To: References: Message-ID: Software engineer -QA QUALIFICATION (DETAIL): Education: BS/MS degree in Electrical Engineering, Computer Science, or related field Experience:  Colleague hire  Excellent C programming skills  Strong understanding of OS kernel internals  Knowledge of networking protocols and security concepts  Experience with wireless drivers and/or other networking drivers is plus  Excellent verbal and written communication skills  Working well in a team environment DESCRIPTION OF FUNCTION & RESPONSIBILITY:  Design, develop and run tests for  Ethernet Switch Emulation  Ethernet L2 and L3 switch software  Regression, performance, functionality and stress  Certification and interoperability  Support all test beds and test activities  Support nightly regression testing  Provide metrics of software quality and resource utilization ------------------------------------------------------------------------ Digital Design Engineer -PLC QUALIFICATION (DETAIL): Education: BS/MS degree in Electrical Engineering or related field Experience:  3-5 years experience in digital design with Verilog  Proven records of delivering successful ASICs  Knowledge in communication and networking  Knowledge embedded processors, AMBA and other standard interfaces such as SPI, UART, I2C etc.  Understanding DMA and memory subsystem.  Background in signal processing is a plus  Familiar ASIC design flow  Good communication skill DESCRIPTION OF FUNCTION & RESPONSIBILITY:  working with our architecture, verification and software teams to develop next generation SOC ASICs.  Responsibilities include:  Design and implement digital logic.  Debug and validate the design in DV and Emulation.  Synthesis and timing check.  Writing engineering design spec. and documentation. 在 2010年7月16日 下午11:12,Kris Chen 写道: > 还有个射频的职位, > RF System Engineer - The minimum requirement is at least 3+ working exp and > a smart guy and eager to learn. > > > 其他相关职位: > > Linux/window Driver Engineer > > Senior Linux/window Driver Engineer (6 years +) > Education: > BS/MS degree in CS/EE, or related field > Experience: > 3+ years driver development experience in Linux embedded operating system > or > Window NDIS. > Excellent C programming skill. > Strong understanding of operating system, such kernel internals, > multithreading, > synchronization, interrupt, memory management, PCI etc. > Knowledge of Layer 2 and Layer 3 networking protocols > Excellent team, communication, and interpersonal skills > Strong analytical and problem solving skills > One or more of the following experience is a great plus: > - Experience with encryption, authentication protocols (IPSEC, RADIUS, IKE, > 802.1X, DES) and wireless communications > - Experience with Wireless LAN Driver > - Experience with Network Driver > DESCRIPTION OF FUNCTION & RESPONSIBILITY: > Be part of the core WLAN engineering team to contribute to development, > release > and maintenance of network driver software, network protocols and > algorithms for > wireless networks. > > ------------------------------------------------------ > Embedded Software Engineer > > Senior Embedded Software Engineer (6 years+) > > Education: > BS/MS degree in CS/EE, or related field > Experience: > 3+ years embedded software development experience in Linux or other > embedded > operating systems. > Solid knowledge of network protocols and firewall. > Excellent C programming, assembly language programming skills. > Experience in hardware bringup, BSP development for MIPS, ARM family > processors > Experience with development of wireless router, AP and other embedded > telecom > products is preferred. Knowledge of wireless networks is preferred. > Knowledge of embedded debugging environment tools such as in-circuit > emulator > and logic analyzer. > Team player with excellent communication and interpersonal skills > Strong analytical and problem solving skills > DESCRIPTION OF FUNCTION & RESPONSIBILITY: > Be part of the core WLAN engineering team to contribute to design, > implementation > and testing of wireless networking products. This individual will be > working on > developing board support package, low level device drivers, and network > drivers. > > ----------------------------------------------- > > > > > 在 2010年7月16日 下午11:08,Kris Chen 写道: > > Atheros SH 招聘Software engineer - MBU >> >> >> 这个职位在上海张江,是做Bluetooth/Wifi相关产品的 >> 要求本科至少3年、硕士2年以上工作经验 >> >> 感兴趣请发简历到 kris.chen在atheros.com >> >> 邮件请以以下格式命名: >> [职位名称]-学校-工作经验-姓名 >> >> ---------------------------------------------- >> Atheros是无线网卡芯片的业界老大,以RF芯片比较著名, >> >> 产品线包括WLAN、Powerline、Bluetooth、GPS、Ethernet等 >> >> 网址:www.atheros.com >> >> >> >> Software engineer - MBU >> >> QUALIFICATION (DETAIL): >> Education: >> Bachelor or Master degree in Software Engineering, Computer Science, or >> related field >> Experience: >> Interface with the ASIC teams on chip features and programming model >> Develop and maintain key features for Bluetooth software on an embedded >> OS, a >> Linux and/or Windows OS platform; >> Support software releases during test and release cycles; >> Experience with wireless drivers and/or other networking drivers >> Knowledge of networking protocols and security concepts >> Bluetooth development experience is highly desired >> Familiarity with hardware debugging >> Experience in release processes, build and packaging >> Excellent verbal and written communication skills >> Experience with embedded platform development >> Experience with full software life cycle and delivery mechanisms >> Knowledge of multi-threading and synchronization in a driver environment >> Strong understanding of OS kernel internals >> Product architecture, design, implementation and testing experience >> Ability to work independently with minimal supervision >> >> DESCRIPTION OF FUNCTION & RESPONSIBILITY: >> Interface with the ASIC teams on chip features and programming model >> Develop and maintain key features for Bluetooth software on an embedded >> OS, a >> Linux and/or Windows OS platform >> Support software releases during test and release cycles >> >> > From elendil.wang在gmail.com Sat Jul 17 09:28:43 2010 From: elendil.wang在gmail.com (Elendil) Date: Sat, 17 Jul 2010 09:28:43 +0800 Subject: =?GB2312?B?ob5PVKG/udjT2tPDcGMtbGludLzssulrZXJuZWzOxLz+tcTOyszi?= Message-ID: Dear all: 如题,我现在用pc lint8.0,集成在source insight里面检查kernel的文件,但是我发现在检查的时候非常慢,一个文件通常需要几十秒的时间,不知为啥,或许是pc-lint的设置有问题,有高人用过吗? From abutter.gao在gmail.com Sat Jul 17 10:03:09 2010 From: abutter.gao在gmail.com (Gao Ya'nan) Date: Sat, 17 Jul 2010 10:03:09 +0800 Subject: =?GB2312?B?UmU6IKG+T1Shv7nY09rTw3BjLWxpbnS87LLpa2VybmVszsS8/rXEzso=?= =?GB2312?B?zOI=?= In-Reply-To: References: Message-ID: 对你写的或修改代码进行检查,不要对整个内核进行检查。 如果检查出告警,你要修改吗? 个人以为跟杀毒软件有些关系。 在 2010年7月17日 上午9:28,Elendil 写道: > Dear all: > 如题,我现在用pc lint8.0,集成在source > insight里面检查kernel的文件,但是我发现在检查的时候非常慢,一个文件通常需要几十秒的时间,不知为啥,或许是pc-lint的设置有问题,有高人用过吗? > _______________________________________________ > Linux 内核开发中文邮件列表 > Linux-kernel在zh-kernel.org > http://zh-kernel.org/mailman/listinfo/linux-kernel > Linux 内核开发中文社区: http://zh-kernel.org From parry.nee在qq.com Sat Jul 17 12:24:21 2010 From: parry.nee在qq.com (=?gbk?B?sK4ouu4p0+PJ/Q==?=) Date: Sat, 17 Jul 2010 12:24:21 +0800 Subject: =?gbk?B?zqrKssO01NpzY2hlZC5j1tC1xHNjaGVkX2V4aXQo?= =?gbk?B?Kbqvyv3W0HByaW50a7vhs/bP1svAu/qjvw==?= Message-ID: 大家好: 打扰了! 我在sched.c中的sched_exit()函数中加了些printk来打印 一些进程以及其调度相关的信息,可是经常打着打着机器 就没有反应了,鼠标也死了。有谁能帮忙解答下吗? 谢谢了! PS:我修改的是Linux2.6.21内核 From qzhang.g在gmail.com Sat Jul 17 13:15:15 2010 From: qzhang.g在gmail.com (Alvin) Date: Sat, 17 Jul 2010 13:15:15 +0800 Subject: =?UTF-8?B?UmU6IExpbnV45paH5Lu257O757uf57yW56iL?= In-Reply-To: <20100716085257.GA6149@cr0.nay.redhat.com> References: <20100716085257.GA6149@cr0.nay.redhat.com> Message-ID: 2010/7/16 Américo Wang > On Fri, Jul 16, 2010 at 04:08:54PM +0800, quanli gui wrote: > >例如像NFS这样子的文件系统可以成为独立的模块吗?有的文件系统应该是内嵌的吧 > > > config NFS_FS > tristate "NFS client support" <==================== > depends on INET && FILE_LOCKING > select LOCKD > select SUNRPC > select NFS_ACL_SUPPORT if NFS_V3_ACL > help > Choose Y here if you want to access files residing on other > computers using Sun's Network File System protocol. To compile > this file system support as a module, choose M here: the module > _______________________________________________ > Linux 内核开发中文邮件列表 > Linux-kernel在zh-kernel.org > http://zh-kernel.org/mailman/listinfo/linux-kernel > Linux 内核开发中文社区: http://zh-kernel.org > 用loop方式挂image -- ~Alvin From yuanshireng在163.com Sat Jul 17 15:59:13 2010 From: yuanshireng在163.com (=?gbk?B?zfXOxA==?=) Date: Sat, 17 Jul 2010 15:59:13 +0800 (CST) Subject: list_head Message-ID: <4876ee.33be.129df6a0439.Coremail.yuanshireng@163.com> 最近在ubuntu上开发要用到list_head,但在usr/include/linux找不到list.h,把头文件内 容单独复制到程序中又牽扯到其它内核中的头文件和库,请问该如何解决 ??? From kermit.mei在gmail.com Sat Jul 17 16:14:49 2010 From: kermit.mei在gmail.com (Kermit Mei) Date: Sat, 17 Jul 2010 16:14:49 +0800 Subject: list_head In-Reply-To: <4876ee.33be.129df6a0439.Coremail.yuanshireng@163.com> References: <4876ee.33be.129df6a0439.Coremail.yuanshireng@163.com> Message-ID: <1279354489.3609.12.camel@kermit-laptop> On Sat, 2010-07-17 at 15:59 +0800, 王文 wrote: > 最近在ubuntu上开发要用到list_head,但在usr/include/linux找不到list.h,把头文件内 容单独复制到程序中又牽扯到其它内核中的头文件和库,请问该如何解决 ??? 如果是应用层开发,有很多更灵活的list可用,如果没有特别的需求一定要使 用kernel list结构可以考虑一下。 否则就只能从内核代码中提出 linux-2.6.34/include/linux/list.h及其相关实现,小心提炼了。 B.R Kermit From he.cheney在gmail.com Mon Jul 12 19:56:28 2010 From: he.cheney在gmail.com (he.cheney) Date: Mon, 12 Jul 2010 19:56:28 +0800 Subject: Oralce BJ =?gb2312?Q?=D5=D0=C6=B8?= Senior Software Developer (Linux kernel) In-Reply-To: <73876b48-9690-4b2e-b2c5-dcbf9b01b046@default> References: <73876b48-9690-4b2e-b2c5-dcbf9b01b046@default> Message-ID: <1278935788.2127.2.camel@handsome-laptop> 为什么外企就不改改这个臭脾气,明明要招个拉磨的驴,非要写的跟招个伽利略似 的。艹,至于吗。 你这样写谁会到你这儿来,同样是招聘的,你看人家富士通的招聘公告,实在具 体,应者云集。 在 2010-07-12一的 03:03 -0700,Helena Cai写道: > > 对此职位感兴趣的朋友,可以将简历发至 HYPERLINK "mailto:helena.cai在hotmail.com"helena.cai在hotmail.com > > 工作地点:北京 > > Senior Software Developer (Linux kernel) > > Department Description > The Oracle VM (OVM) Server is a fast-paced team developing the server components of the Oracle VM: a hypervisor based, agent-managed, x86 server virtualization environment. The OVM Server team is responsible for the hypervisor, kernel, hypervisor management stack and agent interface which is accessed by Oracle VM Manager. This includes management of virtual machines and of all of the physical resources owned by the server. > > The OVM Server team works closely with the OVM Manager UI and OVM Core API teams during product development and testing. The team also works closely with other internal and external customers of the OVM solution. > > Brief Description > Design, develop, troubleshoot and debug software programs for databases, applications, tools, networks etc. > > Detailed Description > As a member of the software engineering division, you will take an active role in the definition and evolution of standard practices and procedures. You will be responsible for defining and developing software for tasks associated with the developing, designing and debugging of software applications or operating systems. > > Job Requirement > Work is non-routine and very complex, involving the application of advanced technical/business skills in area of specialization. Leading contributor individually and as a team member, providing direction and mentoring to others. BS or MS degree or equivalent experience relevant to functional area. 7 years of software engineering or related experience. > > Additional Details > The position requires direct experience with x86 hypervisor based server virtualization environments. Experience with linux or similar Unix kernel is mandatory. Strong proficiency with C and python are requirements. Practical, hands-on experience with network and storage host adapter configuration, storage and network device configuration, and Intel/AMD platform features is highly recommended. Excellent communication and documentation skills are necessary. > _______________________________________________ > Linux 内核开发中文邮件列表 > Linux-kernel在zh-kernel.org > http://zh-kernel.org/mailman/listinfo/linux-kernel > Linux 内核开发中文社区: http://zh-kernel.org From me在kaio.net Sun Jul 18 19:45:32 2010 From: me在kaio.net (Caius 'kaio' Chance) Date: Sun, 18 Jul 2010 21:45:32 +1000 Subject: =?UTF-8?Q?Re=3A_Oralce_BJ_=E6=8B=9B=E8=81=98_Senior_Software_Developer_=28Linu?= =?UTF-8?Q?x_kernel=29?= In-Reply-To: <1278935788.2127.2.camel@handsome-laptop> References: <73876b48-9690-4b2e-b2c5-dcbf9b01b046@default> <1278935788.2127.2.camel@handsome-laptop> Message-ID: 很多寫聘書的都把上一任的資格及技能寫上了。現實是,在市場找到跟離開了的那位一樣的人才,真的那麼容易嗎? 2010/7/12 he.cheney > 為什麼外企就不改改這個臭脾氣,明明要招個拉磨的驢,非要寫的跟招個伽利略似 > 的。艹,至於嗎。 > > 你這樣寫誰會到你這兒來,同樣是招聘的,你看人家富士通的招聘公告,實在具 > 體,應者云集。 > > 在 2010-07-12一的 03:03 -0700,Helena Cai寫道: > > > > 對此職位感興趣的朋友,可以將簡歷發至 HYPERLINK "mailto:helena.cai在hotmail.com" > helena.cai在hotmail.com > > > > 工作地點:北京 > > > > Senior Software Developer (Linux kernel) > > > > Department Description > > The Oracle VM (OVM) Server is a fast-paced team developing the server > components of the Oracle VM: a hypervisor based, agent-managed, x86 server > virtualization environment. The OVM Server team is responsible for the > hypervisor, kernel, hypervisor management stack and agent interface which is > accessed by Oracle VM Manager. This includes management of virtual machines > and of all of the physical resources owned by the server. > > > > The OVM Server team works closely with the OVM Manager UI and OVM Core > API teams during product development and testing. The team also works > closely with other internal and external customers of the OVM solution. > > > > Brief Description > > Design, develop, troubleshoot and debug software programs for databases, > applications, tools, networks etc. > > > > Detailed Description > > As a member of the software engineering division, you will take an active > role in the definition and evolution of standard practices and procedures. > You will be responsible for defining and developing software for tasks > associated with the developing, designing and debugging of software > applications or operating systems. > > > > Job Requirement > > Work is non-routine and very complex, involving the application of > advanced technical/business skills in area of specialization. Leading > contributor individually and as a team member, providing direction and > mentoring to others. BS or MS degree or equivalent experience relevant to > functional area. 7 years of software engineering or related experience. > > > > Additional Details > > The position requires direct experience with x86 hypervisor based server > virtualization environments. Experience with linux or similar Unix kernel > is mandatory. Strong proficiency with C and python are requirements. > Practical, hands-on experience with network and storage host adapter > configuration, storage and network device configuration, and Intel/AMD > platform features is highly recommended. Excellent communication and > documentation skills are necessary. > > _______________________________________________ > > Linux 內核開發中文郵件列表 > > Linux-kernel在zh-kernel.org > > http://zh-kernel.org/mailman/listinfo/linux-kernel > > Linux 內核開發中文社區: http://zh-kernel.org > > > _______________________________________________ > Linux 內核開發中文郵件列表 > Linux-kernel在zh-kernel.org > http://zh-kernel.org/mailman/listinfo/linux-kernel > Linux 內核開發中文社區: http://zh-kernel.org > -- Caius 'kaio' Chance / かいお From yaanhyy在gmail.com Mon Jul 19 09:09:12 2010 From: yaanhyy在gmail.com (yy Hong) Date: Mon, 19 Jul 2010 09:09:12 +0800 Subject: =?GB2312?B?ZXh0M87EvP7Ptc2z0K3S6Q==?= Message-ID: 大家好: 最近在做linux的文件系统部分的性能分析。目前主要是分析ext系列。在看算法的时候,需要涉及ext的协议。不知道ext文件系统有跟pci,usb这样的标准协议文档吗? 我找了半天也没有google出来?是不是不存在?请大家帮个小忙,谢谢:) From openspace.wang在gmail.com Mon Jul 19 10:14:26 2010 From: openspace.wang在gmail.com (Ryan Wang) Date: Mon, 19 Jul 2010 10:14:26 +0800 Subject: =?GB2312?B?UmU6IGV4dDPOxLz+z7XNs9Ct0uk=?= In-Reply-To: References: Message-ID: 在 2010年7月19日 上午9:09,yy Hong 写道: > 大家好: > > 最近在做linux的文件系统部分的性能分析。目前主要是分析ext系列。在看算法的时候,需要涉及ext的协议。不知道ext文件系统有跟pci,usb这样的标准协议文档吗? > 我找了半天也没有google出来?是不是不存在?请大家帮个小忙,谢谢:) > _______________________________________________ > Linux 内核开发中文邮件列表 > Linux-kernel在zh-kernel.org > http://zh-kernel.org/mailman/listinfo/linux-kernel > Linux 内核开发中文社区: http://zh-kernel.org https://ext4.wiki.kernel.org/index.php/Main_Page From taoma.tm在gmail.com Mon Jul 19 10:32:49 2010 From: taoma.tm在gmail.com (Tao Ma) Date: Mon, 19 Jul 2010 10:32:49 +0800 Subject: =?GB2312?Q?Re=3A_Oralce_BJ_=D5=D0=C6=B8_Senior_Software_Developer_=28Linu?= =?GB2312?Q?x_kernel=29?= In-Reply-To: <1278935788.2127.2.camel@handsome-laptop> References: <73876b48-9690-4b2e-b2c5-dcbf9b01b046@default> <1278935788.2127.2.camel@handsome-laptop> Message-ID: On Mon, Jul 12, 2010 at 7:56 PM, he.cheney wrote: > 为什么外企就不改改这个臭脾气,明明要招个拉磨的驴,非要写的跟招个伽利略似 > 的。艹,至于吗。 说几句公道话。 helena是负责招聘的HR, 具体的技术她也不太懂,所以她可能只是把要求写了一下而已,如果有不妥处请包涵。 我刚才把她贴的要求仔细看了一下,都很靠谱呀,实在是不知道哪里说的"招个伽利略似的"? 如果有的话,麻烦您指出来? 这个职位是高级工程师,我觉得还是需要做过这方面工作的人吧! 谢谢! > > 你这样写谁会到你这儿来,同样是招聘的,你看人家富士通的招聘公告,实在具 > 体,应者云集。 > > 在 2010-07-12一的 03:03 -0700,Helena Cai写道: >> >> 对此职位感兴趣的朋友,可以将简历发至 HYPERLINK "mailto:helena.cai在hotmail.com"helena.cai在hotmail.com >> >> 工作地点:北京 >> >> Senior Software Developer (Linux kernel) >> >> Department Description >> The Oracle VM (OVM) Server is a fast-paced team developing the server components of the Oracle VM: a hypervisor based, agent-managed, x86 server virtualization environment. The OVM Server team is responsible for the hypervisor, kernel, hypervisor management stack and agent interface which is accessed by Oracle VM Manager. This includes management of virtual machines and of all of the physical resources owned by the server. >> >> The OVM Server team works closely with the OVM Manager UI and OVM Core API teams during product development and testing. The team also works closely with other internal and external customers of the OVM solution. >> >> Brief Description >> Design, develop, troubleshoot and debug software programs for databases, applications, tools, networks etc. >> >> Detailed Description >> As a member of the software engineering division, you will take an active role in the definition and evolution of standard practices and procedures. You will be responsible for defining and developing software for tasks associated with the developing, designing and debugging of software applications or operating systems. >> >> Job Requirement >> Work is non-routine and very complex, involving the application of advanced technical/business skills in area of specialization. Leading contributor individually and as a team member, providing direction and mentoring to others. BS or MS degree or equivalent experience relevant to functional area. 7 years of software engineering or related experience. >> >> Additional Details >> The position requires direct experience with x86 hypervisor based server virtualization environments. Experience with linux or similar Unix kernel is mandatory. Strong proficiency with C and python are requirements. Practical, hands-on experience with network and storage host adapter configuration, storage and network device configuration, and Intel/AMD platform features is highly recommended. Excellent communication and documentation skills are necessary. >> _______________________________________________ >> Linux 内核开发中文邮件列表 >> Linux-kernel在zh-kernel.org >> http://zh-kernel.org/mailman/listinfo/linux-kernel >> Linux 内核开发中文社区: http://zh-kernel.org > > > _______________________________________________ > Linux 内核开发中文邮件列表 > Linux-kernel在zh-kernel.org > http://zh-kernel.org/mailman/listinfo/linux-kernel > Linux 内核开发中文社区: http://zh-kernel.org From wangzhzh在neusoft.com Mon Jul 19 10:35:28 2010 From: wangzhzh在neusoft.com (=?UTF-8?B?546L5b+X5b+g?=) Date: Mon, 19 Jul 2010 10:35:28 +0800 Subject: =?UTF-8?B?5LuA5LmI5piv6L+b56iL55qE5qC5SeiKgueCue+8nw==?= In-Reply-To: References: Message-ID: <4C43B9F0.4040404@neusoft.com> Linux0.11内核完全注释的疑问: 是进程的工作目录的I节点吗? 整个系统只有一个根节点,为什么说每个进程还有根I节点? ------------------------------------------------------------------------------ --------------------------------------------------------------------------------------------------- Confidentiality Notice: The information contained in this e-mail and any accompanying attachment(s) is intended only for the use of the intended recipient and may be confidential and/or privileged of Neusoft Corporation, its subsidiaries and/or its affiliates. If any reader of this communication is not the intended recipient, unauthorized use, forwarding, printing, storing, disclosure or copying is strictly prohibited, and may be unlawful.If you have received this communication in error,please immediately notify the sender by return e-mail, and delete the original message and all copies from your system. Thank you. --------------------------------------------------------------------------------------------------- From jeff.liu在oracle.com Mon Jul 19 10:54:27 2010 From: jeff.liu在oracle.com (jeff.liu) Date: Mon, 19 Jul 2010 10:54:27 +0800 Subject: Oralce BJ =?UTF-8?B?5oub6IGYIFNlbmlvciBTb2Z0d2FyZSBEZXZlbG9w?= =?UTF-8?B?ZXIgKExpbnV4IGtlcm5lbCk=?= In-Reply-To: References: <73876b48-9690-4b2e-b2c5-dcbf9b01b046@default> <1278935788.2127.2.camel@handsome-laptop> Message-ID: <4C43BE63.6010407@oracle.com> Tao Ma wrote: > On Mon, Jul 12, 2010 at 7:56 PM, he.cheney wrote: >> 为什么外企就不改改这个臭脾气,明明要招个拉磨的驴,非要写的跟招个伽利略似 >> 的。艹,至于吗。 客观说Oracle对于该职位的要求并不过分. 目前北京office承担不少OVM产品的关键任务, 并非你所认为的 "拉磨 的驴". Senior developer需要具备team/project leader的能力. > 说几句公道话。 > helena是负责招聘的HR, 具体的技术她也不太懂,所以她可能只是把要求写了一下而已,如果有不妥处请包涵。 > 我刚才把她贴的要求仔细看了一下,都很靠谱呀,实在是不知道哪里说的"招个伽利略似的"? > 如果有的话,麻烦您指出来? > 这个职位是高级工程师,我觉得还是需要做过这方面工作的人吧! > > 谢谢! > >> 你这样写谁会到你这儿来,同样是招聘的,你看人家富士通的招聘公告,实在具 >> 体,应者云集。 还请本着 "对事不对人" 的态度发言. 谢谢. :) >> >> 在 2010-07-12一的 03:03 -0700,Helena Cai写道: >>> 对此职位感兴趣的朋友,可以将简历发至 HYPERLINK "mailto:helena.cai在hotmail.com"helena.cai在hotmail.com >>> >>> 工作地点:北京 >>> >>> Senior Software Developer (Linux kernel) >>> >>> Department Description >>> The Oracle VM (OVM) Server is a fast-paced team developing the server components of the Oracle VM: a hypervisor based, agent-managed, x86 server virtualization environment. The OVM Server team is responsible for the hypervisor, kernel, hypervisor management stack and agent interface which is accessed by Oracle VM Manager. This includes management of virtual machines and of all of the physical resources owned by the server. >>> >>> The OVM Server team works closely with the OVM Manager UI and OVM Core API teams during product development and testing. The team also works closely with other internal and external customers of the OVM solution. >>> >>> Brief Description >>> Design, develop, troubleshoot and debug software programs for databases, applications, tools, networks etc. >>> >>> Detailed Description >>> As a member of the software engineering division, you will take an active role in the definition and evolution of standard practices and procedures. You will be responsible for defining and developing software for tasks associated with the developing, designing and debugging of software applications or operating systems. >>> >>> Job Requirement >>> Work is non-routine and very complex, involving the application of advanced technical/business skills in area of specialization. Leading contributor individually and as a team member, providing direction and mentoring to others. BS or MS degree or equivalent experience relevant to functional area. 7 years of software engineering or related experience. >>> >>> Additional Details >>> The position requires direct experience with x86 hypervisor based server virtualization environments. Experience with linux or similar Unix kernel is mandatory. Strong proficiency with C and python are requirements. Practical, hands-on experience with network and storage host adapter configuration, storage and network device configuration, and Intel/AMD platform features is highly recommended. Excellent communication and documentation skills are necessary. >>> _______________________________________________ >>> Linux 内核开发中文邮件列表 >>> Linux-kernel在zh-kernel.org >>> http://zh-kernel.org/mailman/listinfo/linux-kernel >>> Linux 内核开发中文社区: http://zh-kernel.org >> >> _______________________________________________ >> Linux 内核开发中文邮件列表 >> Linux-kernel在zh-kernel.org >> http://zh-kernel.org/mailman/listinfo/linux-kernel >> Linux 内核开发中文社区: http://zh-kernel.org > _______________________________________________ > Linux 内核开发中文邮件列表 > Linux-kernel在zh-kernel.org > http://zh-kernel.org/mailman/listinfo/linux-kernel > Linux 内核开发中文社区: http://zh-kernel.org -- The knowledge you get, no matter how much it is, must be possessed yourself and nourished with your own painstaking efforts and be your achievement through hard work. From me在kaio.net Mon Jul 19 12:24:03 2010 From: me在kaio.net (Caius 'kaio' Chance) Date: Mon, 19 Jul 2010 14:24:03 +1000 Subject: =?UTF-8?Q?Re=3A_Oralce_BJ_=E6=8B=9B=E8=81=98_Senior_Software_Developer_=28Linu?= =?UTF-8?Q?x_kernel=29?= In-Reply-To: <4C43BE63.6010407@oracle.com> References: <73876b48-9690-4b2e-b2c5-dcbf9b01b046@default> <1278935788.2127.2.camel@handsome-laptop> <4C43BE63.6010407@oracle.com> Message-ID: 2010/7/19 jeff.liu > Tao Ma wrote: > > On Mon, Jul 12, 2010 at 7:56 PM, he.cheney wrote: > >> 為什麼外企就不改改這個臭脾氣,明明要招個拉磨的驢,非要寫的跟招個伽利略似 > >> 的。艹,至於嗎。 > 客觀說Oracle對於該職位的要求並不過分. 目前北京office承擔不少OVM產品的關鍵任務, 並非你所認為的 "拉磨 > 的驢". > Senior developer需要具備team/project leader的能力. > > > 說幾句公道話。 > > helena是負責招聘的HR, 具體的技術她也不太懂,所以她可能只是把要求寫了一下而已,如果有不妥處請包涵。 > > 我剛才把她貼的要求仔細看了一下,都很靠譜呀,實在是不知道哪裡說的"招個伽利略似的"? > > 如果有的話,麻煩您指出來? > > 這個職位是高級工程師,我覺得還是需要做過這方面工作的人吧! > > > > 謝謝! > > > >> 你這樣寫誰會到你這兒來,同樣是招聘的,你看人家富士通的招聘公告,實在具 > >> 體,應者云集。 > 還請本著 "對事不對人" 的態度發言. > > 大家請不要刁難負責聯系的 HR,個人認為她不應該是寫招聘詳程的作者。 不同公司的要求不一樣,寫出來的詳程自然也各異;只是覺得具體度真的要拿揑得恰到好處,否則結果將會是被投函淹沒或是乏人問津。 Responsibilities 可以寫得比較攏統,Requirements / Mandatory 就把重點技能要求含括,Desirable / Preferred 留下相關需求而能夠入職後再補修的;這樣求職者會比較有概念,企業也不會做成資源耗費。 我從來沒有參與人員徵聘的活動(只是頻繁地作為面試者),不過深感找到對的人真的不容易。 拙見拙見,還請包涵。 -- Caius 'kaio' Chance / かいお From marshuttle在gmail.com Mon Jul 19 12:26:23 2010 From: marshuttle在gmail.com (xiatianxiao) Date: Mon, 19 Jul 2010 12:26:23 +0800 Subject: =?GB2312?B?UmU6IMqyw7TKx734s8y1xLj5Sb3ateOjvw==?= In-Reply-To: <4C43B9F0.4040404@neusoft.com> References: <4C43B9F0.4040404@neusoft.com> Message-ID: 每个进程看到的根可以不一样,这样才有了"chroot"这个命令 在 2010年7月19日 上午10:35,王志忠 写道: > Linux0.11内核完全注释的疑问: > 是进程的工作目录的I节点吗? > 整个系统只有一个根节点,为什么说每个进程还有根I节点? > > ------------------------------------------------------------------------------ > > > --------------------------------------------------------------------------------------------------- > Confidentiality Notice: The information contained in this e-mail and any > accompanying attachment(s) is intended only for the use of the intended > recipient and may be confidential and/or privileged of Neusoft Corporation, > its subsidiaries and/or its affiliates. If any reader of this communication > is not the intended recipient, unauthorized use, forwarding, printing, > storing, disclosure or copying is strictly prohibited, and may be > unlawful.If you have received this communication in error,please immediately > notify the sender by return e-mail, and delete the original message and all > copies from your system. Thank you. > --------------------------------------------------------------------------------------------------- > _______________________________________________ > Linux 内核开发中文邮件列表 > Linux-kernel在zh-kernel.org > http://zh-kernel.org/mailman/listinfo/linux-kernel > Linux 内核开发中文社区: http://zh-kernel.org From wangzhzh在neusoft.com Mon Jul 19 13:12:47 2010 From: wangzhzh在neusoft.com (=?GB2312?B?zfXWvtbS?=) Date: Mon, 19 Jul 2010 13:12:47 +0800 Subject: =?GB2312?B?yrLDtMrHvfizzLXEuPlJvdq146O/?= In-Reply-To: References: <4C43B9F0.4040404@neusoft.com> Message-ID: <4C43DECF.8070209@neusoft.com> 有道理! --------------------------- On 07/19/2010 12:26 PM, xiatianxiao wrote: > 每个进程看到的根可以不一样,这样才有了"chroot"这个命令 > > 在 2010年7月19日 上午10:35,王志忠 >写道: > > Linux0.11 内核完全注释的疑问: > 是进程的工作目录的I节点吗? > 整个系统只有一个根节点,为什么说每个进程还有根I节点? > ------------------------------------------------------------------------------ > > --------------------------------------------------------------------------------------------------- > Confidentiality Notice: The information contained in this e-mail > and any accompanying attachment(s) is intended only for the use of > the intended recipient and may be confidential and/or privileged > of Neusoft Corporation, its subsidiaries and/or its affiliates. If > any reader of this communication is not the intended recipient, > unauthorized use, forwarding, printing, storing, disclosure or > copying is strictly prohibited, and may be unlawful.If you have > received this communication in error,please immediately notify the > sender by return e-mail, and delete the original message and all > copies from your system. Thank you. > --------------------------------------------------------------------------------------------------- > _______________________________________________ > Linux 内核开发中文邮件列表 > Linux-kernel在zh-kernel.org > http://zh-kernel.org/mailman/listinfo/linux-kernel > Linux 内核开发中文社区: http://zh-kernel.org > > --------------------------------------------------------------------------------------------------- Confidentiality Notice: The information contained in this e-mail and any accompanying attachment(s) is intended only for the use of the intended recipient and may be confidential and/or privileged of Neusoft Corporation, its subsidiaries and/or its affiliates. If any reader of this communication is not the intended recipient, unauthorized use, forwarding, printing, storing, disclosure or copying is strictly prohibited, and may be unlawful.If you have received this communication in error,please immediately notify the sender by return e-mail, and delete the original message and all copies from your system. Thank you. --------------------------------------------------------------------------------------------------- From shijie8在gmail.com Mon Jul 19 14:24:48 2010 From: shijie8在gmail.com (Huang Shijie) Date: Mon, 19 Jul 2010 14:24:48 +0800 Subject: =?UTF-8?B?eDg255qEcGFnZSBmYXVsdOeahOatu+mUgemXrumimA==?= In-Reply-To: References: <4C3E7909.9080704@gmail.com> Message-ID: <4C43EFB0.9080301@gmail.com> 于 2010年07月15日 11:46, oliver yang 写道: > 在 2010年7月15日 上午10:57,Huang Shijie 写道: > >> 在/arch/x86/mm/fault.c的do_page_fault()函数里。 >> 有个检查死锁的代码: >> >> /* >> * When running in the kernel we expect faults to occur only to >> * addresses in user space. All other faults represent errors in >> * the kernel and should generate an OOPS. Unfortunately, in the >> * case of an erroneous fault occurring in a code path which already >> * holds mmap_sem we will deadlock attempting to validate the fault >> * against the address space. Luckily the kernel only validly >> * references user space from well defined areas of code, which are >> * listed in the exceptions table. >> * >> * As the vast majority of faults will be valid we will only perform >> * the source reference check when there is a possibility of a >> * deadlock. Attempt to lock the address space, if we cannot we then >> * validate the source. If this is invalid we can skip the address >> * space check, thus avoiding the deadlock: >> */ >> if (unlikely(!down_read_trylock(&mm->mmap_sem))) { >> if ((error_code& PF_USER) == 0&& >> !search_exception_tables(regs->ip)) { >> bad_area_nosemaphore(regs, error_code, address); >> return; >> } >> down_read(&mm->mmap_sem); >> } >> >> 其中对死锁的原因解释是:“Unfortunately, in the >> * case of an erroneous fault occurring in a code path which already >> * holds mmap_sem we will deadlock attempting to validate the fault >> * against the address space。” >> >> 什么是“an erroneous fault occurring in a code path ” ? >> >> > 注释已经讲的很清楚了,来自于内核空间的page faults会导致死锁,所以要检查fault的来源。 > 所以这里指的的来自于内核的fault. > 谢谢。这个fault是kernel-mode下访问user space的地址所致。 但关键是为什么 down_read_trylock(&mm->mmap_sem) 不成功呢? 最多有2中情况: [1] 当前的进程已经hold这个mm->mmap_sem了,进而又发生了这个fault. 这种 有可能。 [2] 其他进程hold这个mm->mmap_sem(这个在什么情况下发生呢?) 检查fault的来源(即查看regs->ip所处位置), [1]若 search_exception_tables(regs->ip)为true是不是意味着:在处理异常 时,访问了用户的地址,这种情况要 down_read(&mm->mmap_sem),然后等其他进程释放这个锁(到底什么情 况,其他进程会hold这个锁呢?); [2]若 search_exception_tables(regs->ip)为false,这是内核运行到了什么地方? > 所以OS内核的内存都是non-pageable的内存,当然有些UNIX系统把部分内核内存设计成pageable的, > 最后发现,增加了复杂性不说,而且内存越来越便宜,这种节约很没必要。 > > 你说“OS内核的内存”具体是指什么?用什么函数分配的? 不理解 non-pageable的意思。 From xiyou.wangcong在gmail.com Mon Jul 19 17:32:33 2010 From: xiyou.wangcong在gmail.com (=?utf-8?Q?Am=C3=A9rico?= Wang) Date: Mon, 19 Jul 2010 17:32:33 +0800 Subject: =?utf-8?B?eDg255qEcGFnZSBmYXVsdOeahA==?= =?utf-8?B?5q276ZSB6Zeu6aKY?= In-Reply-To: <4C43EFB0.9080301@gmail.com> References: <4C3E7909.9080704@gmail.com> <4C43EFB0.9080301@gmail.com> Message-ID: <20100719093233.GA6026@cr0.nay.redhat.com> On Mon, Jul 19, 2010 at 02:24:48PM +0800, Huang Shijie wrote: > >但关键是为什么 down_read_trylock(&mm->mmap_sem) 不成功呢? >最多有2中情况: >[1] 当前的进程已经hold这个mm->mmap_sem了,进而又发生了这个fault. >这种 有可能。 >[2] 其他进程hold这个mm->mmap_sem(这个在什么情况下发生呢?) 比如dup_mmap() > >检查fault的来源(即查看regs->ip所处位置), >[1]若 >search_exception_tables(regs->ip)为true是不是意味着:在处理异常 >时,访问了用户的地址,这种情况要 > > down_read(&mm->mmap_sem),然后等其他进程释放这个锁(到底什么情 >况,其他进程会hold这个锁呢?); 见上。 > >[2]若 search_exception_tables(regs->ip)为false,这是内核运行到了什么地方? SIGSEGV From wwarboss在gmail.com Mon Jul 19 17:39:09 2010 From: wwarboss在gmail.com (qihao.xi) Date: Mon, 19 Jul 2010 17:39:09 +0800 Subject: =?utf-8?B?562U5aSNOiDlhbPkuo5FU1jph4w=?= =?utf-8?B?6Z2i5qih5Z2X55qE6LCD6K+V?= In-Reply-To: <20100713082755.GB9744@qxi> References: <20100713074409.GA9744@qxi> <9FE11DA4F97C4C9B95498338772D6C8E@usish.com.cn> <20100713082755.GB9744@qxi> Message-ID: <20100719093907.GA5535@qxi> On Tue, Jul 13, 2010 at 04:27:57PM +0800, qihao.xi wrote: >On Tue, Jul 13, 2010 at 03:56:40PM +0800, jack wang wrote: >> >>大家好, >> >>现在在调试一个esx3.5.5的模块问题,启动时加载一个模块,系统没有输出信息,也没 >>有panic信息。 >>vmkload_mod -k xxxxx.o 这应该是load到vmkernel里面,不是cos里面。 >>现在的问题是driver里面printk的打印信息都看不到,是esx有什么特殊的设置吗?还 >>是需要提高输出等级? >> >>PS:我这里是远程登录,没有屏幕。 谢谢 >> >> >>[Jack]esx不允许加载自己的模块,esxi是可以的 > >我的的确是esx。现在看来debug模式可以输出,标准启动没有 现在基本确定是一个模块内内存分配失败,代码里面用一个循环连续分配内存alloc_skb(); 标志是GFP_KERNEL,大小是7680*1614*4。 内核是2.4.21-58, ESX3U5. 想请问一下大家,对于分配这么多内存,在2.4上有没有限制? -- From jack_wang在usish.com Mon Jul 19 17:53:58 2010 From: jack_wang在usish.com (jack wang) Date: Mon, 19 Jul 2010 17:53:58 +0800 Subject: =?gb2312?B?tPC4tDogtPC4tDogudjT2kVTWMDvw+bEo7/ptcS198rU?= In-Reply-To: <20100719093907.GA5535@qxi> References: <20100713074409.GA9744@qxi><9FE11DA4F97C4C9B95498338772D6C8E@usish.com.cn><20100713082755.GB9744@qxi> <20100719093907.GA5535@qxi> Message-ID: <391CE60CCC434CEAA20F36C228DA672C@usish.com.cn> -----邮件原件----- 发件人: linux-kernel-bounces在zh-kernel.org [mailto:linux-kernel-bounces在zh-kernel.org] 代表 qihao.xi 发送时间: 2010年7月19日 17:39 收件人: kernel-zh 主题: Re: 答复: 关于ESX里面模块的调试 On Tue, Jul 13, 2010 at 04:27:57PM +0800, qihao.xi wrote: >On Tue, Jul 13, 2010 at 03:56:40PM +0800, jack wang wrote: >> >>大家好, >> >>现在在调试一个esx3.5.5的模块问题,启动时加载一个模块,系统没有输出信息,也 没 >>有panic信息。 >>vmkload_mod -k xxxxx.o 这应该是load到vmkernel里面,不是cos里面。 >>现在的问题是driver里面printk的打印信息都看不到,是esx有什么特殊的设置吗? 还 >>是需要提高输出等级? >> >>PS:我这里是远程登录,没有屏幕。 谢谢 >> >> >>[Jack]esx不允许加载自己的模块,esxi是可以的 > >我的的确是esx。现在看来debug模式可以输出,标准启动没有 现在基本确定是一个模块内内存分配失败,代码里面用一个循环连续分配内存 alloc_skb(); 标志是GFP_KERNEL,大小是7680*1614*4。 内核是2.4.21-58, ESX3U5. 想请问一下大家,对于分配这么多内存,在2.4上有没有限制? -- 可以通过编译模块时指定: -DLINUX_MODULE_HEAP_INITIAL=128*1024 -DLINUX_MODULE_HEAP_MAX=4*4096*4096 这两个参数来调节的 _______________________________________________ Linux 内核开发中文邮件列表 Linux-kernel在zh-kernel.org http://zh-kernel.org/mailman/listinfo/linux-kernel Linux 内核开发中文社区: http://zh-kernel.org From rjiejie在gmail.com Mon Jul 19 22:07:58 2010 From: rjiejie在gmail.com (Grass) Date: Mon, 19 Jul 2010 22:07:58 +0800 Subject: =?GB2312?B?UmU6IMfrvcxsaW51eCDW0LbP08XPyLy2yrXP1g==?= In-Reply-To: References: Message-ID: 感谢大家的讲解,稍微对linux的中断实现有了个感性的了解,具体还得通过分析代码加深理解,谢谢。 在 2010年7月16日 下午4:02,Barry Song <21cnbao在gmail.com>写道: > 2010/7/16 Liu Yuan : > > 2010/7/16 oliver yang > > > >> 在 2010年7月16日 下午2:48,oliver yang 写道: > >> > 在 2010年7月16日 下午1:46,Barry Song <21cnbao在gmail.com> 写道: > >> >> 2010/7/16 Liu Yuan : > >> >>> > >> >>> > >> >>> 2010/7/15 Barry Song <21cnbao在gmail.com> > >> >>>> > >> >>>> 2010/7/15 oliver yang > >> >>>> > > >> >>>> > 在 2010年7月15日 上午10:36,Barry Song <21cnbao在gmail.com> 写道: > >> >>>> > > 我个人认为 蓝天宇 的说法是正确的。 > >> >>>> > > Linux > >> >>>> > > > OS在软件意义上没有中断优先级的概念(在软件意义上,是进程优先级),而所谓中断优先级,更多的是一个硬件上的概念,由中断控制器控制。 > >> >>>> > > 在软件意义上,只能通过IRQF_DISABLE标志去标识所谓“快中断”,实际是限制中断的嵌套。 > >> >>>> > > >> >>>> > 很多操作系统支持中断优先级不完全是为了支持硬件的优先级,相反主要是操作系统设计的考虑,比如为了更好的实时性。 > >> >>>> > >> >>>> > >> >>>> > >> > 这一点我也完全赞同。一些操作系统将中断处理线程化,通过此CPU调度单元优先级的区分来进行软件意义上的中断优先级支持。但是其本质仍然是OS任务优先级的概念,而非纯粹意义上的中断处理优先级。 > >> >>>> > >> >>> > >> >>> 早期的操作系统支持中断优先级,比如基于VAX的VMS。UNIX以"KISS"的作风,当然只有最简单的方式了,要么关闭,要么打开。 > >> >>> > >> >>> 在大多数情况下,中断控制器比操作系统处在一个更好的位置, > >> > >> 恰恰相反,OS才是最清楚的。对中断控制器来说,他不知道那些外设的中断更应该优先处理。 > >> > > > > 8259只有一个针脚与CPU连接,如果同时有多个源产生中断,这个中断号的仲裁的应该是中断处理器吧?(优先级事先由操作系统设置好的情况下) > > > > 不过从操作系统来设置优先级的情况下看,这个应该算是由操作系统处理的,的确是“OS才是最清楚的” : ) > > > > > > > >> > > >> > >>>了解到中断的优先级并作出排序(这个优先级有可能是写死的,也有可能由操作系统写上的)。比如x86系统上,这个中断控制器就是Programmable > >> >>> Interrupt > >> >>> > >> > Controller(PIC)或者APIC(xAPCI,X2APIC),通过设置LAPIC或者IOAPIC的寄存器来设置基于针脚的中断的优先级。现在一些新的设备如PCI-e采用的中断产生方式比如Message > >> >>> Signaled > >> >>> > >> > Interrupt(MSI)或者MSI-x已经不是基于针脚(pin-based)而是基于总线的,这个我倒不清楚怎么设置优先级的,或许在传输的数据中描述了中断的优先级或者先来先处理的或许由PCI-PCI桥来设置。 > >> > > >> > >> 你不但不清楚,还加上了自己的想象。 MSI是直接对北桥或者root complex地址的写操作,干嘛让桥来设置? > >> > > > > 我已经承认不知道了,所以才想象的.因为懒得看代码了。 > > > > > >> > > >> >>> > >> >>> > >> > 中断处理程序线程化跟中断优先级没有一点关系,这个机制的引入是为了减少中断响应的延迟,提高系统的响应能力。线程化后有自己的一个独立的上下文,所以可以睡眠(sleep),可以被抢占(preemption)了。 > >> > > >> 决定抢占的时候恰恰是靠优先级。 一些OS会把中断优先级映射到内核线程调度优先级上。 > >> > > >> >> > >> >> 基本上这一段属于胡说八道了 :-) > >> > > >> > >> 说的直接了点,但很赞同。 > >> > >> 我的确有欠考虑,没有看代码,有时间一定看看Linux的msi,threaded irq的逻辑 > > 这里我给你一点提示,Linux目前说threaded irq在不同场景有不同含义, > 1种是最新引入的中断底半部机制,与softirq、tasklet、workqueue地位相当,将中断底半部放到线程去执行,见于如下patch: > > http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=f48fe81e5b032914183e9a17052313720c2cac56 > > http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=b25c340c195447afb1860da580fe2a85a6b652c5 > > http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=70aedd24d20e75198f5a0b11750faabbb56924e2 > > http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=399b5da29b9f851eb7b96e2882097127f003e87c > ... > > 1种是RT情况下,将中断服务程序本身线程化,从而参与线程级的调度,这时候,其他非中断线程的优先级可以超越中断服务程序本身,从而解决Linux > mainline中断顶半部非抢占区域时间不可预期问题,也就是解决Linux mainline不支持硬实时的其中问题之一。 > > 所以我要说你胡说八道。 > > > > > -- > > I am Multician, really > > _______________________________________________ > > Linux 内核开发中文邮件列表 > > Linux-kernel在zh-kernel.org > > http://zh-kernel.org/mailman/listinfo/linux-kernel > > Linux 内核开发中文社区: http://zh-kernel.org > _______________________________________________ > Linux 内核开发中文邮件列表 > Linux-kernel在zh-kernel.org > http://zh-kernel.org/mailman/listinfo/linux-kernel > Linux 内核开发中文社区: http://zh-kernel.org > From wwarboss在gmail.com Tue Jul 20 13:51:04 2010 From: wwarboss在gmail.com (qihao.xi) Date: Tue, 20 Jul 2010 13:51:04 +0800 Subject: =?utf-8?B?562U5aSNOiDnrZTlpI06IOWFsw==?= =?utf-8?B?5LqORVNY6YeM6Z2i5qih5Z2X55qE6LCD6K+V?= In-Reply-To: <391CE60CCC434CEAA20F36C228DA672C@usish.com.cn> References: <20100713074409.GA9744@qxi> <9FE11DA4F97C4C9B95498338772D6C8E@usish.com.cn> <20100713082755.GB9744@qxi> <20100719093907.GA5535@qxi> <391CE60CCC434CEAA20F36C228DA672C@usish.com.cn> Message-ID: <20100720055102.GA4732@qxi> On Mon, Jul 19, 2010 at 05:53:58PM +0800, jack wang wrote: >-----邮件原件----- >发件人: linux-kernel-bounces在zh-kernel.org >[mailto:linux-kernel-bounces在zh-kernel.org] 代表 qihao.xi >发送时间: 2010年7月19日 17:39 >收件人: kernel-zh >主题: Re: 答复: 关于ESX里面模块的调试 > >On Tue, Jul 13, 2010 at 04:27:57PM +0800, qihao.xi wrote: >>On Tue, Jul 13, 2010 at 03:56:40PM +0800, jack wang wrote: >>> >>>大家好, >>> >>>现在在调试一个esx3.5.5的模块问题,启动时加载一个模块,系统没有输出信息,也 >没 >>>有panic信息。 >>>vmkload_mod -k xxxxx.o 这应该是load到vmkernel里面,不是cos里面。 >>>现在的问题是driver里面printk的打印信息都看不到,是esx有什么特殊的设置吗? >还 >>>是需要提高输出等级? >>> >>>PS:我这里是远程登录,没有屏幕。 谢谢 >>> >>> >>>[Jack]esx不允许加载自己的模块,esxi是可以的 >> >>我的的确是esx。现在看来debug模式可以输出,标准启动没有 >现在基本确定是一个模块内内存分配失败,代码里面用一个循环连续分配内存 >alloc_skb(); >标志是GFP_KERNEL,大小是7680*1614*4。 内核是2.4.21-58, ESX3U5. >想请问一下大家,对于分配这么多内存,在2.4上有没有限制? >-- >可以通过编译模块时指定: >-DLINUX_MODULE_HEAP_INITIAL=128*1024 >-DLINUX_MODULE_HEAP_MAX=4*4096*4096 >这两个参数来调节的 alloc_skb内部是用slab分配的,我调整了这个设置,没效果。应该在内核里面有地方定义限制 From wwarboss在gmail.com Tue Jul 20 19:37:57 2010 From: wwarboss在gmail.com (qihao.xi) Date: Tue, 20 Jul 2010 19:37:57 +0800 Subject: =?utf-8?B?562U5aSNOiDnrZTlpI06IOWFsw==?= =?utf-8?B?5LqORVNY6YeM6Z2i5qih5Z2X55qE6LCD6K+V?= In-Reply-To: <20100720055102.GA4732@qxi> References: <20100713074409.GA9744@qxi> <9FE11DA4F97C4C9B95498338772D6C8E@usish.com.cn> <20100713082755.GB9744@qxi> <20100719093907.GA5535@qxi> <391CE60CCC434CEAA20F36C228DA672C@usish.com.cn> <20100720055102.GA4732@qxi> Message-ID: <20100720113755.GA5450@qxi> >>>>大家好, >>>> >>>>现在在调试一个esx3.5.5的模块问题,启动时加载一个模块,系统没有输出信息,也 >>没 >>>>有panic信息。 >>>>vmkload_mod -k xxxxx.o 这应该是load到vmkernel里面,不是cos里面。 >>>>现在的问题是driver里面printk的打印信息都看不到,是esx有什么特殊的设置吗? >>还 >>>>是需要提高输出等级? >>>> >>>>PS:我这里是远程登录,没有屏幕。 谢谢 >>>> >>>> >>>>[Jack]esx不允许加载自己的模块,esxi是可以的 >>> >>>我的的确是esx。现在看来debug模式可以输出,标准启动没有 >>现在基本确定是一个模块内内存分配失败,代码里面用一个循环连续分配内存 >>alloc_skb(); >>标志是GFP_KERNEL,大小是7680*1614*4。 内核是2.4.21-58, ESX3U5. >>想请问一下大家,对于分配这么多内存,在2.4上有没有限制? >>-- >>可以通过编译模块时指定: >>-DLINUX_MODULE_HEAP_INITIAL=128*1024 >>-DLINUX_MODULE_HEAP_MAX=4*4096*4096 >>这两个参数来调节的 > >alloc_skb内部是用slab分配的,我调整了这个设置,没效果。应该在内核里面有地方定义限制 现在怀疑是vmkernel本身保留的内存小,这个区动就要分配接近50M的内存。不知道对于vmkernel本身使用的内存有没有什么定义。 From wuzhangjin在gmail.com Wed Jul 21 14:28:16 2010 From: wuzhangjin在gmail.com (wu zhangjin) Date: Wed, 21 Jul 2010 14:28:16 +0800 Subject: =?GB2312?B?UmU6IMfrvcxsaW51eCDW0LbP08XPyLy2yrXP1g==?= In-Reply-To: References: Message-ID: 补充一点中断线程化的内容: 中断线程化源自preempt-rt补丁[1],目的是线程化中断处理(包括hard irq和soft irq),把它们改造成可以调度的实体,从而减少不必要的中断关闭和抢占禁用,进而减少系统延迟以提高系统的实时响应能力。 由于中断优先级对普通Linux也有好处,大概在2.6.30的时候,这部分代码进入了官方,进入官方以后,就允许直接通过 request_threaded_irq()来注册线程化的中断[2,3]。中断处理被线程化以后,跟内核的其他线程或者进程一样,其优先级可以通过一些工具来调整,比如chrt这个工具就可以做这种事情。 如果采用preempt-rt的话,默认会线程化所有的中断,对于时钟、一些级联中断以及一些硬件出错中断,要么由于本身必须具备最高的优先级要么中断处理例程本身很小,线程化以后会更糟,所以可以通过给irqaction的flags加上IRQF_NODELAY,这样就不会被线程化。 [1] http://rt.wiki.kernel.org [2] genirq: add threaded interrupt handler support http://kerneltrap.org/mailarchive/git-commits-head/2009/4/7/5436404 [3] Linux generic IRQ handling http://www.kernel.org/doc/htmldocs/genericirq.html 2010/7/19 Grass > 感谢大家的讲解,稍微对linux的中断实现有了个感性的了解,具体还得通过分析代码加深理解,谢谢。 > > 在 2010年7月16日 下午4:02,Barry Song <21cnbao在gmail.com>写道: > > > 2010/7/16 Liu Yuan : > > > 2010/7/16 oliver yang > > > > > >> 在 2010年7月16日 下午2:48,oliver yang 写道: > > >> > 在 2010年7月16日 下午1:46,Barry Song <21cnbao在gmail.com> 写道: > > >> >> 2010/7/16 Liu Yuan : > > >> >>> > > >> >>> > > >> >>> 2010/7/15 Barry Song <21cnbao在gmail.com> > > >> >>>> > > >> >>>> 2010/7/15 oliver yang > > >> >>>> > > > >> >>>> > 在 2010年7月15日 上午10:36,Barry Song <21cnbao在gmail.com> 写道: > > >> >>>> > > 我个人认为 蓝天宇 的说法是正确的。 > > >> >>>> > > Linux > > >> >>>> > > > > OS在软件意义上没有中断优先级的概念(在软件意义上,是进程优先级),而所谓中断优先级,更多的是一个硬件上的概念,由中断控制器控制。 > > >> >>>> > > 在软件意义上,只能通过IRQF_DISABLE标志去标识所谓“快中断”,实际是限制中断的嵌套。 > > >> >>>> > > > >> >>>> > 很多操作系统支持中断优先级不完全是为了支持硬件的优先级,相反主要是操作系统设计的考虑,比如为了更好的实时性。 > > >> >>>> > > >> >>>> > > >> >>>> > > >> > > > 这一点我也完全赞同。一些操作系统将中断处理线程化,通过此CPU调度单元优先级的区分来进行软件意义上的中断优先级支持。但是其本质仍然是OS任务优先级的概念,而非纯粹意义上的中断处理优先级。 > > >> >>>> > > >> >>> > > >> >>> 早期的操作系统支持中断优先级,比如基于VAX的VMS。UNIX以"KISS"的作风,当然只有最简单的方式了,要么关闭,要么打开。 > > >> >>> > > >> >>> 在大多数情况下,中断控制器比操作系统处在一个更好的位置, > > >> > > >> 恰恰相反,OS才是最清楚的。对中断控制器来说,他不知道那些外设的中断更应该优先处理。 > > >> > > > > > > 8259只有一个针脚与CPU连接,如果同时有多个源产生中断,这个中断号的仲裁的应该是中断处理器吧?(优先级事先由操作系统设置好的情况下) > > > > > > 不过从操作系统来设置优先级的情况下看,这个应该算是由操作系统处理的,的确是“OS才是最清楚的” : ) > > > > > > > > > > > >> > > > >> > > > >>>了解到中断的优先级并作出排序(这个优先级有可能是写死的,也有可能由操作系统写上的)。比如x86系统上,这个中断控制器就是Programmable > > >> >>> Interrupt > > >> >>> > > >> > > > Controller(PIC)或者APIC(xAPCI,X2APIC),通过设置LAPIC或者IOAPIC的寄存器来设置基于针脚的中断的优先级。现在一些新的设备如PCI-e采用的中断产生方式比如Message > > >> >>> Signaled > > >> >>> > > >> > > > Interrupt(MSI)或者MSI-x已经不是基于针脚(pin-based)而是基于总线的,这个我倒不清楚怎么设置优先级的,或许在传输的数据中描述了中断的优先级或者先来先处理的或许由PCI-PCI桥来设置。 > > >> > > > >> > > >> 你不但不清楚,还加上了自己的想象。 MSI是直接对北桥或者root complex地址的写操作,干嘛让桥来设置? > > >> > > > > > > 我已经承认不知道了,所以才想象的.因为懒得看代码了。 > > > > > > > > >> > > > >> >>> > > >> >>> > > >> > > > 中断处理程序线程化跟中断优先级没有一点关系,这个机制的引入是为了减少中断响应的延迟,提高系统的响应能力。线程化后有自己的一个独立的上下文,所以可以睡眠(sleep),可以被抢占(preemption)了。 > > >> > > > >> 决定抢占的时候恰恰是靠优先级。 一些OS会把中断优先级映射到内核线程调度优先级上。 > > >> > > > >> >> > > >> >> 基本上这一段属于胡说八道了 :-) > > >> > > > >> > > >> 说的直接了点,但很赞同。 > > >> > > >> 我的确有欠考虑,没有看代码,有时间一定看看Linux的msi,threaded irq的逻辑 > > > > 这里我给你一点提示,Linux目前说threaded irq在不同场景有不同含义, > > 1种是最新引入的中断底半部机制,与softirq、tasklet、workqueue地位相当,将中断底半部放到线程去执行,见于如下patch: > > > > > http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=f48fe81e5b032914183e9a17052313720c2cac56 > > > > > http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=b25c340c195447afb1860da580fe2a85a6b652c5 > > > > > http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=70aedd24d20e75198f5a0b11750faabbb56924e2 > > > > > http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=399b5da29b9f851eb7b96e2882097127f003e87c > > ... > > > > 1种是RT情况下,将中断服务程序本身线程化,从而参与线程级的调度,这时候,其他非中断线程的优先级可以超越中断服务程序本身,从而解决Linux > > mainline中断顶半部非抢占区域时间不可预期问题,也就是解决Linux mainline不支持硬实时的其中问题之一。 > > > > 所以我要说你胡说八道。 > > > > > > > > -- > > > I am Multician, really > > > _______________________________________________ > > > Linux 内核开发中文邮件列表 > > > Linux-kernel在zh-kernel.org > > > http://zh-kernel.org/mailman/listinfo/linux-kernel > > > Linux 内核开发中文社区: http://zh-kernel.org > > _______________________________________________ > > Linux 内核开发中文邮件列表 > > Linux-kernel在zh-kernel.org > > http://zh-kernel.org/mailman/listinfo/linux-kernel > > Linux 内核开发中文社区: http://zh-kernel.org > > > _______________________________________________ > Linux 内核开发中文邮件列表 > Linux-kernel在zh-kernel.org > http://zh-kernel.org/mailman/listinfo/linux-kernel > Linux 内核开发中文社区: http://zh-kernel.org > -- MSN+Gtalk: wuzhangjin在gmail.com Blog: http://falcon.oss.lzu.edu.cn Tel:+86-18710032278 From byrbzdl在gmail.com Wed Jul 21 22:13:17 2010 From: byrbzdl在gmail.com (Kris Chen) Date: Wed, 21 Jul 2010 22:13:17 +0800 Subject: =?GB2312?B?W09UXSBBdGhlcm9zvLHV0LTzwb9FbWJlZGRlZCBTb2Z0d2FyZS9IYXJkd2FyZSBF?= =?GB2312?B?bmdpbmVlcihEcml2ZXIvRmlybXdhcmUvT3RoZXIp?= Message-ID: 最近更新的职位,急招 公司给的待遇还算不错的,范围嘛,10k-100k吧 要求都是要有工作经验的,看不同职位至少2-3年 ================================================================ Atheros急招大量Embedded Software/Hardware Engineer(Driver/Firmware/Other) 这个职位在上海张江 感兴趣请发简历到 kris.chen在atheros.com 咨询MSN:byrbzdl在gmail.com *邮件请以以下格式命名:* *[职位名称]-学校-工作经验-姓名* ---------------------------------------------- Atheros是无线网卡芯片的业界老大,以RF芯片比较著名, 产品线包括WLAN、Powerline、Bluetooth、GPS、Ethernet等 网址:www.atheros.com 在上海张江有几百人的研发团队 招聘职位: Software: *Embedded Mobile Applications Engineer -software* *Linux/window Driver Engineer* *Senior Linux/window Driver Engineer (6 years +)* *Sr Application Engineer - MBU* *Embedded Software Engineer - WLAN* *Senior Embedded Software Engineer (6 years+) - WLAN* *Software(Firmware) engineer - MBU* Hardware: *Senior Application Engineer* *Digital Design Engineer -PLC* *(New Grads recruiting)physical design engineer* Others: *Director, Strategic Marketing and Technology APAC* ---------------------------------------------- [Embedded Mobile Applications Engineer -software] QUALIFICATION (DETAIL): Education: BSEE/CS required, MSEE/CS preferred Experience: 3-5 years of experience developing software for embedded products and/or supporting semiconductor solutions. DESCRIPTION OF FUNCTION & RESPONSIBILITY: Responsible for technical support to ensure successful integration of Atheros WiFi products into our customers' mobile/hand-held products. The role establishes the person as the technical expert for specific products and the relevant domain. Must have high technical competence and be able to provide in-depth technical responses to customers and to the company's FAEs during the pre-sales process. Once engaged with a customer, must be able to map out the technical details of a system integration plan - from project start through mass production. Will also be involved in qualifying and working with third party partners. Will work closely with Atheros development engineering and program management. --------------------------------------------- [Software(Firmware) engineer - MBU] QUALIFICATION (DETAIL): Education: Bachelor or Master degree in Software Engineering, Computer Science, or related field Experience: Interface with the ASIC teams on chip features and programming model Develop and maintain key features for Bluetooth software on an embedded OS, a Linux and/or Windows OS platform; Support software releases during test and release cycles; Experience with wireless drivers and/or other networking drivers Knowledge of networking protocols and security concepts Bluetooth development experience is highly desired Familiarity with hardware debugging Experience in release processes, build and packaging Excellent verbal and written communication skills Experience with embedded platform development Experience with full software life cycle and delivery mechanisms Knowledge of multi-threading and synchronization in a driver environment Strong understanding of OS kernel internals Product architecture, design, implementation and testing experience Ability to work independently with minimal supervision DESCRIPTION OF FUNCTION & RESPONSIBILITY: Interface with the ASIC teams on chip features and programming model Develop and maintain key features for Bluetooth software on an embedded OS, a Linux and/or Windows OS platform Support software releases during test and release cycles --------------------------------------------- [Linux/window Driver Engineer] [Senior Linux/window Driver Engineer (6 years +)] Education: BS/MS degree in CS/EE, or related field Experience: 3+ years driver development experience in Linux embedded operating system or Window NDIS. Excellent C programming skill. Strong understanding of operating system, such kernel internals, multithreading, synchronization, interrupt, memory management, PCI etc. Knowledge of Layer 2 and Layer 3 networking protocols Excellent team, communication, and interpersonal skills Strong analytical and problem solving skills One or more of the following experience is a great plus: - Experience with encryption, authentication protocols (IPSEC, RADIUS, IKE, 802.1X, DES) and wireless communications - Experience with Wireless LAN Driver - Experience with Network Driver DESCRIPTION OF FUNCTION & RESPONSIBILITY: Be part of the core WLAN engineering team to contribute to development, release and maintenance of network driver software, network protocols and algorithms for wireless networks. --------------------------------------------- [Embedded Software Engineer] [Senior Embedded Software Engineer (6 years+)] Education: BS/MS degree in CS/EE, or related field Experience: 3+ years embedded software development experience in Linux or other embedded operating systems. Solid knowledge of network protocols and firewall. Excellent C programming, assembly language programming skills. Experience in hardware bringup, BSP development for MIPS, ARM family processors Experience with development of wireless router, AP and other embedded telecom products is preferred. Knowledge of wireless networks is preferred. Knowledge of embedded debugging environment tools such as in-circuit emulator and logic analyzer. Team player with excellent communication and interpersonal skills Strong analytical and problem solving skills DESCRIPTION OF FUNCTION & RESPONSIBILITY: Be part of the core WLAN engineering team to contribute to design, implementation and testing of wireless networking products. This individual will be working on developing board support package, low level device drivers, and network drivers. --------------------------------------------- [Sr Application Engineer-MBU] QUALIFICATION (DETAIL): Education: BS/MS degree in Electrical Engineering, Computer Science, or related field Experience: + 5 years of applicable work experience DESCRIPTION OF FUNCTION & RESPONSIBILITY: Developing Bluetooth driver or application on Windows, Linux. Collaborate with FAE/sales on customer support and pre-sales function. Collaborate with System and engineering team on first line customer issue clarifying. Analyze and debug the Bluetooth and system issue. Sustain Windows and Linux software. C, C++, or assembly language experience Training of customers and Field Applications Engineers --------------------------------------------- [Digital Design Engineer -PLC] QUALIFICATION (DETAIL): Education: BS/MS degree in Electrical Engineering or related field Experience: 3-5 years experience in digital design with Verilog Proven records of delivering successful ASICs Knowledge in communication and networking Knowledge embedded processors, AMBA and other standard interfaces such as SPI, UART, I2C etc. Understanding DMA and memory subsystem. Background in signal processing is a plus Familiar ASIC design flow Good communication skill DESCRIPTION OF FUNCTION & RESPONSIBILITY: working with our architecture, verification and software teams to develop next generation SOC ASICs. Responsibilities include: Design and implement digital logic. Debug and validate the design in DV and Emulation. Synthesis and timing check. Writing engineering design spec. and documentation. --------------------------------------------- [Senior Application Engineer] QUALIFICATION (DETAIL): Education: BS/MS degree in Electrical Engineering, or related field Experience: 5+ years of applicable work experience on board design. Strong problem-solving skill to isolate and resolve issue Experience with HW board design for switch/router/networking/ Familiar with SI and EMI design. DESCRIPTION OF FUNCTION & RESPONSIBILITY: Support customer to resolve issue for switch product line. Guide customers for schematics and layout design Writing tech documents including datasheet, app notes and schematics and layout guideline etc Define and design reference and demo board Responsible for system level HW test and support Provide detailed technical training to FAE and customers Help product definition with field feedback From lantianyu1986在gmail.com Thu Jul 22 11:24:16 2010 From: lantianyu1986在gmail.com (=?GB2312?B?wLbM7NPu?=) Date: Thu, 22 Jul 2010 11:24:16 +0800 Subject: =?GB2312?B?UmU6IFtPVF0gQXRoZXJvc7yx1dC088G/RW1iZWRkZWQgU29mdHdhcmUvSGFyZHdh?= =?GB2312?B?cmUgRW5naW5lZXIoRHJpdmVyL0Zpcm13YXJlL090aGVyKQ==?= In-Reply-To: References: Message-ID: 昨天电面了,说hr会联系的, 不知多久才会 有回应。 2010/7/21 Kris Chen > 最近更新的职位,急招 > > > 公司给的待遇还算不错的,范围嘛,10k-100k吧 > > 要求都是要有工作经验的,看不同职位至少2-3年 > > ================================================================ > Atheros急招大量Embedded Software/Hardware Engineer(Driver/Firmware/Other) > > > 这个职位在上海张江 > > 感兴趣请发简历到 kris.chen在atheros.com > 咨询MSN:byrbzdl在gmail.com > > *邮件请以以下格式命名:* > *[职位名称]-学校-工作经验-姓名* > > > ---------------------------------------------- > Atheros是无线网卡芯片的业界老大,以RF芯片比较著名, > > 产品线包括WLAN、Powerline、Bluetooth、GPS、Ethernet等 > > 网址:www.atheros.com > > 在上海张江有几百人的研发团队 > > 招聘职位: > > Software: > *Embedded Mobile Applications Engineer -software* > *Linux/window Driver Engineer* > *Senior Linux/window Driver Engineer (6 years +)* > *Sr Application Engineer - MBU* > *Embedded Software Engineer - WLAN* > *Senior Embedded Software Engineer (6 years+) - WLAN* > *Software(Firmware) engineer - MBU* > > Hardware: > *Senior Application Engineer* > *Digital Design Engineer -PLC* > *(New Grads recruiting)physical design engineer* > > Others: > *Director, Strategic Marketing and Technology APAC* > ---------------------------------------------- > > [Embedded Mobile Applications Engineer -software] > > QUALIFICATION (DETAIL): > Education: > BSEE/CS required, MSEE/CS preferred > Experience: > 3-5 years of experience developing software for embedded products and/or > supporting semiconductor solutions. > > DESCRIPTION OF FUNCTION & RESPONSIBILITY: > Responsible for technical support to ensure successful integration of > Atheros WiFi > products into our customers' mobile/hand-held products. The role > establishes > the > person as the technical expert for specific products and the relevant > domain. Must > have high technical competence and be able to provide in-depth technical > responses > to customers and to the company's FAEs during the pre-sales process. Once > engaged with a customer, must be able to map out the technical details of a > system > integration plan - from project start through mass production. Will also be > involved in > qualifying and working with third party partners. Will work closely with > Atheros > development engineering and program management. > --------------------------------------------- > > [Software(Firmware) engineer - MBU] > > QUALIFICATION (DETAIL): > Education: > Bachelor or Master degree in Software Engineering, Computer Science, or > related field > > Experience: > Interface with the ASIC teams on chip features and programming model > Develop and maintain key features for Bluetooth software on an embedded OS, > a Linux and/or Windows OS platform; > Support software releases during test and release cycles; > Experience with wireless drivers and/or other networking drivers > Knowledge of networking protocols and security concepts > Bluetooth development experience is highly desired > Familiarity with hardware debugging > Experience in release processes, build and packaging > Excellent verbal and written communication skills > Experience with embedded platform development > Experience with full software life cycle and delivery mechanisms > Knowledge of multi-threading and synchronization in a driver environment > Strong understanding of OS kernel internals > Product architecture, design, implementation and testing experience > Ability to work independently with minimal supervision > > DESCRIPTION OF FUNCTION & RESPONSIBILITY: > Interface with the ASIC teams on chip features and programming model > Develop and maintain key features for Bluetooth software on an embedded OS, > a > Linux and/or Windows OS platform > Support software releases during test and release cycles > > --------------------------------------------- > > [Linux/window Driver Engineer] > [Senior Linux/window Driver Engineer (6 years +)] > > Education: > BS/MS degree in CS/EE, or related field > > Experience: > 3+ years driver development experience in Linux embedded operating system > or > Window NDIS. > Excellent C programming skill. > Strong understanding of operating system, such kernel internals, > multithreading, synchronization, interrupt, memory management, PCI etc. > Knowledge of Layer 2 and Layer 3 networking protocols > Excellent team, communication, and interpersonal skills > Strong analytical and problem solving skills > One or more of the following experience is a great plus: > - Experience with encryption, authentication protocols (IPSEC, RADIUS, IKE, > 802.1X, DES) and wireless communications > - Experience with Wireless LAN Driver > - Experience with Network Driver > > DESCRIPTION OF FUNCTION & RESPONSIBILITY: > Be part of the core WLAN engineering team to contribute to development, > release > and maintenance of network driver software, network protocols and > algorithms > for > wireless networks. > > > > --------------------------------------------- > > [Embedded Software Engineer] > [Senior Embedded Software Engineer (6 years+)] > > > Education: > BS/MS degree in CS/EE, or related field > > Experience: > 3+ years embedded software development experience in Linux or other > embedded > operating systems. > Solid knowledge of network protocols and firewall. > Excellent C programming, assembly language programming skills. > Experience in hardware bringup, BSP development for MIPS, ARM family > processors > Experience with development of wireless router, AP and other embedded > telecom products is preferred. Knowledge of wireless networks is preferred. > Knowledge of embedded debugging environment tools such as in-circuit > emulator and logic analyzer. > Team player with excellent communication and interpersonal skills > Strong analytical and problem solving skills > > DESCRIPTION OF FUNCTION & RESPONSIBILITY: > Be part of the core WLAN engineering team to contribute to design, > implementation > and testing of wireless networking products. This individual will be > working > on > developing board support package, low level device drivers, and network > drivers. > > > --------------------------------------------- > > [Sr Application Engineer-MBU] > > QUALIFICATION (DETAIL): > > Education: > BS/MS degree in Electrical Engineering, Computer Science, or related field > > Experience: > + 5 years of applicable work experience > > DESCRIPTION OF FUNCTION & RESPONSIBILITY: > Developing Bluetooth driver or application on Windows, Linux. Collaborate > with FAE/sales on customer support and pre-sales function. > Collaborate with System and engineering team on first line customer issue > clarifying. > Analyze and debug the Bluetooth and system issue. > Sustain Windows and Linux software. > C, C++, or assembly language experience > Training of customers and Field Applications Engineers > > --------------------------------------------- > > [Digital Design Engineer -PLC] > > QUALIFICATION (DETAIL): > > Education: > BS/MS degree in Electrical Engineering or related field > > Experience: > 3-5 years experience in digital design with Verilog > Proven records of delivering successful ASICs > Knowledge in communication and networking > Knowledge embedded processors, AMBA and other standard interfaces such as > SPI, > UART, I2C etc. > Understanding DMA and memory subsystem. > Background in signal processing is a plus > Familiar ASIC design flow > Good communication skill > > DESCRIPTION OF FUNCTION & RESPONSIBILITY: > working with our architecture, verification and software teams to develop > next generation SOC ASICs. > Responsibilities include: > Design and implement digital logic. > Debug and validate the design in DV and Emulation. > Synthesis and timing check. > Writing engineering design spec. and documentation. > > --------------------------------------------- > > [Senior Application Engineer] > > QUALIFICATION (DETAIL): > > Education: > BS/MS degree in Electrical Engineering, or related field > > Experience: > 5+ years of applicable work experience on board design. > Strong problem-solving skill to isolate and resolve issue > Experience with HW board design for switch/router/networking/ > Familiar with SI and EMI design. > > DESCRIPTION OF FUNCTION & RESPONSIBILITY: > Support customer to resolve issue for switch product line. > Guide customers for schematics and layout design > Writing tech documents including datasheet, app notes and schematics and > layout guideline etc > Define and design reference and demo board > Responsible for system level HW test and support > Provide detailed technical training to FAE and customers > Help product definition with field feedback > _______________________________________________ > Linux 内核开发中文邮件列表 > Linux-kernel在zh-kernel.org > http://zh-kernel.org/mailman/listinfo/linux-kernel > Linux 内核开发中文社区: http://zh-kernel.org From hanpfei在gmail.com Sat Jul 24 14:00:36 2010 From: hanpfei在gmail.com (pfei han) Date: Sat, 24 Jul 2010 14:00:36 +0800 Subject: =?GB2312?B?aW5vZGW94bm51tDEx7j219a2zsrHv+nWuNXrsKGjvw==?= Message-ID: inode结构中那个字段是块指针啊? From wangzhzh在neusoft.com Sat Jul 24 14:11:21 2010 From: wangzhzh在neusoft.com (=?UTF-8?B?546L5b+X5b+g?=) Date: Sat, 24 Jul 2010 14:11:21 +0800 Subject: =?UTF-8?B?aW5vZGXnu5PmnoTkuK3pgqPkuKrlrZfmrrXmmK/lnZfmjIfpkog=?= =?UTF-8?B?5ZWK77yf?= In-Reply-To: References: Message-ID: <4C4A8409.7060804@neusoft.com> pipe类型的inode是i_size 正规文件的inode没有块指针吧,。只有直接块号,一级和二级块号i_zone[9] On 07/24/2010 02:00 PM, pfei han wrote: > inode结构中那个字段是块指针啊? > _______________________________________________ > Linux 内核开发中文邮件列表 > Linux-kernel在zh-kernel.org > http://zh-kernel.org/mailman/listinfo/linux-kernel > Linux 内核开发中文社区: http://zh-kernel.org --------------------------------------------------------------------------------------------------- Confidentiality Notice: The information contained in this e-mail and any accompanying attachment(s) is intended only for the use of the intended recipient and may be confidential and/or privileged of Neusoft Corporation, its subsidiaries and/or its affiliates. If any reader of this communication is not the intended recipient, unauthorized use, forwarding, printing, storing, disclosure or copying is strictly prohibited, and may be unlawful.If you have received this communication in error,please immediately notify the sender by return e-mail, and delete the original message and all copies from your system. Thank you. --------------------------------------------------------------------------------------------------- From runcoderzhcn在gmail.com Mon Jul 26 06:16:35 2010 From: runcoderzhcn在gmail.com (coder run) Date: Mon, 26 Jul 2010 06:16:35 +0800 Subject: =?GB2312?B?UmU6IGlub2RlveG5udbQxMe49tfWts7Kx7/p1rjV67Cho78=?= In-Reply-To: References: Message-ID: 是否所有的文件都是通过fat表来找到的? 而根目录只是保存了文件名. -- /*********************************************/ http://runcoderen.wordpress.com/ /*********************************************/ From bekars在gmail.com Mon Jul 26 10:40:08 2010 From: bekars在gmail.com (bekars) Date: Mon, 26 Jul 2010 10:40:08 +0800 Subject: =?GB2312?B?ODI1Nza1xMf9tq/Q1MTczsrM4g==?= Message-ID: 最近简单看了intel 82576的驱动,驱动将接收到的同一个TCP流的数据包先组成一个类似分片重组的数据包,然后再交给上层处理。 有没有朋友测试过82576 igb的驱动性能,这样做是否可以提高收包速度呢? From zhangxt.kernel在gmail.com Mon Jul 26 10:52:52 2010 From: zhangxt.kernel在gmail.com (zhang xintao) Date: Mon, 26 Jul 2010 10:52:52 +0800 Subject: =?GB2312?B?UmU6IDgyNTc2tcTH/bav0NTE3M7KzOI=?= In-Reply-To: References: Message-ID: 不是Intel的网卡是这样,是都是这样,TCP都是分小片的。 我测到的intel 服务器板载(具体型号记不清了)G 比特网卡可以上到100MB以上 2010/7/26 bekars > 最近简单看了intel 82576的驱动,驱动将接收到的同一个TCP流的数据包先组成一个类似分片重组的数据包,然后再交给上层处理。 > > 有没有朋友测试过82576 igb的驱动性能,这样做是否可以提高收包速度呢? > _______________________________________________ > Linux 内核开发中文邮件列表 > Linux-kernel在zh-kernel.org > http://zh-kernel.org/mailman/listinfo/linux-kernel > Linux 内核开发中文社区: http://zh-kernel.org From lantianyu1986在gmail.com Mon Jul 26 11:03:12 2010 From: lantianyu1986在gmail.com (=?GB2312?B?wLbM7NPu?=) Date: Mon, 26 Jul 2010 11:03:12 +0800 Subject: =?GB2312?B?UmU6IDgyNTc2tcTH/bav0NTE3M7KzOI=?= In-Reply-To: References: Message-ID: > > 这个确切的是ip包分片机制。测网络性能,最好用smartbits测一下,当然是条件允许情况下。 > From bekars在gmail.com Mon Jul 26 13:37:24 2010 From: bekars在gmail.com (bekars) Date: Mon, 26 Jul 2010 13:37:24 +0800 Subject: =?GB2312?B?UmU6IDgyNTc2tcTH/bav0NTE3M7KzOI=?= In-Reply-To: References: Message-ID: e1000和e1000e的驱动不是这样的,igb的驱动针对82576和82575是这样的。 在 2010年7月26日 上午10:52,zhang xintao 写道: > 不是Intel的网卡是这样,是都是这样,TCP都是分小片的。 > 我测到的intel 服务器板载(具体型号记不清了)G 比特网卡可以上到100MB以上 > > 2010/7/26 bekars > >> 最近简单看了intel 82576的驱动,驱动将接收到的同一个TCP流的数据包先组成一个类似分片重组的数据包,然后再交给上层处理。 >> >> 有没有朋友测试过82576 igb的驱动性能,这样做是否可以提高收包速度呢? >> _______________________________________________ >> Linux 内核开发中文邮件列表 >> Linux-kernel在zh-kernel.org >> http://zh-kernel.org/mailman/listinfo/linux-kernel >> Linux 内核开发中文社区: http://zh-kernel.org > > > From bekars在gmail.com Mon Jul 26 13:38:36 2010 From: bekars在gmail.com (bekars) Date: Mon, 26 Jul 2010 13:38:36 +0800 Subject: =?GB2312?B?UmU6IDgyNTc2tcTH/bav0NTE3M7KzOI=?= In-Reply-To: References: Message-ID: 这个对不分片的数据包做了一个类似流重组的机制,只针对TCP,不是ip包分片机制。 在 2010年7月26日 上午11:03,蓝天宇 写道: > 这个确切的是ip包分片机制。测网络性能,最好用smartbits测一下,当然是条件允许情况下。 >> > From bekars在gmail.com Mon Jul 26 13:41:53 2010 From: bekars在gmail.com (bekars) Date: Mon, 26 Jul 2010 13:41:53 +0800 Subject: =?GB2312?B?UmU6IDgyNTc2tcTH/bav0NTE3M7KzOI=?= In-Reply-To: References: Message-ID: 我把这部分的实现代码贴出来,大家分析一下: 中断收包之后调用这个函数: static struct sk_buff *igb_lro_queue(struct igb_q_vector *q_vector, struct sk_buff *new_skb, u16 tag) { struct sk_buff *lro_skb; struct igb_lro_desc *lrod; struct hlist_node *node; struct skb_shared_info *new_skb_info = skb_shinfo(new_skb); struct igb_lro_list *lrolist = q_vector->lrolist; struct iphdr *iph = (struct iphdr *)new_skb->data; struct tcphdr *th = (struct tcphdr *)(iph + 1); int tcp_data_len = igb_lro_header_ok(new_skb, iph, th); u16 opt_bytes = (th->doff << 2) - sizeof(*th); u32 *ts_ptr = (opt_bytes ? (u32 *)(th + 1) : NULL); u32 seq = ntohl(th->seq); /* * we have a packet that might be eligible for LRO, * so see if it matches anything we might expect */ hlist_for_each_entry(lrod, node, &lrolist->active, lro_node) { if (lrod->source_port != th->source || lrod->dest_port != th->dest || lrod->source_ip != iph->saddr || lrod->dest_ip != iph->daddr || lrod->vlan_tag != tag) continue; /* * malformed header, no tcp data, resultant packet would * be too large, ack sequence numbers do not match, window * size has changed, or new skb is larger than our current mss. * If any of the above we should flush the lro descriptor and * start over if possible */ if (tcp_data_len <= 0 || (tcp_data_len + lrod->len) > 65521 || lrod->ack_seq != th->ack_seq || lrod->window != th->window || lrod->mss < tcp_data_len) { igb_lro_flush(q_vector, lrod); break; } /* out of order packet */ if (seq != lrod->next_seq) { igb_lro_flush(q_vector, lrod); tcp_data_len = -1; break; } if (lrod->opt_bytes || opt_bytes) { u32 tsval = ntohl(*(ts_ptr + 1)); /* make sure timestamp values are increasing */ if (opt_bytes != lrod->opt_bytes || lrod->tsval > tsval || *(ts_ptr + 2) == 0) { igb_lro_flush(q_vector, lrod); tcp_data_len = -1; break; } lrod->tsval = tsval; lrod->tsecr = *(ts_ptr + 2); } /* remove any padding from the end of the skb */ __pskb_trim(new_skb, ntohs(iph->tot_len)); /* Remove IP and TCP header*/ skb_pull(new_skb, ntohs(iph->tot_len) - tcp_data_len); lrod->next_seq += tcp_data_len; lrod->len += tcp_data_len; lrod->psh |= th->psh; lrod->append_cnt++; lrolist->stats.coal++; lro_skb = lrod->skb; #ifndef CONFIG_IGB_DISABLE_PACKET_SPLIT /* if header is empty pull pages into current skb */ if (!skb_headlen(new_skb) && ((skb_shinfo(lro_skb)->nr_frags + skb_shinfo(new_skb)->nr_frags) <= MAX_SKB_FRAGS )) { struct skb_shared_info *lro_skb_info = skb_shinfo(lro_skb); /* copy frags into the last skb */ memcpy(lro_skb_info->frags + lro_skb_info->nr_frags, new_skb_info->frags, new_skb_info->nr_frags * sizeof(skb_frag_t)); lro_skb_info->nr_frags += new_skb_info->nr_frags; lro_skb->len += tcp_data_len; lro_skb->data_len += tcp_data_len; lro_skb->truesize += tcp_data_len; new_skb_info->nr_frags = 0; new_skb->truesize -= tcp_data_len; new_skb->len = new_skb->data_len = 0; new_skb->data = skb_mac_header(new_skb); skb_reset_tail_pointer(new_skb); new_skb->protocol = 0; lrolist->stats.recycled++; } else { #endif /* Chain this new skb in frag_list */ new_skb->prev = lro_skb; lro_skb->next = new_skb; lrod->skb = new_skb ; new_skb = NULL; #ifndef CONFIG_IGB_DISABLE_PACKET_SPLIT } #endif if (lrod->psh || (tcp_data_len < lrod->mss)) igb_lro_flush(q_vector, lrod); return new_skb; } /* start a new packet */ if (tcp_data_len > 0 && !hlist_empty(&lrolist->free) && !th->psh) { lrod = hlist_entry(lrolist->free.first, struct igb_lro_desc, lro_node); /* remove any padding from the end of the skb */ __pskb_trim(new_skb, ntohs(iph->tot_len)); lrod->skb = new_skb; lrod->source_ip = iph->saddr; lrod->dest_ip = iph->daddr; lrod->source_port = th->source; lrod->dest_port = th->dest; lrod->vlan_tag = tag; lrod->len = new_skb->len; lrod->next_seq = seq + tcp_data_len; lrod->ack_seq = th->ack_seq; lrod->window = th->window; lrod->mss = tcp_data_len; lrod->opt_bytes = opt_bytes; lrod->psh = 0; lrod->append_cnt = 0; /* record timestamp if it is present */ if (opt_bytes) { lrod->tsval = ntohl(*(ts_ptr + 1)); lrod->tsecr = *(ts_ptr + 2); } /* remove first packet from freelist.. */ hlist_del(&lrod->lro_node); /* .. and insert at the front of the active list */ hlist_add_head(&lrod->lro_node, &lrolist->active); lrolist->active_cnt++; lrolist->stats.coal++; return NULL; } /* packet not handled by any of the above, pass it to the stack */ igb_receive_skb(q_vector, new_skb, tag); return NULL; } 在 2010年7月26日 上午10:40,bekars 写道: > 最近简单看了intel 82576的驱动,驱动将接收到的同一个TCP流的数据包先组成一个类似分片重组的数据包,然后再交给上层处理。 > > 有没有朋友测试过82576 igb的驱动性能,这样做是否可以提高收包速度呢? > From lantianyu1986在gmail.com Mon Jul 26 13:46:29 2010 From: lantianyu1986在gmail.com (=?GB2312?B?wLbM7NPu?=) Date: Mon, 26 Jul 2010 13:46:29 +0800 Subject: =?GB2312?B?UmU6IDgyNTc2tcTH/bav0NTE3M7KzOI=?= In-Reply-To: References: Message-ID: .... 这部分放在驱动里做?个人感觉应该在协议栈做更合理。没有看过相应代码,发出来看看。 From yangoliver在gmail.com Mon Jul 26 13:51:51 2010 From: yangoliver在gmail.com (oliver yang) Date: Mon, 26 Jul 2010 13:51:51 +0800 Subject: =?UTF-8?B?UmU6IDgyNTc255qE6amx5Yqo5oCn6IO96Zeu6aKY?= In-Reply-To: References: Message-ID: 在 2010年7月26日 下午1:46,蓝天宇 写道: > .... 这部分放在驱动里做?个人感觉应该在协议栈做更合理。没有看过相应代码,发出来看看。 以前是协议栈做的。很多网卡都支持LRO。 这是一种hardware offload技术,用于降低CPU的占用率,从而可以在高负载情况下,网卡的性能的可扩展性好一些。 类似的技术有hardware checksum, TSO, TOE等等, 都是hardware offload技术。 -- Cheers, Oliver Yang Twitter: http://twitter.com/yangoliver Blog:    http://blog.csdn.net/yayong -------------------------------------------------------------------- An OpenSolaris Developer From bekars在gmail.com Mon Jul 26 13:56:51 2010 From: bekars在gmail.com (bekars) Date: Mon, 26 Jul 2010 13:56:51 +0800 Subject: =?GB2312?B?UmU6IDgyNTc2tcTH/bav0NTE3M7KzOI=?= In-Reply-To: References: Message-ID: 在 2010年7月26日 下午1:51,oliver yang 写道: > 在 2010年7月26日 下午1:46,蓝天宇 写道: > > .... 这部分放在驱动里做?个人感觉应该在协议栈做更合理。没有看过相应代码,发出来看看。 > > 以前是协议栈做的。很多网卡都支持LRO。 > > 这是一种hardware offload技术,用于降低CPU的占用率,从而可以在高负载情况下,网卡的性能的可扩展性好一些。 > > 类似的技术有hardware checksum, TSO, TOE等等, 都是hardware offload技术。 > > > -- > Cheers, > > Oliver Yang > > Twitter: http://twitter.com/yangoliver > Blog: http://blog.csdn.net/yayong > -------------------------------------------------------------------- > An OpenSolaris Developer > 但是实际上这块是在软中断里面做的吧。 这个和在协议栈里面做只是减少了查路由的操作吧, 但是还加入了一个hash链表的查找,这样能提高多少性能呢? 还是说82576的硬件支持一些高级的功能,比如分光什么的,通过在驱动中这样做可以更好的发挥硬件性能? From junyiao110在gmail.com Mon Jul 26 15:56:30 2010 From: junyiao110在gmail.com (YaoJun) Date: Mon, 26 Jul 2010 15:56:30 +0800 Subject: =?UTF-8?B?RVhQT1JUX1NZTUJPTOeahOS4gOS4quWwj+mXrumimA==?= Message-ID: 现有两个模块, mod1, mod2 mod2中需要使用mod1中的函数He1, 所以我在mod1的最后加了 EXPORT_SYMBOL(He1); 然后依次加载mod1,mod2, insmod mod2 时提示 “mod2: no symbol version for He1; mod2: Unkown symbol He1” google 下,知道要加 -DEXPORT_SYMTAB 编译选项,可添加后不成功,怀疑我的 Makefile 写的不对,下面是源码 希望前辈们指导下 Makefile 哪里错了。# 我是在源码树外面编译驱动模块的 /*mod1.c*/ #include #include MODULE_LICENSE("Dual BSD/GPL"); static int He1(void) { printk(KERN_INFO "He1..\n"); return 0; } EXPORT_SYMBOL(He1); static int __init hello_init(void) { printk(KERN_ALERT "Hello, world\n"); return 0; } static void __exit hello_exit(void) { printk(KERN_ALERT "Goodbye, cruel world\n"); } module_init(hello_init); module_exit(hello_exit); /*mod1's Makefile*/ #! /bin/bash KERNEL=/usr/src/linux-headers-2.6.32-23-generic/ obj-m := -DEXPORT_SYMTAB -DMODULE obj-m := mod1.o default: make -C $(KERNEL) M=`pwd` modules -------------------------------------------------------------- /*mod2.c*/ #include #include MODULE_LICENSE("Dual BSD/GPL"); static int He2(void) { extern int He1(void); He1(); printk(KERN_INFO "He2..\n"); return 0; } static int __init hello_init(void) { He2(); printk(KERN_ALERT "Hello, world\n"); return 0; } static void __exit hello_exit(void) { printk(KERN_ALERT "Goodbye, cruel world\n"); } module_init(hello_init); module_exit(hello_exit); /*mod2's Makfile*/ #! /bin/bash KERNEL=/usr/src/linux-headers-2.6.32-23-generic/ obj-m := -DEXPORT_SYMTAB -DMODULE obj-m := mod2.o default: make -C $(KERNEL) M=`pwd` modules From jack_wang在usish.com Mon Jul 26 16:02:43 2010 From: jack_wang在usish.com (jack wang) Date: Mon, 26 Jul 2010 16:02:43 +0800 Subject: =?gb2312?B?tPC4tDogRVhQT1JUX1NZTUJPTLXE0ru49tChzsrM4g==?= In-Reply-To: References: Message-ID: <894C7A7D47384E5FB82E53FD8C7BE443@usish.com.cn> 现有两个模块, mod1, mod2 mod2中需要使用mod1中的函数He1, 所以我在mod1的最后加了 EXPORT_SYMBOL(He1); 然后依次加载mod1,mod2, insmod mod2 时提示 “mod2: no symbol version for He1; mod2: Unkown symbol He1” google 下,知道要加 -DEXPORT_SYMTAB 编译选项,可添加后不成功,怀疑我的 Makefile 写的不对,下面是源码 希望前辈们指导下 Makefile 哪里错了。# 我是在源码树外面编译驱动模块的 /*mod1.c*/ #include #include MODULE_LICENSE("Dual BSD/GPL"); static int He1(void) ///////////static 要去掉吧! { printk(KERN_INFO "He1..\n"); return 0; } EXPORT_SYMBOL(He1); static int __init hello_init(void) { printk(KERN_ALERT "Hello, world\n"); return 0; } static void __exit hello_exit(void) { printk(KERN_ALERT "Goodbye, cruel world\n"); } module_init(hello_init); module_exit(hello_exit); /*mod1's Makefile*/ #! /bin/bash KERNEL=/usr/src/linux-headers-2.6.32-23-generic/ obj-m := -DEXPORT_SYMTAB -DMODULE obj-m := mod1.o default: make -C $(KERNEL) M=`pwd` modules -------------------------------------------------------------- /*mod2.c*/ #include #include MODULE_LICENSE("Dual BSD/GPL"); static int He2(void) { extern int He1(void); He1(); printk(KERN_INFO "He2..\n"); return 0; } static int __init hello_init(void) { He2(); printk(KERN_ALERT "Hello, world\n"); return 0; } static void __exit hello_exit(void) { printk(KERN_ALERT "Goodbye, cruel world\n"); } module_init(hello_init); module_exit(hello_exit); /*mod2's Makfile*/ #! /bin/bash KERNEL=/usr/src/linux-headers-2.6.32-23-generic/ obj-m := -DEXPORT_SYMTAB -DMODULE obj-m := mod2.o default: make -C $(KERNEL) M=`pwd` modules _______________________________________________ Linux 内核开发中文邮件列表 Linux-kernel在zh-kernel.org http://zh-kernel.org/mailman/listinfo/linux-kernel Linux 内核开发中文社区: http://zh-kernel.org From aleaxander在gmail.com Mon Jul 26 16:04:03 2010 From: aleaxander在gmail.com (Liu Aleaxander) Date: Mon, 26 Jul 2010 16:04:03 +0800 Subject: =?GB2312?B?UmU6IEVYUE9SVF9TWU1CT0y1xNK7uPbQoc7KzOI=?= In-Reply-To: References: Message-ID: 2010/7/26 YaoJun : > 现有两个模块, mod1, mod2 > mod2中需要使用mod1中的函数He1, 所以我在mod1的最后加了 > EXPORT_SYMBOL(He1); > > 然后依次加载mod1,mod2, insmod mod2 时提示 "mod2: no symbol version for He1; mod2: > Unkown symbol He1" > google 下,知道要加 -DEXPORT_SYMTAB 编译选项,可添加后不成功,怀疑我的 Makefile 写的不对,下面是源码 > 希望前辈们指导下 Makefile 哪里错了。# 我是在源码树外面编译驱动模块的 > > > /*mod1.c*/ > #include > #include > MODULE_LICENSE("Dual BSD/GPL"); > static int He1(void) 把 static 去掉试试。。 > { > printk(KERN_INFO "He1..\n"); > return 0; > } > EXPORT_SYMBOL(He1); > > static int __init hello_init(void) > { > printk(KERN_ALERT "Hello, world\n"); > return 0; > } > > static void __exit hello_exit(void) > { > printk(KERN_ALERT "Goodbye, cruel world\n"); > } > > module_init(hello_init); > module_exit(hello_exit); > > /*mod1's Makefile*/ > #! /bin/bash > KERNEL=/usr/src/linux-headers-2.6.32-23-generic/ > > obj-m := -DEXPORT_SYMTAB -DMODULE > obj-m := mod1.o > default: > make -C $(KERNEL) M=`pwd` modules > > -------------------------------------------------------------- > > /*mod2.c*/ > > #include > #include > MODULE_LICENSE("Dual BSD/GPL"); > > static int He2(void) > { > > extern int He1(void); > He1(); > printk(KERN_INFO "He2..\n"); > return 0; > > } > > static int __init hello_init(void) > { > > He2(); > > printk(KERN_ALERT "Hello, world\n"); > return 0; > } > > static void __exit hello_exit(void) > { > printk(KERN_ALERT "Goodbye, cruel world\n"); > } > > module_init(hello_init); > module_exit(hello_exit); > > /*mod2's Makfile*/ > #! /bin/bash > KERNEL=/usr/src/linux-headers-2.6.32-23-generic/ > obj-m := -DEXPORT_SYMTAB -DMODULE > obj-m := mod2.o > default: > make -C $(KERNEL) M=`pwd` modules > _______________________________________________ > Linux 内核开发中文邮件列表 > Linux-kernel在zh-kernel.org > http://zh-kernel.org/mailman/listinfo/linux-kernel > Linux 内核开发中文社区: http://zh-kernel.org -- regards Liu Aleaxander From junyiao110在gmail.com Mon Jul 26 16:12:18 2010 From: junyiao110在gmail.com (YaoJun) Date: Mon, 26 Jul 2010 16:12:18 +0800 Subject: =?UTF-8?B?UmU6IEVYUE9SVF9TWU1CT0znmoTkuIDkuKrlsI/pl67popg=?= In-Reply-To: References: Message-ID: 在 2010年7月26日 下午4:04,Liu Aleaxander 写道: > 2010/7/26 YaoJun : > > 现有两个模块, mod1, mod2 > > mod2中需要使用mod1中的函数He1, 所以我在mod1的最后加了 > > EXPORT_SYMBOL(He1); > > > > 然后依次加载mod1,mod2, insmod mod2 时提示 "mod2: no symbol version for He1; mod2: > > Unkown symbol He1" > > google 下,知道要加 -DEXPORT_SYMTAB 编译选项,可添加后不成功,怀疑我的 Makefile 写的不对,下面是源码 > > 希望前辈们指导下 Makefile 哪里错了。# 我是在源码树外面编译驱动模块的 > > > > > > /*mod1.c*/ > > #include > > #include > > MODULE_LICENSE("Dual BSD/GPL"); > > static int He1(void) > 把 static 去掉试试。。 > > > { > > printk(KERN_INFO "He1..\n"); > > return 0; > > } > > EXPORT_SYMBOL(He1); > > > > static int __init hello_init(void) > > { > > printk(KERN_ALERT "Hello, world\n"); > > return 0; > > } > > > > static void __exit hello_exit(void) > > { > > printk(KERN_ALERT "Goodbye, cruel world\n"); > > } > > > > module_init(hello_init); > > module_exit(hello_exit); > > > > /*mod1's Makefile*/ > > #! /bin/bash > > KERNEL=/usr/src/linux-headers-2.6.32-23-generic/ > > > > obj-m := -DEXPORT_SYMTAB -DMODULE > > obj-m := mod1.o > > default: > > make -C $(KERNEL) M=`pwd` modules > > > > -------------------------------------------------------------- > > > > /*mod2.c*/ > > > > #include > > #include > > MODULE_LICENSE("Dual BSD/GPL"); > > > > static int He2(void) > > { > > > > extern int He1(void); > > He1(); > > printk(KERN_INFO "He2..\n"); > > return 0; > > > > } > > > > static int __init hello_init(void) > > { > > > > He2(); > > > > printk(KERN_ALERT "Hello, world\n"); > > return 0; > > } > > > > static void __exit hello_exit(void) > > { > > printk(KERN_ALERT "Goodbye, cruel world\n"); > > } > > > > module_init(hello_init); > > module_exit(hello_exit); > > > > /*mod2's Makfile*/ > > #! /bin/bash > > KERNEL=/usr/src/linux-headers-2.6.32-23-generic/ > > obj-m := -DEXPORT_SYMTAB -DMODULE > > obj-m := mod2.o > > default: > > make -C $(KERNEL) M=`pwd` modules > > _______________________________________________ > > Linux 内核开发中文邮件列表 > > Linux-kernel在zh-kernel.org > > http://zh-kernel.org/mailman/listinfo/linux-kernel > > Linux 内核开发中文社区: http://zh-kernel.org > > > > -- > regards > Liu Aleaxander > 去掉static 后还是不行 From xiaosuo在gmail.com Mon Jul 26 16:14:33 2010 From: xiaosuo在gmail.com (Changli Gao) Date: Mon, 26 Jul 2010 16:14:33 +0800 Subject: =?GB2312?B?UmU6IEVYUE9SVF9TWU1CT0y1xNK7uPbQoc7KzOI=?= In-Reply-To: References: Message-ID: 2010/7/26 YaoJun : > > 去掉static 后还是不行 去掉MODULE_LICENSE("Dual BSD/GPL");试试看。 -- Regards, Changli Gao(xiaosuo在gmail.com) From junyiao110在gmail.com Mon Jul 26 16:32:54 2010 From: junyiao110在gmail.com (YaoJun) Date: Mon, 26 Jul 2010 16:32:54 +0800 Subject: =?UTF-8?B?UmU6IEVYUE9SVF9TWU1CT0znmoTkuIDkuKrlsI/pl67popg=?= In-Reply-To: References: Message-ID: 在 2010年7月26日 下午4:14,Changli Gao 写道: > 2010/7/26 YaoJun : > > > > 去掉static 后还是不行 > > 去掉MODULE_LICENSE("Dual BSD/GPL");试试看。 > > -- > Regards, > Changli Gao(xiaosuo在gmail.com) > 不是license 的问题。 按照 Document/kbuild/modules.txt 的描述 在 mod2 的makefile 里 设置 obj-y 或者 KBUILD_EXTRA_SYMBOLS 可以解决问题 #! /bin/bash KERNEL= /lib/modules/2.6.32-23-generic/build/ #KBUILD_EXTRA_SYMBOLS := ~/mydriv/tp/mod1/Module.symvers obj-y := ../mod1/ obj-m := mod2.o default: make -C $(KERNEL) M=`pwd` modules 不知道有没有方法从 /proc/kallsyms 中获取 symbol, 因为加载 mod1 后,kallsyms 里面是有 He1() 符合的?? From blues1207在gmail.com Mon Jul 26 16:43:10 2010 From: blues1207在gmail.com (fanyf) Date: Mon, 26 Jul 2010 08:43:10 -0000 Subject: Linux-kernel =?UTF-8?Q?=E6=91=98=E8=A6=81=2C?= =?UTF-8?Q?_=E5=8D=B7?= 36, =?UTF-8?Q?=E5=8F=91=E5=B8=83?= 26 In-Reply-To: References: Message-ID: <1282351246.1526.6.camel@localhost> 你只要EXPORT_SYMBOL就应该可以了 On Mon, 2010-07-26 at 16:32 +0800, linux-kernel-request在zh-kernel.org wrote: > 想在 Linux-kernel 邮件列表发言,请写信给: > linux-kernel在zh-kernel.org > > 要订阅或者退订列表,可以访问万维网地址: > http://zh-kernel.org/mailman/listinfo/linux-kernel > 或者可以向: > linux-kernel-request在zh-kernel.org > 发送主题或者正文为'help'的邮件。 > > 您可以通过邮件地址: > linux-kernel-owner在zh-kernel.org > 联系到此列表的管理员。 > > 当回信时,请给一个适当的标题,这样会比 "Re: > Contents of Linux-kernel digest..."更清楚明白。 > > > 这是邮件列表的摘要。如果想要回复此邮件,请务必注意: > 1. 根据要回复的主题,重新给邮件加上合适的标题 > 2. 去除和回复无关的其他引文。 > > 本日主题: > > 1. Re: 82576的驱动性能问题 (bekars) > 2. EXPORT_SYMBOL的一个小问题 (YaoJun) > 3. 答复: EXPORT_SYMBOL的一个小问题 (jack wang) > 4. Re: EXPORT_SYMBOL的一个小问题 (Liu Aleaxander) > 5. Re: EXPORT_SYMBOL的一个小问题 (YaoJun) > 6. Re: EXPORT_SYMBOL的一个小问题 (Changli Gao) > 7. Re: EXPORT_SYMBOL的一个小问题 (YaoJun) > > > ---------------------------------------------------------------------- > > Message: 1 > Date: Mon, 26 Jul 2010 13:56:51 +0800 > From: bekars > To: oliver yang > Cc: Linux-kernel在zh-kernel.org > Subject: Re: 82576的驱动性能问题 > Message-ID: > > Content-Type: text/plain; charset=GB2312 > > 在 2010年7月26日 下午1:51,oliver yang 写道: > > > 在 2010年7月26日 下午1:46,蓝天宇 写道: > > > .... 这部分放在驱动里做?个人感觉应该在协议栈做更合理。没有看过相应代码,发出来看看。 > > > > 以前是协议栈做的。很多网卡都支持LRO。 > > > > 这是一种hardware offload技术,用于降低CPU的占用率,从而可以在高负载情况下,网卡的性能的可扩展性好一些。 > > > > 类似的技术有hardware checksum, TSO, TOE等等, 都是hardware offload技术。 > > > > > > -- > > Cheers, > > > > Oliver Yang > > > > Twitter: http://twitter.com/yangoliver > > Blog: http://blog.csdn.net/yayong > > -------------------------------------------------------------------- > > An OpenSolaris Developer > > > > 但是实际上这块是在软中断里面做的吧。 > > 这个和在协议栈里面做只是减少了查路由的操作吧, > 但是还加入了一个hash链表的查找,这样能提高多少性能呢? > > 还是说82576的硬件支持一些高级的功能,比如分光什么的,通过在驱动中这样做可以更好的发挥硬件性能? > > ------------------------------ > > Message: 2 > Date: Mon, 26 Jul 2010 15:56:30 +0800 > From: YaoJun > To: linux-kernel在zh-kernel.org > Subject: EXPORT_SYMBOL的一个小问题 > Message-ID: > > Content-Type: text/plain; charset=UTF-8 > > 现有两个模块, mod1, mod2 > mod2中需要使用mod1中的函数He1, 所以我在mod1的最后加了 > EXPORT_SYMBOL(He1); > > 然后依次加载mod1,mod2, insmod mod2 时提示 “mod2: no symbol version for He1; mod2: > Unkown symbol He1” > google 下,知道要加 -DEXPORT_SYMTAB 编译选项,可添加后不成功,怀疑我的 Makefile 写的不对,下面是源码 > 希望前辈们指导下 Makefile 哪里错了。# 我是在源码树外面编译驱动模块的 > > > /*mod1.c*/ > #include > #include > MODULE_LICENSE("Dual BSD/GPL"); > static int He1(void) > { > printk(KERN_INFO "He1..\n"); > return 0; > } > EXPORT_SYMBOL(He1); > > static int __init hello_init(void) > { > printk(KERN_ALERT "Hello, world\n"); > return 0; > } > > static void __exit hello_exit(void) > { > printk(KERN_ALERT "Goodbye, cruel world\n"); > } > > module_init(hello_init); > module_exit(hello_exit); > > /*mod1's Makefile*/ > #! /bin/bash > KERNEL=/usr/src/linux-headers-2.6.32-23-generic/ > > obj-m := -DEXPORT_SYMTAB -DMODULE > obj-m := mod1.o > default: > make -C $(KERNEL) M=`pwd` modules > > -------------------------------------------------------------- > > /*mod2.c*/ > > #include > #include > MODULE_LICENSE("Dual BSD/GPL"); > > static int He2(void) > { > > extern int He1(void); > He1(); > printk(KERN_INFO "He2..\n"); > return 0; > > } > > static int __init hello_init(void) > { > > He2(); > > printk(KERN_ALERT "Hello, world\n"); > return 0; > } > > static void __exit hello_exit(void) > { > printk(KERN_ALERT "Goodbye, cruel world\n"); > } > > module_init(hello_init); > module_exit(hello_exit); > > /*mod2's Makfile*/ > #! /bin/bash > KERNEL=/usr/src/linux-headers-2.6.32-23-generic/ > obj-m := -DEXPORT_SYMTAB -DMODULE > obj-m := mod2.o > default: > make -C $(KERNEL) M=`pwd` modules > > > ------------------------------ > > Message: 3 > Date: Mon, 26 Jul 2010 16:02:43 +0800 > From: "jack wang" > To: "'YaoJun'" , > Subject: 答复: EXPORT_SYMBOL的一个小问题 > Message-ID: <894C7A7D47384E5FB82E53FD8C7BE443在usish.com.cn> > Content-Type: text/plain; charset="gb2312" > > > 现有两个模块, mod1, mod2 > mod2中需要使用mod1中的函数He1, 所以我在mod1的最后加了 > EXPORT_SYMBOL(He1); > > 然后依次加载mod1,mod2, insmod mod2 时提示 “mod2: no symbol version for > He1; mod2: > Unkown symbol He1” > google 下,知道要加 -DEXPORT_SYMTAB 编译选项,可添加后不成功,怀疑我的 > Makefile 写的不对,下面是源码 > 希望前辈们指导下 Makefile 哪里错了。# 我是在源码树外面编译驱动模块的 > > > /*mod1.c*/ > #include > #include > MODULE_LICENSE("Dual BSD/GPL"); > static int He1(void) ///////////static 要去掉吧! > { > printk(KERN_INFO "He1..\n"); > return 0; > } > EXPORT_SYMBOL(He1); > > static int __init hello_init(void) > { > printk(KERN_ALERT "Hello, world\n"); > return 0; > } > > static void __exit hello_exit(void) > { > printk(KERN_ALERT "Goodbye, cruel world\n"); > } > > module_init(hello_init); > module_exit(hello_exit); > > /*mod1's Makefile*/ > #! /bin/bash > KERNEL=/usr/src/linux-headers-2.6.32-23-generic/ > > obj-m := -DEXPORT_SYMTAB -DMODULE > obj-m := mod1.o > default: > make -C $(KERNEL) M=`pwd` modules > > -------------------------------------------------------------- > > /*mod2.c*/ > > #include > #include > MODULE_LICENSE("Dual BSD/GPL"); > > static int He2(void) > { > > extern int He1(void); > He1(); > printk(KERN_INFO "He2..\n"); > return 0; > > } > > static int __init hello_init(void) > { > > He2(); > > printk(KERN_ALERT "Hello, world\n"); > return 0; > } > > static void __exit hello_exit(void) > { > printk(KERN_ALERT "Goodbye, cruel world\n"); > } > > module_init(hello_init); > module_exit(hello_exit); > > /*mod2's Makfile*/ > #! /bin/bash > KERNEL=/usr/src/linux-headers-2.6.32-23-generic/ > obj-m := -DEXPORT_SYMTAB -DMODULE > obj-m := mod2.o > default: > make -C $(KERNEL) M=`pwd` modules > _______________________________________________ > Linux 内核开发中文邮件列表 > Linux-kernel在zh-kernel.org > http://zh-kernel.org/mailman/listinfo/linux-kernel > Linux 内核开发中文社区: http://zh-kernel.org > > > > ------------------------------ > > Message: 4 > Date: Mon, 26 Jul 2010 16:04:03 +0800 > From: Liu Aleaxander > To: YaoJun > Cc: linux-kernel在zh-kernel.org > Subject: Re: EXPORT_SYMBOL的一个小问题 > Message-ID: > > Content-Type: text/plain; charset=GB2312 > > 2010/7/26 YaoJun : > > 现有两个模块, mod1, mod2 > > mod2中需要使用mod1中的函数He1, 所以我在mod1的最后加了 > > EXPORT_SYMBOL(He1); > > > > 然后依次加载mod1,mod2, insmod mod2 时提示 "mod2: no symbol version for He1; mod2: > > Unkown symbol He1" > > google 下,知道要加 -DEXPORT_SYMTAB 编译选项,可添加后不成功,怀疑我的 Makefile 写的不对,下面是源码 > > 希望前辈们指导下 Makefile 哪里错了。# 我是在源码树外面编译驱动模块的 > > > > > > /*mod1.c*/ > > #include > > #include > > MODULE_LICENSE("Dual BSD/GPL"); > > static int He1(void) > 把 static 去掉试试。。 > > > { > > printk(KERN_INFO "He1..\n"); > > return 0; > > } > > EXPORT_SYMBOL(He1); > > > > static int __init hello_init(void) > > { > > printk(KERN_ALERT "Hello, world\n"); > > return 0; > > } > > > > static void __exit hello_exit(void) > > { > > printk(KERN_ALERT "Goodbye, cruel world\n"); > > } > > > > module_init(hello_init); > > module_exit(hello_exit); > > > > /*mod1's Makefile*/ > > #! /bin/bash > > KERNEL=/usr/src/linux-headers-2.6.32-23-generic/ > > > > obj-m := -DEXPORT_SYMTAB -DMODULE > > obj-m := mod1.o > > default: > > make -C $(KERNEL) M=`pwd` modules > > > > -------------------------------------------------------------- > > > > /*mod2.c*/ > > > > #include > > #include > > MODULE_LICENSE("Dual BSD/GPL"); > > > > static int He2(void) > > { > > > > extern int He1(void); > > He1(); > > printk(KERN_INFO "He2..\n"); > > return 0; > > > > } > > > > static int __init hello_init(void) > > { > > > > He2(); > > > > printk(KERN_ALERT "Hello, world\n"); > > return 0; > > } > > > > static void __exit hello_exit(void) > > { > > printk(KERN_ALERT "Goodbye, cruel world\n"); > > } > > > > module_init(hello_init); > > module_exit(hello_exit); > > > > /*mod2's Makfile*/ > > #! /bin/bash > > KERNEL=/usr/src/linux-headers-2.6.32-23-generic/ > > obj-m := -DEXPORT_SYMTAB -DMODULE > > obj-m := mod2.o > > default: > > make -C $(KERNEL) M=`pwd` modules > > _______________________________________________ > > Linux 内核开发中文邮件列表 > > Linux-kernel在zh-kernel.org > > http://zh-kernel.org/mailman/listinfo/linux-kernel > > Linux 内核开发中文社区: http://zh-kernel.org > > > > -- > regards > Liu Aleaxander > > > ------------------------------ > > Message: 5 > Date: Mon, 26 Jul 2010 16:12:18 +0800 > From: YaoJun > To: Liu Aleaxander > Cc: linux-kernel在zh-kernel.org > Subject: Re: EXPORT_SYMBOL的一个小问题 > Message-ID: > > Content-Type: text/plain; charset=UTF-8 > > 在 2010年7月26日 下午4:04,Liu Aleaxander 写道: > > > 2010/7/26 YaoJun : > > > 现有两个模块, mod1, mod2 > > > mod2中需要使用mod1中的函数He1, 所以我在mod1的最后加了 > > > EXPORT_SYMBOL(He1); > > > > > > 然后依次加载mod1,mod2, insmod mod2 时提示 "mod2: no symbol version for He1; mod2: > > > Unkown symbol He1" > > > google 下,知道要加 -DEXPORT_SYMTAB 编译选项,可添加后不成功,怀疑我的 Makefile 写的不对,下面是源码 > > > 希望前辈们指导下 Makefile 哪里错了。# 我是在源码树外面编译驱动模块的 > > > > > > > > > /*mod1.c*/ > > > #include > > > #include > > > MODULE_LICENSE("Dual BSD/GPL"); > > > static int He1(void) > > 把 static 去掉试试。。 > > > > > { > > > printk(KERN_INFO "He1..\n"); > > > return 0; > > > } > > > EXPORT_SYMBOL(He1); > > > > > > static int __init hello_init(void) > > > { > > > printk(KERN_ALERT "Hello, world\n"); > > > return 0; > > > } > > > > > > static void __exit hello_exit(void) > > > { > > > printk(KERN_ALERT "Goodbye, cruel world\n"); > > > } > > > > > > module_init(hello_init); > > > module_exit(hello_exit); > > > > > > /*mod1's Makefile*/ > > > #! /bin/bash > > > KERNEL=/usr/src/linux-headers-2.6.32-23-generic/ > > > > > > obj-m := -DEXPORT_SYMTAB -DMODULE > > > obj-m := mod1.o > > > default: > > > make -C $(KERNEL) M=`pwd` modules > > > > > > -------------------------------------------------------------- > > > > > > /*mod2.c*/ > > > > > > #include > > > #include > > > MODULE_LICENSE("Dual BSD/GPL"); > > > > > > static int He2(void) > > > { > > > > > > extern int He1(void); > > > He1(); > > > printk(KERN_INFO "He2..\n"); > > > return 0; > > > > > > } > > > > > > static int __init hello_init(void) > > > { > > > > > > He2(); > > > > > > printk(KERN_ALERT "Hello, world\n"); > > > return 0; > > > } > > > > > > static void __exit hello_exit(void) > > > { > > > printk(KERN_ALERT "Goodbye, cruel world\n"); > > > } > > > > > > module_init(hello_init); > > > module_exit(hello_exit); > > > > > > /*mod2's Makfile*/ > > > #! /bin/bash > > > KERNEL=/usr/src/linux-headers-2.6.32-23-generic/ > > > obj-m := -DEXPORT_SYMTAB -DMODULE > > > obj-m := mod2.o > > > default: > > > make -C $(KERNEL) M=`pwd` modules > > > _______________________________________________ > > > Linux 内核开发中文邮件列表 > > > Linux-kernel在zh-kernel.org > > > http://zh-kernel.org/mailman/listinfo/linux-kernel > > > Linux 内核开发中文社区: http://zh-kernel.org > > > > > > > > -- > > regards > > Liu Aleaxander > > > > 去掉static 后还是不行 > > > ------------------------------ > > Message: 6 > Date: Mon, 26 Jul 2010 16:14:33 +0800 > From: Changli Gao > To: YaoJun > Cc: linux-kernel在zh-kernel.org > Subject: Re: EXPORT_SYMBOL的一个小问题 > Message-ID: > > Content-Type: text/plain; charset=GB2312 > > 2010/7/26 YaoJun : > > > > 去掉static 后还是不行 > > 去掉MODULE_LICENSE("Dual BSD/GPL");试试看。 > From rteta35在gmail.com Mon Jul 26 16:44:00 2010 From: rteta35在gmail.com (rteta zhang) Date: Mon, 26 Jul 2010 16:44:00 +0800 Subject: =?UTF-8?B?5aSn5a625aW977yB6K+V5LiA5LiL6K6i6ZiF5oiQ5Yqf5rKh77yf?= Message-ID: From blues1207在gmail.com Mon Jul 26 16:44:36 2010 From: blues1207在gmail.com (fanyf) Date: Mon, 26 Jul 2010 08:44:36 -0000 Subject: Linux-kernel =?UTF-8?Q?=E6=91=98=E8=A6=81=2C?= =?UTF-8?Q?_=E5=8D=B7?= 36, =?UTF-8?Q?=E5=8F=91=E5=B8=83?= 26 In-Reply-To: References: Message-ID: <1282351286.1526.7.camel@localhost> 你只要EXPORT_SYMBOL就可以了 On Mon, 2010-07-26 at 16:32 +0800, linux-kernel-request在zh-kernel.org wrote: > 想在 Linux-kernel 邮件列表发言,请写信给: > linux-kernel在zh-kernel.org > > 要订阅或者退订列表,可以访问万维网地址: > http://zh-kernel.org/mailman/listinfo/linux-kernel > 或者可以向: > linux-kernel-request在zh-kernel.org > 发送主题或者正文为'help'的邮件。 > > 您可以通过邮件地址: > linux-kernel-owner在zh-kernel.org > 联系到此列表的管理员。 > > 当回信时,请给一个适当的标题,这样会比 "Re: > Contents of Linux-kernel digest..."更清楚明白。 > > > 这是邮件列表的摘要。如果想要回复此邮件,请务必注意: > 1. 根据要回复的主题,重新给邮件加上合适的标题 > 2. 去除和回复无关的其他引文。 > > 本日主题: > > 1. Re: 82576的驱动性能问题 (bekars) > 2. EXPORT_SYMBOL的一个小问题 (YaoJun) > 3. 答复: EXPORT_SYMBOL的一个小问题 (jack wang) > 4. Re: EXPORT_SYMBOL的一个小问题 (Liu Aleaxander) > 5. Re: EXPORT_SYMBOL的一个小问题 (YaoJun) > 6. Re: EXPORT_SYMBOL的一个小问题 (Changli Gao) > 7. Re: EXPORT_SYMBOL的一个小问题 (YaoJun) > > > ---------------------------------------------------------------------- > > Message: 1 > Date: Mon, 26 Jul 2010 13:56:51 +0800 > From: bekars > To: oliver yang > Cc: Linux-kernel在zh-kernel.org > Subject: Re: 82576的驱动性能问题 > Message-ID: > > Content-Type: text/plain; charset=GB2312 > > 在 2010年7月26日 下午1:51,oliver yang 写道: > > > 在 2010年7月26日 下午1:46,蓝天宇 写道: > > > .... 这部分放在驱动里做?个人感觉应该在协议栈做更合理。没有看过相应代码,发出来看看。 > > > > 以前是协议栈做的。很多网卡都支持LRO。 > > > > 这是一种hardware offload技术,用于降低CPU的占用率,从而可以在高负载情况下,网卡的性能的可扩展性好一些。 > > > > 类似的技术有hardware checksum, TSO, TOE等等, 都是hardware offload技术。 > > > > > > -- > > Cheers, > > > > Oliver Yang > > > > Twitter: http://twitter.com/yangoliver > > Blog: http://blog.csdn.net/yayong > > -------------------------------------------------------------------- > > An OpenSolaris Developer > > > > 但是实际上这块是在软中断里面做的吧。 > > 这个和在协议栈里面做只是减少了查路由的操作吧, > 但是还加入了一个hash链表的查找,这样能提高多少性能呢? > > 还是说82576的硬件支持一些高级的功能,比如分光什么的,通过在驱动中这样做可以更好的发挥硬件性能? > > ------------------------------ > > Message: 2 > Date: Mon, 26 Jul 2010 15:56:30 +0800 > From: YaoJun > To: linux-kernel在zh-kernel.org > Subject: EXPORT_SYMBOL的一个小问题 > Message-ID: > > Content-Type: text/plain; charset=UTF-8 > > 现有两个模块, mod1, mod2 > mod2中需要使用mod1中的函数He1, 所以我在mod1的最后加了 > EXPORT_SYMBOL(He1); > > 然后依次加载mod1,mod2, insmod mod2 时提示 “mod2: no symbol version for He1; mod2: > Unkown symbol He1” > google 下,知道要加 -DEXPORT_SYMTAB 编译选项,可添加后不成功,怀疑我的 Makefile 写的不对,下面是源码 > 希望前辈们指导下 Makefile 哪里错了。# 我是在源码树外面编译驱动模块的 > > > /*mod1.c*/ > #include > #include > MODULE_LICENSE("Dual BSD/GPL"); > static int He1(void) > { > printk(KERN_INFO "He1..\n"); > return 0; > } > EXPORT_SYMBOL(He1); > > static int __init hello_init(void) > { > printk(KERN_ALERT "Hello, world\n"); > return 0; > } > > static void __exit hello_exit(void) > { > printk(KERN_ALERT "Goodbye, cruel world\n"); > } > > module_init(hello_init); > module_exit(hello_exit); > > /*mod1's Makefile*/ > #! /bin/bash > KERNEL=/usr/src/linux-headers-2.6.32-23-generic/ > > obj-m := -DEXPORT_SYMTAB -DMODULE > obj-m := mod1.o > default: > make -C $(KERNEL) M=`pwd` modules > > -------------------------------------------------------------- > > /*mod2.c*/ > > #include > #include > MODULE_LICENSE("Dual BSD/GPL"); > > static int He2(void) > { > > extern int He1(void); > He1(); > printk(KERN_INFO "He2..\n"); > return 0; > > } > > static int __init hello_init(void) > { > > He2(); > > printk(KERN_ALERT "Hello, world\n"); > return 0; > } > > static void __exit hello_exit(void) > { > printk(KERN_ALERT "Goodbye, cruel world\n"); > } > > module_init(hello_init); > module_exit(hello_exit); > > /*mod2's Makfile*/ > #! /bin/bash > KERNEL=/usr/src/linux-headers-2.6.32-23-generic/ > obj-m := -DEXPORT_SYMTAB -DMODULE > obj-m := mod2.o > default: > make -C $(KERNEL) M=`pwd` modules > > > ------------------------------ > > Message: 3 > Date: Mon, 26 Jul 2010 16:02:43 +0800 > From: "jack wang" > To: "'YaoJun'" , > Subject: 答复: EXPORT_SYMBOL的一个小问题 > Message-ID: <894C7A7D47384E5FB82E53FD8C7BE443在usish.com.cn> > Content-Type: text/plain; charset="gb2312" > > > 现有两个模块, mod1, mod2 > mod2中需要使用mod1中的函数He1, 所以我在mod1的最后加了 > EXPORT_SYMBOL(He1); > > 然后依次加载mod1,mod2, insmod mod2 时提示 “mod2: no symbol version for > He1; mod2: > Unkown symbol He1” > google 下,知道要加 -DEXPORT_SYMTAB 编译选项,可添加后不成功,怀疑我的 > Makefile 写的不对,下面是源码 > 希望前辈们指导下 Makefile 哪里错了。# 我是在源码树外面编译驱动模块的 > > > /*mod1.c*/ > #include > #include > MODULE_LICENSE("Dual BSD/GPL"); > static int He1(void) ///////////static 要去掉吧! > { > printk(KERN_INFO "He1..\n"); > return 0; > } > EXPORT_SYMBOL(He1); > > static int __init hello_init(void) > { > printk(KERN_ALERT "Hello, world\n"); > return 0; > } > > static void __exit hello_exit(void) > { > printk(KERN_ALERT "Goodbye, cruel world\n"); > } > > module_init(hello_init); > module_exit(hello_exit); > > /*mod1's Makefile*/ > #! /bin/bash > KERNEL=/usr/src/linux-headers-2.6.32-23-generic/ > > obj-m := -DEXPORT_SYMTAB -DMODULE > obj-m := mod1.o > default: > make -C $(KERNEL) M=`pwd` modules > > -------------------------------------------------------------- > > /*mod2.c*/ > > #include > #include > MODULE_LICENSE("Dual BSD/GPL"); > > static int He2(void) > { > > extern int He1(void); > He1(); > printk(KERN_INFO "He2..\n"); > return 0; > > } > > static int __init hello_init(void) > { > > He2(); > > printk(KERN_ALERT "Hello, world\n"); > return 0; > } > > static void __exit hello_exit(void) > { > printk(KERN_ALERT "Goodbye, cruel world\n"); > } > > module_init(hello_init); > module_exit(hello_exit); > > /*mod2's Makfile*/ > #! /bin/bash > KERNEL=/usr/src/linux-headers-2.6.32-23-generic/ > obj-m := -DEXPORT_SYMTAB -DMODULE > obj-m := mod2.o > default: > make -C $(KERNEL) M=`pwd` modules > _______________________________________________ > Linux 内核开发中文邮件列表 > Linux-kernel在zh-kernel.org > http://zh-kernel.org/mailman/listinfo/linux-kernel > Linux 内核开发中文社区: http://zh-kernel.org > > > > ------------------------------ > > Message: 4 > Date: Mon, 26 Jul 2010 16:04:03 +0800 > From: Liu Aleaxander > To: YaoJun > Cc: linux-kernel在zh-kernel.org > Subject: Re: EXPORT_SYMBOL的一个小问题 > Message-ID: > > Content-Type: text/plain; charset=GB2312 > > 2010/7/26 YaoJun : > > 现有两个模块, mod1, mod2 > > mod2中需要使用mod1中的函数He1, 所以我在mod1的最后加了 > > EXPORT_SYMBOL(He1); > > > > 然后依次加载mod1,mod2, insmod mod2 时提示 "mod2: no symbol version for He1; mod2: > > Unkown symbol He1" > > google 下,知道要加 -DEXPORT_SYMTAB 编译选项,可添加后不成功,怀疑我的 Makefile 写的不对,下面是源码 > > 希望前辈们指导下 Makefile 哪里错了。# 我是在源码树外面编译驱动模块的 > > > > > > /*mod1.c*/ > > #include > > #include > > MODULE_LICENSE("Dual BSD/GPL"); > > static int He1(void) > 把 static 去掉试试。。 > > > { > > printk(KERN_INFO "He1..\n"); > > return 0; > > } > > EXPORT_SYMBOL(He1); > > > > static int __init hello_init(void) > > { > > printk(KERN_ALERT "Hello, world\n"); > > return 0; > > } > > > > static void __exit hello_exit(void) > > { > > printk(KERN_ALERT "Goodbye, cruel world\n"); > > } > > > > module_init(hello_init); > > module_exit(hello_exit); > > > > /*mod1's Makefile*/ > > #! /bin/bash > > KERNEL=/usr/src/linux-headers-2.6.32-23-generic/ > > > > obj-m := -DEXPORT_SYMTAB -DMODULE > > obj-m := mod1.o > > default: > > make -C $(KERNEL) M=`pwd` modules > > > > -------------------------------------------------------------- > > > > /*mod2.c*/ > > > > #include > > #include > > MODULE_LICENSE("Dual BSD/GPL"); > > > > static int He2(void) > > { > > > > extern int He1(void); > > He1(); > > printk(KERN_INFO "He2..\n"); > > return 0; > > > > } > > > > static int __init hello_init(void) > > { > > > > He2(); > > > > printk(KERN_ALERT "Hello, world\n"); > > return 0; > > } > > > > static void __exit hello_exit(void) > > { > > printk(KERN_ALERT "Goodbye, cruel world\n"); > > } > > > > module_init(hello_init); > > module_exit(hello_exit); > > > > /*mod2's Makfile*/ > > #! /bin/bash > > KERNEL=/usr/src/linux-headers-2.6.32-23-generic/ > > obj-m := -DEXPORT_SYMTAB -DMODULE > > obj-m := mod2.o > > default: > > make -C $(KERNEL) M=`pwd` modules > > _______________________________________________ > > Linux 内核开发中文邮件列表 > > Linux-kernel在zh-kernel.org > > http://zh-kernel.org/mailman/listinfo/linux-kernel > > Linux 内核开发中文社区: http://zh-kernel.org > > > > -- > regards > Liu Aleaxander > > > ------------------------------ > > Message: 5 > Date: Mon, 26 Jul 2010 16:12:18 +0800 > From: YaoJun > To: Liu Aleaxander > Cc: linux-kernel在zh-kernel.org > Subject: Re: EXPORT_SYMBOL的一个小问题 > Message-ID: > > Content-Type: text/plain; charset=UTF-8 > > 在 2010年7月26日 下午4:04,Liu Aleaxander 写道: > > > 2010/7/26 YaoJun : > > > 现有两个模块, mod1, mod2 > > > mod2中需要使用mod1中的函数He1, 所以我在mod1的最后加了 > > > EXPORT_SYMBOL(He1); > > > > > > 然后依次加载mod1,mod2, insmod mod2 时提示 "mod2: no symbol version for He1; mod2: > > > Unkown symbol He1" > > > google 下,知道要加 -DEXPORT_SYMTAB 编译选项,可添加后不成功,怀疑我的 Makefile 写的不对,下面是源码 > > > 希望前辈们指导下 Makefile 哪里错了。# 我是在源码树外面编译驱动模块的 > > > > > > > > > /*mod1.c*/ > > > #include > > > #include > > > MODULE_LICENSE("Dual BSD/GPL"); > > > static int He1(void) > > 把 static 去掉试试。。 > > > > > { > > > printk(KERN_INFO "He1..\n"); > > > return 0; > > > } > > > EXPORT_SYMBOL(He1); > > > > > > static int __init hello_init(void) > > > { > > > printk(KERN_ALERT "Hello, world\n"); > > > return 0; > > > } > > > > > > static void __exit hello_exit(void) > > > { > > > printk(KERN_ALERT "Goodbye, cruel world\n"); > > > } > > > > > > module_init(hello_init); > > > module_exit(hello_exit); > > > > > > /*mod1's Makefile*/ > > > #! /bin/bash > > > KERNEL=/usr/src/linux-headers-2.6.32-23-generic/ > > > > > > obj-m := -DEXPORT_SYMTAB -DMODULE > > > obj-m := mod1.o > > > default: > > > make -C $(KERNEL) M=`pwd` modules > > > > > > -------------------------------------------------------------- > > > > > > /*mod2.c*/ > > > > > > #include > > > #include > > > MODULE_LICENSE("Dual BSD/GPL"); > > > > > > static int He2(void) > > > { > > > > > > extern int He1(void); > > > He1(); > > > printk(KERN_INFO "He2..\n"); > > > return 0; > > > > > > } > > > > > > static int __init hello_init(void) > > > { > > > > > > He2(); > > > > > > printk(KERN_ALERT "Hello, world\n"); > > > return 0; > > > } > > > > > > static void __exit hello_exit(void) > > > { > > > printk(KERN_ALERT "Goodbye, cruel world\n"); > > > } > > > > > > module_init(hello_init); > > > module_exit(hello_exit); > > > > > > /*mod2's Makfile*/ > > > #! /bin/bash > > > KERNEL=/usr/src/linux-headers-2.6.32-23-generic/ > > > obj-m := -DEXPORT_SYMTAB -DMODULE > > > obj-m := mod2.o > > > default: > > > make -C $(KERNEL) M=`pwd` modules > > > _______________________________________________ > > > Linux 内核开发中文邮件列表 > > > Linux-kernel在zh-kernel.org > > > http://zh-kernel.org/mailman/listinfo/linux-kernel > > > Linux 内核开发中文社区: http://zh-kernel.org > > > > > > > > -- > > regards > > Liu Aleaxander > > > > 去掉static 后还是不行 > > > ------------------------------ > > Message: 6 > Date: Mon, 26 Jul 2010 16:14:33 +0800 > From: Changli Gao > To: YaoJun > Cc: linux-kernel在zh-kernel.org > Subject: Re: EXPORT_SYMBOL的一个小问题 > Message-ID: > > Content-Type: text/plain; charset=GB2312 > > 2010/7/26 YaoJun : > > > > 去掉static 后还是不行 > > 去掉MODULE_LICENSE("Dual BSD/GPL");试试看。 > From adam8157在gmail.com Mon Jul 26 16:51:00 2010 From: adam8157在gmail.com (Adam Lee) Date: Mon, 26 Jul 2010 16:51:00 +0800 Subject: =?UTF-8?B?UmU6IExpbnV4LWtlcm5lbCDmkZjopoEsIOWNtyAzNiwg5Y+R5biDIDI2?= In-Reply-To: <1282351286.1526.7.camel@localhost> References: <1282351286.1526.7.camel@localhost> Message-ID: 我明白了, 这种烂标题和烂引用是因为订阅摘要的缘故... 恳请管理员取消该功能, 想只看摘要的可以去看存档... -- Regards, Adam Lee -------------------------------------------------- E-mail: adam8157在gmail.com Website: http://www.adam8157.info -------------------------------------------------- From xuchun0108在gmail.com Mon Jul 26 17:05:36 2010 From: xuchun0108在gmail.com (chun xu) Date: Mon, 26 Jul 2010 17:05:36 +0800 Subject: =?GB2312?B?UmU6IEVYUE9SVF9TWU1CT0y1xNK7uPbQoc7KzOI=?= In-Reply-To: References: Message-ID: You can use the following steps to check whethere the He1 is inside the module 1. 1. $grep He1 /proc/kallsyms, make sure He1 is in the kernel symbole table. 2. cat /proc/modules, make sure the address found by step 1 is inside the address space of module 1. 2010/7/26 YaoJun : > 在 2010年7月26日 下午4:14,Changli Gao 写道: > >> 2010/7/26 YaoJun : >> > >> > 去掉static 后还是不行 >> >> 去掉MODULE_LICENSE("Dual BSD/GPL");试试看。 >> >> -- >> Regards, >> Changli Gao(xiaosuo在gmail.com) >> > > 不是license 的问题。 > 按照 Document/kbuild/modules.txt 的描述 > 在 mod2 的makefile 里 设置 obj-y 或者 KBUILD_EXTRA_SYMBOLS 可以解决问题 > > #! /bin/bash > KERNEL= /lib/modules/2.6.32-23-generic/build/ > > #KBUILD_EXTRA_SYMBOLS := ~/mydriv/tp/mod1/Module.symvers > obj-y := ../mod1/ > obj-m := mod2.o > default: > make -C $(KERNEL) M=`pwd` modules > > 不知道有没有方法从 /proc/kallsyms 中获取 symbol, 因为加载 mod1 后,kallsyms 里面是有 He1() 符合的?? > _______________________________________________ > Linux 内核开发中文邮件列表 > Linux-kernel在zh-kernel.org > http://zh-kernel.org/mailman/listinfo/linux-kernel > Linux 内核开发中文社区: http://zh-kernel.org From junyiao110在gmail.com Mon Jul 26 17:22:49 2010 From: junyiao110在gmail.com (YaoJun) Date: Mon, 26 Jul 2010 17:22:49 +0800 Subject: =?UTF-8?B?UmU6IEVYUE9SVF9TWU1CT0znmoTkuIDkuKrlsI/pl67popg=?= In-Reply-To: References: Message-ID: mod1 没问题,He1 函数可以确定被导内核符号表里去了, 我已经找到的一个解决方案了,就是在 mod2 Makefile 中指定 mod1编译后 生存的符号文件Module.symvers文件, KBUILD_EXTRA_SYMBOLS := ~/mydriv/tp/mod1/Module.symvers 或者 obj-y := ../mod1/ # mod1 目录 具体在 Document/kbuild/module.txt 7.3 节有描述 thank all u for help. From xiaosuo在gmail.com Mon Jul 26 17:26:26 2010 From: xiaosuo在gmail.com (Changli Gao) Date: Mon, 26 Jul 2010 17:26:26 +0800 Subject: =?GB2312?B?UmU6IEVYUE9SVF9TWU1CT0y1xNK7uPbQoc7KzOI=?= In-Reply-To: References: Message-ID: 2010/7/26 YaoJun : > mod1 没问题,He1 函数可以确定被导内核符号表里去了, > > 我已经找到的一个解决方案了,就是在 mod2 Makefile 中指定 mod1编译后 生存的符号文件Module.symvers文件, > > KBUILD_EXTRA_SYMBOLS := ~/mydriv/tp/mod1/Module.symvers > 或者 > obj-y := ../mod1/ # mod1 目录 > > 具体在 Document/kbuild/module.txt 7.3 节有描述 > > thank all u for help. 你是说编译的时候报警告,而不是insmod的时候找不到? -- Regards, Changli Gao(xiaosuo在gmail.com) From yun10xiang在163.com Mon Jul 26 18:59:27 2010 From: yun10xiang在163.com (yun10xiang) Date: Mon, 26 Jul 2010 18:59:27 +0800 (CST) Subject: =?gbk?Q?linux_=C4=DA=B4=E6?= Message-ID: <4770497d.12627.12a0e683ecb.Coremail.yun10xiang@163.com> 程序注释中有这样的图: * pgd pte * | | * +--------+ +0 * | |-----> +------------+ +0 * +- - - - + +4 | h/w pt 0 | * | |-----> +------------+ +1024 * +--------+ +8 | h/w pt 1 | * | | +------------+ +2048 * +- - - - + | Linux pt 0 | * | | +------------+ +3072 * +--------+ | Linux pt 1 | * | | +------------+ +4096 linux使用二级页表,对PTE是不是后2K用于内存管理?也就是说linux是不是要给所有的页表创建二级页表? 但是为什么create_mapping->alloc_init_section创建页表的过程,只对不是1M对齐的创建了二级页表。对于 1M对齐的只使用一级页表。PTE不是linux需要使用后2K保存信息吗?? 对这个不是很明白? From xiyou.wangcong在gmail.com Mon Jul 26 22:03:15 2010 From: xiyou.wangcong在gmail.com (=?utf-8?Q?Am=C3=A9rico?= Wang) Date: Mon, 26 Jul 2010 22:03:15 +0800 Subject: =?utf-8?B?RVhQT1JUX1NZTUJPTOeahOS4gA==?= =?utf-8?B?5Liq5bCP6Zeu6aKY?= In-Reply-To: References: Message-ID: <20100726140315.GB3824@hack> On Mon, Jul 26, 2010 at 05:26:26PM +0800, Changli Gao wrote: >2010/7/26 YaoJun : >> mod1 没问题,He1 函数可以确定被导内核符号表里去了, >> >> 我已经找到的一个解决方案了,就是在 mod2 Makefile 中指定 mod1编译后 生存的符号文件Module.symvers文件, >> >> KBUILD_EXTRA_SYMBOLS := ~/mydriv/tp/mod1/Module.symvers >> 或者 >> obj-y := ../mod1/ # mod1 目录 >> >> 具体在 Document/kbuild/module.txt 7.3 节有描述 >> >> thank all u for help. > >你是说编译的时候报警告,而不是insmod的时候找不到? > 他应该是说insmod的时候出错。;) 而且楼主设置了CONFIG_MODVERSIONS=y。 这么设计是有道理的,因为你自己的一个外部模块需要另外一个外部模块符号, 而且CONFIG_MODVERSIONS=y打开了,CRC只能在另外一个模块的Module.symvers 里找到了,内核的Module.symvers是没有的。可以看一下scripts/mod/modpost.c。 BTW,既然楼主设置了CONFIG_MODVERSIONS=y,你可以检查一下模块目录下的*.mod.c。;) -- Live like a child, think like the god. From gong.liheng在gmail.com Mon Jul 26 23:46:55 2010 From: gong.liheng在gmail.com (Gong Liheng) Date: Mon, 26 Jul 2010 08:46:55 -0700 Subject: =?GB2312?B?UmU6IExpbnV4LWtlcm5lbCDVqtKqLCC+7SAzNiwgt6KyvCAyNg==?= In-Reply-To: References: Message-ID: 回复YaoJun关于EXPORT_SYMBOL的问题。 我用的系统是virtual box上的Ubuntu 10.04. 在目录/usr/src/'uname -r'(generic)/下有个文件叫做Modules.symvers 这是内核在编译过程中所有用EXPORT_SYMBOL导出来的symbol( Module.symvers contains all exported symbols from the kernel and compiled modules)。 所以解决你的问题的方式我知道的有三种: 第一种方法,你编译module1的时候会在module1所在的目录下生成一个文件叫做Module.symvers,将这个文件拷贝到你的module2所在的目录,然后编译module2 第二种方法,在module1和module2共同的父目录里面添加Makefile。具体可见 /Documentation/kbuild/moudles.txt的7.3节 还有第三种不推荐的方法,就是把你的module1的Module.symvers里面的内容添加到你的 /usr/src/`uname -r`generic/Modules.symvers里面 Thanks Liheng 在 2010年7月26日 上午1:32, 写道: > > 2. EXPORT_SYMBOL的一个小问题 (YaoJun) > 3. 答复: EXPORT_SYMBOL的一个小问题 (jack wang) > 4. Re: EXPORT_SYMBOL的一个小问题 (Liu Aleaxander) > 5. Re: EXPORT_SYMBOL的一个小问题 (YaoJun) > 6. Re: EXPORT_SYMBOL的一个小问题 (Changli Gao) > 7. Re: EXPORT_SYMBOL的一个小问题 (YaoJun) > > > ---------------------------------------------------------------------- > > Message: 1 > Date: Mon, 26 Jul 2010 13:56:51 +0800 > From: bekars > To: oliver yang > Cc: Linux-kernel在zh-kernel.org > Subject: Re: 82576的驱动性能问题 > Message-ID: > > > > Content-Type: text/plain; charset=GB2312 > > 在 2010年7月26日 下午1:51,oliver yang 写道: > > > 在 2010年7月26日 下午1:46,蓝天宇 写道: > > > .... 这部分放在驱动里做?个人感觉应该在协议栈做更合理。没有看过相应代码,发出来看看。 > > > > 以前是协议栈做的。很多网卡都支持LRO。 > > > > 这是一种hardware offload技术,用于降低CPU的占用率,从而可以在高负载情况下,网卡的性能的可扩展性好一些。 > > > > 类似的技术有hardware checksum, TSO, TOE等等, 都是hardware offload技术。 > > > > > > -- > > Cheers, > > > > Oliver Yang > > > > Twitter: http://twitter.com/yangoliver > > Blog: http://blog.csdn.net/yayong > > -------------------------------------------------------------------- > > An OpenSolaris Developer > > > > 但是实际上这块是在软中断里面做的吧。 > > 这个和在协议栈里面做只是减少了查路由的操作吧, > 但是还加入了一个hash链表的查找,这样能提高多少性能呢? > > 还是说82576的硬件支持一些高级的功能,比如分光什么的,通过在驱动中这样做可以更好的发挥硬件性能? > > ------------------------------ > > Message: 2 > Date: Mon, 26 Jul 2010 15:56:30 +0800 > From: YaoJun > To: linux-kernel在zh-kernel.org > Subject: EXPORT_SYMBOL的一个小问题 > Message-ID: > > Content-Type: text/plain; charset=UTF-8 > > 现有两个模块, mod1, mod2 > mod2中需要使用mod1中的函数He1, 所以我在mod1的最后加了 > EXPORT_SYMBOL(He1); > > 然后依次加载mod1,mod2, insmod mod2 时提示 “mod2: no symbol version for He1; mod2: > Unkown symbol He1” > google 下,知道要加 -DEXPORT_SYMTAB 编译选项,可添加后不成功,怀疑我的 Makefile 写的不对,下面是源码 > 希望前辈们指导下 Makefile 哪里错了。# 我是在源码树外面编译驱动模块的 > > > /*mod1.c*/ > #include > #include > MODULE_LICENSE("Dual BSD/GPL"); > static int He1(void) > { > printk(KERN_INFO "He1..\n"); > return 0; > } > EXPORT_SYMBOL(He1); > > static int __init hello_init(void) > { > printk(KERN_ALERT "Hello, world\n"); > return 0; > } > > static void __exit hello_exit(void) > { > printk(KERN_ALERT "Goodbye, cruel world\n"); > } > > module_init(hello_init); > module_exit(hello_exit); > > /*mod1's Makefile*/ > #! /bin/bash > KERNEL=/usr/src/linux-headers-2.6.32-23-generic/ > > obj-m := -DEXPORT_SYMTAB -DMODULE > obj-m := mod1.o > default: > make -C $(KERNEL) M=`pwd` modules > > -------------------------------------------------------------- > > /*mod2.c*/ > > #include > #include > MODULE_LICENSE("Dual BSD/GPL"); > > static int He2(void) > { > > extern int He1(void); > He1(); > printk(KERN_INFO "He2..\n"); > return 0; > > } > > static int __init hello_init(void) > { > > He2(); > > printk(KERN_ALERT "Hello, world\n"); > return 0; > } > > static void __exit hello_exit(void) > { > printk(KERN_ALERT "Goodbye, cruel world\n"); > } > > module_init(hello_init); > module_exit(hello_exit); > > /*mod2's Makfile*/ > #! /bin/bash > KERNEL=/usr/src/linux-headers-2.6.32-23-generic/ > obj-m := -DEXPORT_SYMTAB -DMODULE > obj-m := mod2.o > default: > make -C $(KERNEL) M=`pwd` modules > > > ------------------------------ > > Message: 3 > Date: Mon, 26 Jul 2010 16:02:43 +0800 > From: "jack wang" > To: "'YaoJun'" , > Subject: 答复: EXPORT_SYMBOL的一个小问题 > Message-ID: <894C7A7D47384E5FB82E53FD8C7BE443在usish.com.cn> > Content-Type: text/plain; charset="gb2312" > > > 现有两个模块, mod1, mod2 > mod2中需要使用mod1中的函数He1, 所以我在mod1的最后加了 > EXPORT_SYMBOL(He1); > > 然后依次加载mod1,mod2, insmod mod2 时提示 “mod2: no symbol version for > He1; mod2: > Unkown symbol He1” > google 下,知道要加 -DEXPORT_SYMTAB 编译选项,可添加后不成功,怀疑我的 > Makefile 写的不对,下面是源码 > 希望前辈们指导下 Makefile 哪里错了。# 我是在源码树外面编译驱动模块的 > > > /*mod1.c*/ > #include > #include > MODULE_LICENSE("Dual BSD/GPL"); > static int He1(void) ///////////static 要去掉吧! > { > printk(KERN_INFO "He1..\n"); > return 0; > } > EXPORT_SYMBOL(He1); > > static int __init hello_init(void) > { > printk(KERN_ALERT "Hello, world\n"); > return 0; > } > > static void __exit hello_exit(void) > { > printk(KERN_ALERT "Goodbye, cruel world\n"); > } > > module_init(hello_init); > module_exit(hello_exit); > > /*mod1's Makefile*/ > #! /bin/bash > KERNEL=/usr/src/linux-headers-2.6.32-23-generic/ > > obj-m := -DEXPORT_SYMTAB -DMODULE > obj-m := mod1.o > default: > make -C $(KERNEL) M=`pwd` modules > > -------------------------------------------------------------- > > /*mod2.c*/ > > #include > #include > MODULE_LICENSE("Dual BSD/GPL"); > > static int He2(void) > { > > extern int He1(void); > He1(); > printk(KERN_INFO "He2..\n"); > return 0; > > } > > static int __init hello_init(void) > { > > He2(); > > printk(KERN_ALERT "Hello, world\n"); > return 0; > } > > static void __exit hello_exit(void) > { > printk(KERN_ALERT "Goodbye, cruel world\n"); > } > > module_init(hello_init); > module_exit(hello_exit); > > /*mod2's Makfile*/ > #! /bin/bash > KERNEL=/usr/src/linux-headers-2.6.32-23-generic/ > obj-m := -DEXPORT_SYMTAB -DMODULE > obj-m := mod2.o > default: > make -C $(KERNEL) M=`pwd` modules > _______________________________________________ > Linux 内核开发中文邮件列表 > Linux-kernel在zh-kernel.org > http://zh-kernel.org/mailman/listinfo/linux-kernel > Linux 内核开发中文社区: http://zh-kernel.org > > > > ------------------------------ > > Message: 4 > Date: Mon, 26 Jul 2010 16:04:03 +0800 > From: Liu Aleaxander > To: YaoJun > Cc: linux-kernel在zh-kernel.org > Subject: Re: EXPORT_SYMBOL的一个小问题 > Message-ID: > > > > Content-Type: text/plain; charset=GB2312 > > 2010/7/26 YaoJun : > > 现有两个模块, mod1, mod2 > > mod2中需要使用mod1中的函数He1, 所以我在mod1的最后加了 > > EXPORT_SYMBOL(He1); > > > > 然后依次加载mod1,mod2, insmod mod2 时提示 "mod2: no symbol version for He1; mod2: > > Unkown symbol He1" > > google 下,知道要加 -DEXPORT_SYMTAB 编译选项,可添加后不成功,怀疑我的 Makefile 写的不对,下面是源码 > > 希望前辈们指导下 Makefile 哪里错了。# 我是在源码树外面编译驱动模块的 > > > > > > /*mod1.c*/ > > #include > > #include > > MODULE_LICENSE("Dual BSD/GPL"); > > static int He1(void) > 把 static 去掉试试。。 > > > { > > printk(KERN_INFO "He1..\n"); > > return 0; > > } > > EXPORT_SYMBOL(He1); > > > > static int __init hello_init(void) > > { > > printk(KERN_ALERT "Hello, world\n"); > > return 0; > > } > > > > static void __exit hello_exit(void) > > { > > printk(KERN_ALERT "Goodbye, cruel world\n"); > > } > > > > module_init(hello_init); > > module_exit(hello_exit); > > > > /*mod1's Makefile*/ > > #! /bin/bash > > KERNEL=/usr/src/linux-headers-2.6.32-23-generic/ > > > > obj-m := -DEXPORT_SYMTAB -DMODULE > > obj-m := mod1.o > > default: > > make -C $(KERNEL) M=`pwd` modules > > > > -------------------------------------------------------------- > > > > /*mod2.c*/ > > > > #include > > #include > > MODULE_LICENSE("Dual BSD/GPL"); > > > > static int He2(void) > > { > > > > extern int He1(void); > > He1(); > > printk(KERN_INFO "He2..\n"); > > return 0; > > > > } > > > > static int __init hello_init(void) > > { > > > > He2(); > > > > printk(KERN_ALERT "Hello, world\n"); > > return 0; > > } > > > > static void __exit hello_exit(void) > > { > > printk(KERN_ALERT "Goodbye, cruel world\n"); > > } > > > > module_init(hello_init); > > module_exit(hello_exit); > > > > /*mod2's Makfile*/ > > #! /bin/bash > > KERNEL=/usr/src/linux-headers-2.6.32-23-generic/ > > obj-m := -DEXPORT_SYMTAB -DMODULE > > obj-m := mod2.o > > default: > > make -C $(KERNEL) M=`pwd` modules > > _______________________________________________ > > Linux 内核开发中文邮件列表 > > Linux-kernel在zh-kernel.org > > http://zh-kernel.org/mailman/listinfo/linux-kernel > > Linux 内核开发中文社区: http://zh-kernel.org > > > > -- > regards > Liu Aleaxander > > > ------------------------------ > > Message: 5 > Date: Mon, 26 Jul 2010 16:12:18 +0800 > From: YaoJun > To: Liu Aleaxander > Cc: linux-kernel在zh-kernel.org > Subject: Re: EXPORT_SYMBOL的一个小问题 > Message-ID: > > Content-Type: text/plain; charset=UTF-8 > > 在 2010年7月26日 下午4:04,Liu Aleaxander 写道: > > > 2010/7/26 YaoJun : > > > 现有两个模块, mod1, mod2 > > > mod2中需要使用mod1中的函数He1, 所以我在mod1的最后加了 > > > EXPORT_SYMBOL(He1); > > > > > > 然后依次加载mod1,mod2, insmod mod2 时提示 "mod2: no symbol version for He1; > mod2: > > > Unkown symbol He1" > > > google 下,知道要加 -DEXPORT_SYMTAB 编译选项,可添加后不成功,怀疑我的 Makefile 写的不对,下面是源码 > > > 希望前辈们指导下 Makefile 哪里错了。# 我是在源码树外面编译驱动模块的 > > > > > > > > > /*mod1.c*/ > > > #include > > > #include > > > MODULE_LICENSE("Dual BSD/GPL"); > > > static int He1(void) > > 把 static 去掉试试。。 > > > > > { > > > printk(KERN_INFO "He1..\n"); > > > return 0; > > > } > > > EXPORT_SYMBOL(He1); > > > > > > static int __init hello_init(void) > > > { > > > printk(KERN_ALERT "Hello, world\n"); > > > return 0; > > > } > > > > > > static void __exit hello_exit(void) > > > { > > > printk(KERN_ALERT "Goodbye, cruel world\n"); > > > } > > > > > > module_init(hello_init); > > > module_exit(hello_exit); > > > > > > /*mod1's Makefile*/ > > > #! /bin/bash > > > KERNEL=/usr/src/linux-headers-2.6.32-23-generic/ > > > > > > obj-m := -DEXPORT_SYMTAB -DMODULE > > > obj-m := mod1.o > > > default: > > > make -C $(KERNEL) M=`pwd` modules > > > > > > -------------------------------------------------------------- > > > > > > /*mod2.c*/ > > > > > > #include > > > #include > > > MODULE_LICENSE("Dual BSD/GPL"); > > > > > > static int He2(void) > > > { > > > > > > extern int He1(void); > > > He1(); > > > printk(KERN_INFO "He2..\n"); > > > return 0; > > > > > > } > > > > > > static int __init hello_init(void) > > > { > > > > > > He2(); > > > > > > printk(KERN_ALERT "Hello, world\n"); > > > return 0; > > > } > > > > > > static void __exit hello_exit(void) > > > { > > > printk(KERN_ALERT "Goodbye, cruel world\n"); > > > } > > > > > > module_init(hello_init); > > > module_exit(hello_exit); > > > > > > /*mod2's Makfile*/ > > > #! /bin/bash > > > KERNEL=/usr/src/linux-headers-2.6.32-23-generic/ > > > obj-m := -DEXPORT_SYMTAB -DMODULE > > > obj-m := mod2.o > > > default: > > > make -C $(KERNEL) M=`pwd` modules > > > _______________________________________________ > > > Linux 内核开发中文邮件列表 > > > Linux-kernel在zh-kernel.org > > > http://zh-kernel.org/mailman/listinfo/linux-kernel > > > Linux 内核开发中文社区: http://zh-kernel.org > > > > > > > > -- > > regards > > Liu Aleaxander > > > > 去掉static 后还是不行 > > > ------------------------------ > > Message: 6 > Date: Mon, 26 Jul 2010 16:14:33 +0800 > From: Changli Gao > To: YaoJun > Cc: linux-kernel在zh-kernel.org > Subject: Re: EXPORT_SYMBOL的一个小问题 > Message-ID: > > Content-Type: text/plain; charset=GB2312 > > 2010/7/26 YaoJun : > > > > 去掉static 后还是不行 > > 去掉MODULE_LICENSE("Dual BSD/GPL");试试看。 > > -- > Regards, > Changli Gao(xiaosuo在gmail.com) > > > ------------------------------ > > Message: 7 > Date: Mon, 26 Jul 2010 16:32:54 +0800 > From: YaoJun > To: Changli Gao > Cc: linux-kernel在zh-kernel.org > Subject: Re: EXPORT_SYMBOL的一个小问题 > Message-ID: > > Content-Type: text/plain; charset=UTF-8 > > 在 2010年7月26日 下午4:14,Changli Gao 写道: > > > 2010/7/26 YaoJun : > > > > > > 去掉static 后还是不行 > > > > 去掉MODULE_LICENSE("Dual BSD/GPL");试试看。 > > > > -- > > Regards, > > Changli Gao(xiaosuo在gmail.com) > > > > 不是license 的问题。 > 按照 Document/kbuild/modules.txt 的描述 > 在 mod2 的makefile 里 设置 obj-y 或者 KBUILD_EXTRA_SYMBOLS 可以解决问题 > > #! /bin/bash > KERNEL= /lib/modules/2.6.32-23-generic/build/ > > #KBUILD_EXTRA_SYMBOLS := ~/mydriv/tp/mod1/Module.symvers > obj-y := ../mod1/ > obj-m := mod2.o > default: > make -C $(KERNEL) M=`pwd` modules > > 不知道有没有方法从 /proc/kallsyms 中获取 symbol, 因为加载 mod1 后,kallsyms 里面是有 He1() 符合的?? > > ------------------------------ > > _______________________________________________ > Linux内核开发中文邮件列表 > Linux-kernel在zh-kernel.org > http://zh-kernel.org/mailman/listinfo/linux-kernel > Linux 内核开发中文社区: http://zh-kernel.org > > 结束Linux-kernel 摘要, 卷 36, 发布 26 > ******************************************** > From zjlmchen在gmail.com Tue Jul 27 09:54:21 2010 From: zjlmchen在gmail.com (lm chen) Date: Tue, 27 Jul 2010 09:54:21 +0800 Subject: =?GB2312?B?sbG+qbn6uLuwsrmry77V0Ma4?= Message-ID: hello, all 国富安招聘开发人员,公司很有诚意,目前有下列两种职位 职位1,高级职位(架构师) 熟悉linux内核技术 或者熟悉存储管理、查询优化、事务处理、等数据库内核技术(或者熟悉结构化查询语言核心代码实现)的更好 职位2,开发工程师 对应聘人员的要求是基础扎实并有潜质 当然你现在就能达到fix开源代码或者kernel bug的更好:),如果现在达不到,公司会给一定的适应期 系统级核心代码编程 参与开源社区并贡献代码 任职资格: 1、大学本科以上学历,三年以上编程经验; 2、精通C语言,熟悉多线程,并发处理; 3、对算法设计/数据结构有深刻的理解; 4、熟悉网络编程; 发送邮件chen1533在gmail.com thanks From rjiejie在gmail.com Tue Jul 27 22:18:12 2010 From: rjiejie在gmail.com (Grass) Date: Tue, 27 Jul 2010 22:18:12 +0800 Subject: =?GB2312?B?x+u9zNPQudhodWF3ZWkgRTE4MCBVU0LK/b7dv6jJz834zsrM4g==?= Message-ID: huawei 的E180拨号上网, 内核2.6.30,支持此设备的。 同时也加在了正常的驱动,并且能够通过ttyUSB0发送AT指令了。 刚接触USB 3G卡。。。小弟不是很清楚,让这设备如何获取IP地址,如何上网?? 初步查了下,好像可以使用pppd来拨号上网??是否需要额外的pppd工具? 请各位大侠不吝赐教。。。感激不尽。 From 21cnbao在gmail.com Wed Jul 28 08:05:25 2010 From: 21cnbao在gmail.com (Barry Song) Date: Wed, 28 Jul 2010 08:05:25 +0800 Subject: =?UTF-8?B?UmU6IOivt+aVmeacieWFs2h1YXdlaSBFMTgwIFVTQuaVsOaNruWNoeS4iue9kemXrumimA==?= In-Reply-To: References: Message-ID: 第一步,拨号(用wvdial之类拨号软件): #wvdial –> WvDial: Internet dialer version 1.56 –> Cannot get information for serial port. –> Initializing modem. –> Sending: ATZ ATZ OK –> Sending: ATZ ATZ OK –> Sending: ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0 ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0 OK –> Modem initialized. –> Sending: ATDT*99***2# –> Waiting for carrier. ATDT*99***2# CONNECT –> Carrier detected. Starting PPP immediately. –> Starting pppd at Wed Feb 13 18:32:57 2008 –> Pid of pppd: 5514 –> Using interface ppp0 –> pppd: v+ –> pppd: v+ –> pppd: v+ –> pppd: v+ –> pppd: v+ –> pppd: v+ –> pppd: v+ –> pppd: v+ –> local IP address 124.197.XX.XX –> pppd: v+ –> remote IP address 10.64.XX.XX –> pppd: v+ –> primary DNS address 202.65.247.152 –> pppd: v+ –> secondary DNS address 202.65.247.151 –> pppd: v+ 看看效果: #ifconfig ppp0 ppp0 Link encap:Point-to-Point Protocol inet addr:124.197.70.236 P-t-P:10.64.64.64 Mask:255.255.255.255 UP POINTOPOINT RUNNING NOARP MULTICAST MTU:1500 Metric:1 RX packets:5745 errors:0 dropped:0 overruns:0 frame:0 TX packets:4740 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:3 RX bytes:7658609 (7.3 MiB) TX bytes:281511 (274.9 KiB) 2010/7/27 Grass : > huawei 的E180拨号上网, > 内核2.6.30,支持此设备的。 > > 同时也加在了正常的驱动,并且能够通过ttyUSB0发送AT指令了。 > > 刚接触USB 3G卡。。。小弟不是很清楚,让这设备如何获取IP地址,如何上网?? > > 初步查了下,好像可以使用pppd来拨号上网??是否需要额外的pppd工具? > > 请各位大侠不吝赐教。。。感激不尽。 > _______________________________________________ > Linux 内核开发中文邮件列表 > Linux-kernel在zh-kernel.org > http://zh-kernel.org/mailman/listinfo/linux-kernel > Linux 内核开发中文社区: http://zh-kernel.org From jiang.adam在gmail.com Wed Jul 28 10:18:57 2010 From: jiang.adam在gmail.com (Adam Jiang) Date: Wed, 28 Jul 2010 11:18:57 +0900 Subject: =?GB2312?B?UmU6IMfrvczT0LnYaHVhd2VpIEUxODAgVVNCyv2+3b+oyc/N+M7KzOI=?= In-Reply-To: References: Message-ID: 2010/7/27 Grass : > huawei 的E180拨号上网, > 内核2.6.30,支持此设备的。 > > 同时也加在了正常的驱动,并且能够通过ttyUSB0发送AT指令了。 > > 刚接触USB 3G卡。。。小弟不是很清楚,让这设备如何获取IP地址,如何上网?? > > 初步查了下,好像可以使用pppd来拨号上网??是否需要额外的pppd工具? > 我使用过NEC出的一块HSPA的3G卡,当时我搞错了以为它是华为生产的,呵呵。 关于配置,有一篇博客或许对你有帮助。 http://www.adamjiang.com/blog/archives/102 /大头阿当 > 请各位大侠不吝赐教。。。感激不尽。 > _______________________________________________ > Linux 内核开发中文邮件列表 > Linux-kernel在zh-kernel.org > http://zh-kernel.org/mailman/listinfo/linux-kernel > Linux 内核开发中文社区: http://zh-kernel.org -- Adam Jiang ----------------------------------- e-mail:jiang.adam在gmail.com http://www.adamjiang.com ----------------------------------- From junyiao110在gmail.com Wed Jul 28 12:37:08 2010 From: junyiao110在gmail.com (YaoJun) Date: Wed, 28 Jul 2010 12:37:08 +0800 Subject: =?UTF-8?B?5aaC5L2V6LCD6K+V6amx5Yqo?= Message-ID: 我在自己的机子上写了个驱动,然后不知道该怎么调试, 我试过 用 qemu 的 linux boot, 直接运行 机子上的 vmlinux和initrd 可不成功。 有什么好办法麻? From weijiang在mail.ustc.edu.cn Wed Jul 28 14:56:33 2010 From: weijiang在mail.ustc.edu.cn (weijiang在mail.ustc.edu.cn) Date: Wed, 28 Jul 2010 14:56:33 +0800 (CST) Subject: =?GBK?B?yOe6ztfU08my2df30ru/6dLRvq3J6sfrs8m5prXEu7qz5cf4yse38WNhY2hlPw==?= Message-ID: <10741748.82001280300193721.JavaMail.coremail@mailweb> 各位, 大家好!我想通过某个内核接口来控制某一块已经申请成功的内存区域是否cache,我查了一些资料,应该是设置页表的属性项,我的cpu平台是arm,代码如下: static int exmap_set_armmmu(unsigned long virt, unsigned long phys, unsigned long size) { long off; unsigned long sz_left; pmd_t *pmdp; pte_t *ptep; printk(KERN_DEBUG "davincidsp: mapping in ARM MMU, v=0x%08lx, p=0x%08lx, sz=0x%lx\n", virt, phys, size); pmdp = pmd_offset(pgd_offset_k(virt), virt); if (pmd_none(*pmdp)) { ptep = pte_alloc_one_kernel(&init_mm, 0); if (ptep == NULL) return -ENOMEM; /* note: two PMDs will be set */ pmd_populate_kernel(&init_mm, pmdp, ptep); } off = phys - virt; for (sz_left = size; sz_left >= PAGE_SIZE; sz_left -= PAGE_SIZE, virt += PAGE_SIZE) { ptep = pte_offset_kernel(pmdp, virt); set_pte(ptep, pfn_pte((virt + off) >> PAGE_SHIFT, pgprot_noncached(pgprot_kernel))); } if (sz_left) BUG(); return 0; } 代码期待的目标是将虚拟地址为virt(物理地址phys=virt_to_phys(virt)),长度为size的这一块内存区域设为非cache访问,这一块内存区域为任意已分配的内存区域。上面的代码并不能达到我的目的,也就是说执行以后这一块内存区域仍然是cache的。 请各位不吝赐教,指出代码中的错误或者纰漏。 谢谢各位! 姜 维 2010年7月28日 From rjiejie在gmail.com Thu Jul 29 00:32:24 2010 From: rjiejie在gmail.com (Grass) Date: Thu, 29 Jul 2010 00:32:24 +0800 Subject: =?GB2312?B?UmU6IMfrvczT0LnYaHVhd2VpIEUxODAgVVNCyv2+3b+oyc/N+M7KzOI=?= In-Reply-To: References: Message-ID: 我当时也查了下,貌似可以用WVDIAL,那我设备不支持这个软件,还需要移植到我的设备上了。。。。 在 2010年7月28日 上午10:18,Adam Jiang 写道: > 2010/7/27 Grass : > > huawei 的E180拨号上网, > > 内核2.6.30,支持此设备的。 > > > > 同时也加在了正常的驱动,并且能够通过ttyUSB0发送AT指令了。 > > > > 刚接触USB 3G卡。。。小弟不是很清楚,让这设备如何获取IP地址,如何上网?? > > > > 初步查了下,好像可以使用pppd来拨号上网??是否需要额外的pppd工具? > > > > 我使用过NEC出的一块HSPA的3G卡,当时我搞错了以为它是华为生产的,呵呵。 > 关于配置,有一篇博客或许对你有帮助。 > > http://www.adamjiang.com/blog/archives/102 > > /大头阿当 > > > 请各位大侠不吝赐教。。。感激不尽。 > > _______________________________________________ > > Linux 内核开发中文邮件列表 > > Linux-kernel在zh-kernel.org > > http://zh-kernel.org/mailman/listinfo/linux-kernel > > Linux 内核开发中文社区: http://zh-kernel.org > > > > -- > Adam Jiang > ----------------------------------- > e-mail:jiang.adam在gmail.com > http://www.adamjiang.com > ----------------------------------- > From rjiejie在gmail.com Thu Jul 29 00:40:13 2010 From: rjiejie在gmail.com (Grass) Date: Thu, 29 Jul 2010 00:40:13 +0800 Subject: =?GB2312?B?UmU6IMfrvczT0LnYaHVhd2VpIEUxODAgVVNCyv2+3b+oyc/N+M7KzOI=?= In-Reply-To: References: Message-ID: 谢谢宋老师和Adam Jiang的答复,先看看这博客,貌似wvdial移植还需要动点刀 在 2010年7月29日 上午12:32,Grass 写道: > 我当时也查了下,貌似可以用WVDIAL,那我设备不支持这个软件,还需要移植到我的设备上了。。。。 > > 在 2010年7月28日 上午10:18,Adam Jiang 写道: > > 2010/7/27 Grass : >> > huawei 的E180拨号上网, >> > 内核2.6.30,支持此设备的。 >> > >> > 同时也加在了正常的驱动,并且能够通过ttyUSB0发送AT指令了。 >> > >> > 刚接触USB 3G卡。。。小弟不是很清楚,让这设备如何获取IP地址,如何上网?? >> > >> > 初步查了下,好像可以使用pppd来拨号上网??是否需要额外的pppd工具? >> > >> >> 我使用过NEC出的一块HSPA的3G卡,当时我搞错了以为它是华为生产的,呵呵。 >> 关于配置,有一篇博客或许对你有帮助。 >> >> http://www.adamjiang.com/blog/archives/102 >> >> /大头阿当 >> >> > 请各位大侠不吝赐教。。。感激不尽。 >> > _______________________________________________ >> > Linux 内核开发中文邮件列表 >> > Linux-kernel在zh-kernel.org >> > http://zh-kernel.org/mailman/listinfo/linux-kernel >> > Linux 内核开发中文社区: http://zh-kernel.org >> >> >> >> -- >> Adam Jiang >> ----------------------------------- >> e-mail:jiang.adam在gmail.com >> http://www.adamjiang.com >> ----------------------------------- >> > > From 21cnbao在gmail.com Thu Jul 29 08:45:24 2010 From: 21cnbao在gmail.com (Barry Song) Date: Thu, 29 Jul 2010 08:45:24 +0800 Subject: =?UTF-8?B?UmU6IOWmguS9leiHqueUseaTjeS9nOS4gOWdl+W3sue7j+eUs+ivt+aIkOWKn+eahOe8kw==?= =?UTF-8?B?5Yay5Yy65piv5ZCmY2FjaGU/?= In-Reply-To: <10741748.82001280300193721.JavaMail.coremail@mailweb> References: <10741748.82001280300193721.JavaMail.coremail@mailweb> Message-ID: 为什么要做这么多啊,直接用标准好了。 void *dma_alloc_coherent(struct device *dev, size_t size, dma_addr_t *dma_handle, int flag); void dma_free_coherent(struct device *dev, size_t size, void *vaddr, dma_addr_t dma_handle); 2010/7/28 : > 各位, >  大家好!我想通过某个内核接口来控制某一块已经申请成功的内存区域是否cache,我查了一些资料,应该是设置页表的属性项,我的cpu平台是arm,代码如下: > >   static int exmap_set_armmmu(unsigned long virt, unsigned long phys, >                            unsigned long size) > { >        long off; >        unsigned long sz_left; >        pmd_t *pmdp; >        pte_t *ptep; > >        printk(KERN_DEBUG >               "davincidsp: mapping in ARM MMU, v=0x%08lx, p=0x%08lx, sz=0x%lx\n", >               virt, phys, size); > >        pmdp = pmd_offset(pgd_offset_k(virt), virt); >        if (pmd_none(*pmdp)) { >                ptep = pte_alloc_one_kernel(&init_mm, 0); >                if (ptep == NULL) >                        return -ENOMEM; >                /* note: two PMDs will be set  */ >                pmd_populate_kernel(&init_mm, pmdp, ptep); >        } > >        off = phys - virt; >        for (sz_left = size; >             sz_left >= PAGE_SIZE; >             sz_left -= PAGE_SIZE, virt += PAGE_SIZE) { >                ptep = pte_offset_kernel(pmdp, virt); >                set_pte(ptep, pfn_pte((virt + off) >> PAGE_SHIFT, pgprot_noncached(pgprot_kernel))); > >        } >        if (sz_left) >                BUG(); > >        return 0; > } >  代码期待的目标是将虚拟地址为virt(物理地址phys=virt_to_phys(virt)),长度为size的这一块内存区域设为非cache访问,这一块内存区域为任意已分配的内存区域。上面的代码并不能达到我的目的,也就是说执行以后这一块内存区域仍然是cache的。 >  请各位不吝赐教,指出代码中的错误或者纰漏。 >  谢谢各位! >                        姜 维 >                       2010年7月28日 > > > _______________________________________________ > Linux 内核开发中文邮件列表 > Linux-kernel在zh-kernel.org > http://zh-kernel.org/mailman/listinfo/linux-kernel > Linux 内核开发中文社区: http://zh-kernel.org From jiang.adam在gmail.com Thu Jul 29 09:27:28 2010 From: jiang.adam在gmail.com (Adam Jiang) Date: Thu, 29 Jul 2010 10:27:28 +0900 Subject: =?GB2312?B?UmU6IMfrvczT0LnYaHVhd2VpIEUxODAgVVNCyv2+3b+oyc/N+M7KzOI=?= In-Reply-To: References: Message-ID: 2010/7/29 Grass : > 谢谢宋老师和Adam Jiang的答复,先看看这博客,貌似wvdial移植还需要动点刀 你可能并不需要wvdial这么复杂的软件,因为一般来说pppd + chat就可以建立ppp连接。 看看内核的Documentation里面关于pppd的文档就明白了。 /大头阿当 > > 在 2010年7月29日 上午12:32,Grass 写道: >> >> 我当时也查了下,貌似可以用WVDIAL,那我设备不支持这个软件,还需要移植到我的设备上了。。。。 >> >> 在 2010年7月28日 上午10:18,Adam Jiang 写道: >>> >>> 2010/7/27 Grass : >>> > huawei 的E180拨号上网, >>> > 内核2.6.30,支持此设备的。 >>> > >>> > 同时也加在了正常的驱动,并且能够通过ttyUSB0发送AT指令了。 >>> > >>> > 刚接触USB 3G卡。。。小弟不是很清楚,让这设备如何获取IP地址,如何上网?? >>> > >>> > 初步查了下,好像可以使用pppd来拨号上网??是否需要额外的pppd工具? >>> > >>> >>> 我使用过NEC出的一块HSPA的3G卡,当时我搞错了以为它是华为生产的,呵呵。 >>> 关于配置,有一篇博客或许对你有帮助。 >>> >>> http://www.adamjiang.com/blog/archives/102 >>> >>> /大头阿当 >>> >>> > 请各位大侠不吝赐教。。。感激不尽。 >>> > _______________________________________________ >>> > Linux 内核开发中文邮件列表 >>> > Linux-kernel在zh-kernel.org >>> > http://zh-kernel.org/mailman/listinfo/linux-kernel >>> > Linux 内核开发中文社区: http://zh-kernel.org >>> >>> >>> >>> -- >>> Adam Jiang >>> ----------------------------------- >>> e-mail:jiang.adam在gmail.com >>> http://www.adamjiang.com >>> ----------------------------------- >> > > -- Adam Jiang ----------------------------------- e-mail:jiang.adam在gmail.com http://www.adamjiang.com ----------------------------------- From eht25g在gmail.com Thu Jul 29 09:37:05 2010 From: eht25g在gmail.com (=?UTF-8?B?5p2O5oy6?=) Date: Thu, 29 Jul 2010 09:37:05 +0800 Subject: =?UTF-8?B?UmU6IOivt+aVmeacieWFs2h1YXdlaSBFMTgwIFVTQuaVsOaNruWNoeS4iue9kemXrumimA==?= In-Reply-To: References: Message-ID: 直接用pppd就可以的,不用移植wvdial这么麻烦。 比如我的就是这样的 pppd connect 'chat -v "" "AT" "" "ATDT#777 CONNECT"' user CARD password CARDi /dev/ttyUSB0 460800 nodetach crtscts debug usepeerdns defaultroute 2010/7/29 Adam Jiang > 2010/7/29 Grass : > > 谢谢宋老师和Adam Jiang的答复,先看看这博客,貌似wvdial移植还需要动点刀 > > 你可能并不需要wvdial这么复杂的软件,因为一般来说pppd + chat就可以建立ppp连接。 > 看看内核的Documentation里面关于pppd的文档就明白了。 > > /大头阿当 > > > > > 在 2010年7月29日 上午12:32,Grass 写道: > >> > >> 我当时也查了下,貌似可以用WVDIAL,那我设备不支持这个软件,还需要移植到我的设备上了。。。。 > >> > >> 在 2010年7月28日 上午10:18,Adam Jiang 写道: > >>> > >>> 2010/7/27 Grass : > >>> > huawei 的E180拨号上网, > >>> > 内核2.6.30,支持此设备的。 > >>> > > >>> > 同时也加在了正常的驱动,并且能够通过ttyUSB0发送AT指令了。 > >>> > > >>> > 刚接触USB 3G卡。。。小弟不是很清楚,让这设备如何获取IP地址,如何上网?? > >>> > > >>> > 初步查了下,好像可以使用pppd来拨号上网??是否需要额外的pppd工具? > >>> > > >>> > >>> 我使用过NEC出的一块HSPA的3G卡,当时我搞错了以为它是华为生产的,呵呵。 > >>> 关于配置,有一篇博客或许对你有帮助。 > >>> > >>> http://www.adamjiang.com/blog/archives/102 > >>> > >>> /大头阿当 > >>> > >>> > 请各位大侠不吝赐教。。。感激不尽。 > >>> > _______________________________________________ > >>> > Linux 内核开发中文邮件列表 > >>> > Linux-kernel在zh-kernel.org > >>> > http://zh-kernel.org/mailman/listinfo/linux-kernel > >>> > Linux 内核开发中文社区: http://zh-kernel.org > >>> > >>> > >>> > >>> -- > >>> Adam Jiang > >>> ----------------------------------- > >>> e-mail:jiang.adam在gmail.com > >>> http://www.adamjiang.com > >>> ----------------------------------- > >> > > > > > > > > -- > Adam Jiang > ----------------------------------- > e-mail:jiang.adam在gmail.com > http://www.adamjiang.com > ----------------------------------- > _______________________________________________ > Linux 内核开发中文邮件列表 > Linux-kernel在zh-kernel.org > http://zh-kernel.org/mailman/listinfo/linux-kernel > Linux 内核开发中文社区: http://zh-kernel.org > From weijiang在mail.ustc.edu.cn Thu Jul 29 11:45:20 2010 From: weijiang在mail.ustc.edu.cn (weijiang在mail.ustc.edu.cn) Date: Thu, 29 Jul 2010 11:45:20 +0800 Subject: =?GB2312?B?UmU6IMjnus7X1NPJstnX99K7v+nS0b6tyerH67PJuaa1xLu6?= =?GB2312?B?s+XH+MrHt/FjYWNoZT8=?= In-Reply-To: References: <10741748.82001280300193721.JavaMail.coremail@mailweb> Message-ID: Barry, 谢谢你的回复! 你说的这个方法我知道的,我只是想自己实现一个接口来控制某一块已经分配的内存区域的cache行为;因为我当前申请的某一块内存我有的时候需要设置为cache,有的时候又不要它cache。 是不是必须在申请内存的时候指定页表的cache属性?像我这样需要动态修改的如何实现呀? 再次感谢您的回复。 姜 维 2010. 07. 29 在 2010年7月29日 上午8:45,Barry Song <21cnbao在gmail.com>写道: > 为什么要做这么多啊,直接用标准好了。 > void *dma_alloc_coherent(struct device *dev, size_t size, dma_addr_t > *dma_handle, int flag); > void dma_free_coherent(struct device *dev, size_t size, > void *vaddr, dma_addr_t dma_handle); > > 2010/7/28 : > > 各位, > > > 大家好!我想通过某个内核接口来控制某一块已经申请成功的内存区域是否cache,我查了一些资料,应该是设置页表的属性项,我的cpu平台是arm,代码如下: > > > > static int exmap_set_armmmu(unsigned long virt, unsigned long phys, > > unsigned long size) > > { > > long off; > > unsigned long sz_left; > > pmd_t *pmdp; > > pte_t *ptep; > > > > printk(KERN_DEBUG > > "davincidsp: mapping in ARM MMU, v=0x%08lx, p=0x%08lx, > sz=0x%lx\n", > > virt, phys, size); > > > > pmdp = pmd_offset(pgd_offset_k(virt), virt); > > if (pmd_none(*pmdp)) { > > ptep = pte_alloc_one_kernel(&init_mm, 0); > > if (ptep == NULL) > > return -ENOMEM; > > /* note: two PMDs will be set */ > > pmd_populate_kernel(&init_mm, pmdp, ptep); > > } > > > > off = phys - virt; > > for (sz_left = size; > > sz_left >= PAGE_SIZE; > > sz_left -= PAGE_SIZE, virt += PAGE_SIZE) { > > ptep = pte_offset_kernel(pmdp, virt); > > set_pte(ptep, pfn_pte((virt + off) >> PAGE_SHIFT, > pgprot_noncached(pgprot_kernel))); > > > > } > > if (sz_left) > > BUG(); > > > > return 0; > > } > > > 代码期待的目标是将虚拟地址为virt(物理地址phys=virt_to_phys(virt)),长度为size的这一块内存区域设为非cache访问,这一块内存区域为任意已分配的内存区域。上面的代码并不能达到我的目的,也就是说执行以后这一块内存区域仍然是cache的。 > > 请各位不吝赐教,指出代码中的错误或者纰漏。 > > 谢谢各位! > > 姜 维 > > 2010年7月28日 > > > > > > _______________________________________________ > > Linux 内核开发中文邮件列表 > > Linux-kernel在zh-kernel.org > > http://zh-kernel.org/mailman/listinfo/linux-kernel > > Linux 内核开发中文社区: http://zh-kernel.org > From 554064711在qq.com Thu Jul 29 13:24:44 2010 From: 554064711在qq.com (=?gbk?B?zuG007arwLQ=?=) Date: Thu, 29 Jul 2010 13:24:44 +0800 Subject: study Message-ID: want to study in here From kernel_mars在sina.cn Thu Jul 29 13:48:23 2010 From: kernel_mars在sina.cn (kernel_mars) Date: Thu, 29 Jul 2010 13:48:23 +0800 Subject: =?UTF-8?Q?=E6=9C=89=E8=B0=81=E5=8F=AF=E4=BB=A5=E5=85=B1=E4=BA=AB?= =?UTF-8?Q?=E4=B8=80=E4=B8=8B?= snort3.0 =?UTF-8?Q?=E7=9A=84=E4=BB=A3=E7=A0=81=E5=90=97=EF=BC=9F?= Message-ID: <1280382503.11577.2.camel@localhost.localdomain> -- Hi 需要snort3.0研究一下,官网上下不到,有谁可以共享一下吗?可以直接发邮件到 wlzqi#sina.com。 谢谢。 ---------------------------------- thank you mars From adam8157在gmail.com Thu Jul 29 13:51:44 2010 From: adam8157在gmail.com (Adam Lee) Date: Thu, 29 Jul 2010 13:51:44 +0800 Subject: =?UTF-8?B?UmU6IOacieiwgeWPr+S7peWFseS6q+S4gOS4iyBzbm9ydDMuMCDnmoTku6PnoIHlkJc=?= =?UTF-8?B?77yf?= In-Reply-To: <1280382503.11577.2.camel@localhost.localdomain> References: <1280382503.11577.2.camel@localhost.localdomain> Message-ID: 2010/7/29 kernel_mars : > > -- Hi > >    需要snort3.0研究一下,官网上下不到,有谁可以共享一下吗?可以直接发邮件到 wlzqi#sina.com。 >    谢谢。 > > 最新的也只是2.9beta吧... -- Regards, Adam Lee -------------------------------------------------- E-mail: adam8157在gmail.com Website: http://www.adam8157.info -------------------------------------------------- From adam8157在gmail.com Thu Jul 29 13:54:53 2010 From: adam8157在gmail.com (Adam Lee) Date: Thu, 29 Jul 2010 13:54:53 +0800 Subject: =?UTF-8?B?UmU6IOacieiwgeWPr+S7peWFseS6q+S4gOS4iyBzbm9ydDMuMCDnmoTku6PnoIHlkJc=?= =?UTF-8?B?77yf?= In-Reply-To: References: <1280382503.11577.2.camel@localhost.localdomain> Message-ID: The Snort 3.0 architecture consists of two primary components: a software platform called the Snort Security Platform (SnortSP) 3.0, which is shipping in beta form in this release, and traffic analysis engine modules that plug into SnortSP. This beta test release contains one engine module which contains the Snort 2.8.3 detection engine implemented as a SnortSP engine module. -- Regards, Adam Lee -------------------------------------------------- E-mail: adam8157在gmail.com Website: http://www.adam8157.info -------------------------------------------------- From yaanhyy在gmail.com Thu Jul 29 21:15:47 2010 From: yaanhyy在gmail.com (yy Hong) Date: Thu, 29 Jul 2010 21:15:47 +0800 Subject: =?GB2312?B?UmU6IMjnus6198rUx/22rw==?= In-Reply-To: References: Message-ID: printk, kgdb 在 2010年7月28日 下午12:37,YaoJun 写道: > 我在自己的机子上写了个驱动,然后不知道该怎么调试, > 我试过 用 qemu 的 linux boot, 直接运行 机子上的 vmlinux和initrd 可不成功。 > 有什么好办法麻? > _______________________________________________ > Linux 内核开发中文邮件列表 > Linux-kernel在zh-kernel.org > http://zh-kernel.org/mailman/listinfo/linux-kernel > Linux 内核开发中文社区: http://zh-kernel.org From lisan04在163.com Fri Jul 16 16:40:02 2010 From: lisan04在163.com (lisan04) Date: Fri, 16 Jul 2010 08:40:02 -0000 Subject: =?gbk?B?x+u9zLj4xNq6y9bG1/e6zbTysrm2obXEt723qKGj?= Message-ID: <296dfc.ed62.129da68ebbc.Coremail.lisan04@163.com> 现手头有3个内核文件夹,分别为2.6.19,2.6.19_abc,2.6.23。现在需要对比2.6.19和2.6.19_abc,制作出一个patch,然后把这个patch打到2.6.23中。 我先diff -ruN 2.6.19 2.6.19_abc > abc.patch。制作出patch。在给2.6.23打补丁的时候,很多地方要手动输入文件名的路径,请问有没有比较自动的方法,可以将补丁直接打到2.6.23这个文件夹里面的各个文件中?谢谢各位~ From rjiejie在gmail.com Thu Jul 29 22:57:50 2010 From: rjiejie在gmail.com (Grass) Date: Thu, 29 Jul 2010 22:57:50 +0800 Subject: =?GB2312?B?UmU6IMfrvczT0LnYaHVhd2VpIEUxODAgVVNCyv2+3b+oyc/N+M7KzOI=?= In-Reply-To: References: Message-ID: 今天编译了ppp-2.4.5.tar.gz 步骤如下: ./configuer make CC="mips-linux-gcc" 得到chat ,pppd,pppdump,pppstats,复制到板上 运行pppd,提示说无法加载共享库pppoe.so 我google老半天。。。也没查到有人缺少/usr/sbin/pppoe.so的,其实我板子上根本也没有/usr/sbin目录。网上基本有的说法也就缺少rp-pppoe.so , 百思不得其解,还望指点,感激不尽。 在 2010年7月29日 上午9:27,Adam Jiang 写道: > 2010/7/29 Grass : > > 谢谢宋老师和Adam Jiang的答复,先看看这博客,貌似wvdial移植还需要动点刀 > > 你可能并不需要wvdial这么复杂的软件,因为一般来说pppd + chat就可以建立ppp连接。 > 看看内核的Documentation里面关于pppd的文档就明白了。 > > /大头阿当 > > > > > 在 2010年7月29日 上午12:32,Grass 写道: > >> > >> 我当时也查了下,貌似可以用WVDIAL,那我设备不支持这个软件,还需要移植到我的设备上了。。。。 > >> > >> 在 2010年7月28日 上午10:18,Adam Jiang 写道: > >>> > >>> 2010/7/27 Grass : > >>> > huawei 的E180拨号上网, > >>> > 内核2.6.30,支持此设备的。 > >>> > > >>> > 同时也加在了正常的驱动,并且能够通过ttyUSB0发送AT指令了。 > >>> > > >>> > 刚接触USB 3G卡。。。小弟不是很清楚,让这设备如何获取IP地址,如何上网?? > >>> > > >>> > 初步查了下,好像可以使用pppd来拨号上网??是否需要额外的pppd工具? > >>> > > >>> > >>> 我使用过NEC出的一块HSPA的3G卡,当时我搞错了以为它是华为生产的,呵呵。 > >>> 关于配置,有一篇博客或许对你有帮助。 > >>> > >>> http://www.adamjiang.com/blog/archives/102 > >>> > >>> /大头阿当 > >>> > >>> > 请各位大侠不吝赐教。。。感激不尽。 > >>> > _______________________________________________ > >>> > Linux 内核开发中文邮件列表 > >>> > Linux-kernel在zh-kernel.org > >>> > http://zh-kernel.org/mailman/listinfo/linux-kernel > >>> > Linux 内核开发中文社区: http://zh-kernel.org > >>> > >>> > >>> > >>> -- > >>> Adam Jiang > >>> ----------------------------------- > >>> e-mail:jiang.adam在gmail.com > >>> http://www.adamjiang.com > >>> ----------------------------------- > >> > > > > > > > > -- > Adam Jiang > ----------------------------------- > e-mail:jiang.adam在gmail.com > http://www.adamjiang.com > ----------------------------------- > From jiang.adam在gmail.com Thu Jul 29 23:15:02 2010 From: jiang.adam在gmail.com (Adam Jiang) Date: Fri, 30 Jul 2010 00:15:02 +0900 Subject: =?GB2312?B?UmU6IMfrvczT0LnYaHVhd2VpIEUxODAgVVNCyv2+3b+oyc/N+M7KzOI=?= In-Reply-To: References: Message-ID: 2010/7/29 Grass : > 今天编译了ppp-2.4.5.tar.gz > > 步骤如下: > ./configuer > make CC="mips-linux-gcc" > 得到chat ,pppd,pppdump,pppstats,复制到板上 > 运行pppd,提示说无法加载共享库pppoe.so > 这种交叉编译的情况,需要在你的编译目录里面找到这个库 并且拷贝到target上的LD_LIBRARY_PATH上去。事实上, 编译完成的库文件一般在.lib目录里, # find -name "pppoe.so*" # scp /pppoe.so target:/usr/bin/ 大致上是这样吧。 你需要在你的target上确认LD_LIBRARY_PATH。一般来说, 拷贝到/usr/bin就可以了。除了pppd,你还需要chat。 Regards, /大头阿当 > 我google老半天。。。也没查到有人缺少/usr/sbin/pppoe.so的,其实我板子上根本也没有/usr/sbin目录。网上基本有的说法也就缺少rp-pppoe.so > > , 百思不得其解,还望指点,感激不尽。 > > > 在 2010年7月29日 上午9:27,Adam Jiang 写道: >> >> 2010/7/29 Grass : >> > 谢谢宋老师和Adam Jiang的答复,先看看这博客,貌似wvdial移植还需要动点刀 >> >> 你可能并不需要wvdial这么复杂的软件,因为一般来说pppd + chat就可以建立ppp连接。 >> 看看内核的Documentation里面关于pppd的文档就明白了。 >> >> /大头阿当 >> >> > >> > 在 2010年7月29日 上午12:32,Grass 写道: >> >> >> >> 我当时也查了下,貌似可以用WVDIAL,那我设备不支持这个软件,还需要移植到我的设备上了。。。。 >> >> >> >> 在 2010年7月28日 上午10:18,Adam Jiang 写道: >> >>> >> >>> 2010/7/27 Grass : >> >>> > huawei 的E180拨号上网, >> >>> > 内核2.6.30,支持此设备的。 >> >>> > >> >>> > 同时也加在了正常的驱动,并且能够通过ttyUSB0发送AT指令了。 >> >>> > >> >>> > 刚接触USB 3G卡。。。小弟不是很清楚,让这设备如何获取IP地址,如何上网?? >> >>> > >> >>> > 初步查了下,好像可以使用pppd来拨号上网??是否需要额外的pppd工具? >> >>> > >> >>> >> >>> 我使用过NEC出的一块HSPA的3G卡,当时我搞错了以为它是华为生产的,呵呵。 >> >>> 关于配置,有一篇博客或许对你有帮助。 >> >>> >> >>> http://www.adamjiang.com/blog/archives/102 >> >>> >> >>> /大头阿当 >> >>> >> >>> > 请各位大侠不吝赐教。。。感激不尽。 >> >>> > _______________________________________________ >> >>> > Linux 内核开发中文邮件列表 >> >>> > Linux-kernel在zh-kernel.org >> >>> > http://zh-kernel.org/mailman/listinfo/linux-kernel >> >>> > Linux 内核开发中文社区: http://zh-kernel.org >> >>> >> >>> >> >>> >> >>> -- >> >>> Adam Jiang >> >>> ----------------------------------- >> >>> e-mail:jiang.adam在gmail.com >> >>> http://www.adamjiang.com >> >>> ----------------------------------- >> >> >> > >> > >> >> >> >> -- >> Adam Jiang >> ----------------------------------- >> e-mail:jiang.adam在gmail.com >> http://www.adamjiang.com >> ----------------------------------- > > -- Adam Jiang ----------------------------------- e-mail:jiang.adam在gmail.com http://www.adamjiang.com ----------------------------------- From zylthinking在gmail.com Fri Jul 30 10:18:28 2010 From: zylthinking在gmail.com (=?GB2312?B?1dTT7sH6?=) Date: Fri, 30 Jul 2010 10:18:28 +0800 Subject: =?GB2312?B?VUxLINXits67sNTay7XKssO0o78=?= Message-ID: The content of the first entries of the Page Global Directory that map linear addresses lower than 0xc0000000(the first 768 entries with PAE disabled, or the first 3 entries with PAE enabled) depends on the specific process. Conversely, the remaining entries should be the same for all processes and equal to the corresponding entries of the master kernel Page Global Directory (see the following section). 似乎是说, 线性地址前部分(0-3G) 各个应用不同, 最后1G相同, 但标红的文字是什么意思, 我在前面看到的相同的数字是 linux kernel 存放在物理地址 3MB 以内, 但这个和它似乎没有关系: 至少我看着是在说线性地址的 低3M. 整体看起来, 简直不知所云。 From vinson.one.yan在gmail.com Fri Jul 30 16:31:13 2010 From: vinson.one.yan在gmail.com (Vinson.yan) Date: Fri, 30 Jul 2010 16:31:13 +0800 Subject: =?GB2312?B?udjT2jgyNTcxzfi/qGRvd24vdXC8xLTmxve/2NbG?= Message-ID: Hi all: 我们现在设备上8571芯片的网卡,做端口联动。通过对MDIC寄存器置位可以控制接口的up/down。但对光口不好使。请问哪位对此有了解,谢谢。