由买买提看人间百态

topics

全部话题 - 话题: printk
1 (共1页)
c****d
发帖数: 116
1
来自主题: Programming版 - how printk works
I know the printk supports ``%pS'' would output
function_name+0ffset if given current pc.
Something I know is that compiler would generate
unwind tables, with unwind index. But I don't know
exactly what are those entries in tables, and how
kernel would use these entries to unwind the stack,
particularly the function name.
unwind.c in kernel source code helps, but I still
need someone explain this a little bit.
thanks
m**k
发帖数: 290
2
来自主题: Programming版 - how printk works
跟unwind.c没关系。
编译内核最后面几步会运行
KSYM .tmp_kallsyms1.o
KSYM .tmp_kallsyms2.o
LD vmlinux
KSYM 运行 nm | scripts/kallsyms | cc
把所有的symbol编译到 vmlinux 里面。具体数据保存在 kallsyms_addresses 等一些
表里面。printk会在这些表里查询。实现在 kenrel/kallsyms.c:sprint_symbol()
i**p
发帖数: 902
3
来自主题: Linux版 - 并口驱动的一个问题 (转载)
最近编译运行了《Essential Linux Device Drivers》第5章的例子,
Driver for the Parallel LED Board (led.c)。程序不复杂。其中有一个函数led_
attach(struct parport *port) 是由parport_register_driver(&led_driver)注册的。
请问,led_attach()是何时被调用的?或者说怎么引起系统调用这个函数?
----------------------------------------
I double checked my code again. Though I use the same name as the link http://www.spinics.net/lists/newbies/msg38087.html suggested, the
led_attach() is not called.
code is here.
#include
#include
#include 阅读全帖
i**p
发帖数: 902
4
来自主题: Programming版 - 并口驱动的一个问题 (转载)
I double checked my code again. Though I use the same name as the link http://www.spinics.net/lists/newbies/msg38087.html suggested, the
led_attach() is not called.
code is here.
#include
#include
#include
#include
#include
#include
#include
#define DEVICE_NAME "led"
static dev_t dev_number; /* Allotted device number */
static struct class *led_class; /* Class to which ... 阅读全帖
i**p
发帖数: 902
5
【 以下文字转载自 Programming 讨论区 】
发信人: isup (No), 信区: Programming
标 题: 哪位用过tty_flip_buffer_push()?
发信站: BBS 未名空间站 (Sun Jun 15 17:43:46 2014, 美东)
I am trying to run tiny_tty in LDD3. When I use "cat /dev/ttty0" to read
from it, there is no output and the command is blocked.
Checking the trace, I notice both tty_insert_flip_char() and tty_flip_buffer
_push() are called. However, the data is not sent to the user by tty core.
Instead, it is sent back to the tiny_tty driver's tiny_write() callback
functio... 阅读全帖
i**p
发帖数: 902
6
来自主题: Programming版 - 哪位用过tty_flip_buffer_push()?
I am trying to run tiny_tty in LDD3. When I use "cat /dev/ttty0" to read
from it, there is no output and the command is blocked.
Checking the trace, I notice both tty_insert_flip_char() and tty_flip_buffer
_push() are called. However, the data is not sent to the user by tty core.
Instead, it is sent back to the tiny_tty driver's tiny_write() callback
function. What is wrong there?
The kernel version is 2.6.32-61-generic.
static void tiny_timer(unsigned long timer_data)
{
struct tiny_serial *... 阅读全帖
t******n
发帖数: 2939
7
☆─────────────────────────────────────☆
zzw123 (lhc) 于 (Mon Jun 15 03:51:29 2015, 美东) 提到:
TOP20:元华
TVB最为著名的老戏骨之一,也常在周星驰的影片中见到他的身影,比如最近的《功夫》,作为前辈人物,虽然已很少再为主演,但是作为配角,却也起到了扶持新人的作用。并在第十届金紫荆奖上获得最佳男配角奖,真是做配角也精彩。
TOP19:钱小豪
香港著名武打演员,出道相当早,香港早期最卖座的影片《僵尸叔叔》中有他高难的武打镜头,与李连杰合作出演的《太极张三丰》中他的戏份其实不亚于李连杰。
TOP18:刘家辉
刘家良亲弟,武功精湛,最辉煌时期是在美国,美国观众都称他是“光头英雄”,他出演过许多电影、电视剧,提示:古天乐版的《神雕侠侣》中的金轮法王就是他扮演的。曾经有段时间是武侠片小生,现在多混迹于TVB拍些剧集,据他自己说。他还是黄飞鸿的正宗传人,拍得追杀比br />
不错。
TOP17:于承惠
中国杰出武术家,出演过《少林寺》中的王仁则。尤以剑术为最精,出演过许多电影、电视剧,是以“武魂”为宗... 阅读全帖
p*****s
发帖数: 344
8
来自主题: Linux版 - 求助本版牛人
if your printk is really in the idle loop, you should see tons of them,
and ur system won't be usable anymore.
what development environment it is, do u have console access?
if u really want to figure out the program flow, start adding printk from
main.c

,
i**p
发帖数: 902
9
来自主题: Linux版 - Micro-SD card 驱动程序
写了一个card层的sdio驱动程序,用于读Micro-SD card。
sdio_register_driver(&my_sdio_driver) 成功返回,可是my_sdio_probe()从没被
sdio core调用(卡已插入,插拔都试过)。
请有经验的大牛指点。
static int my_sdio_probe(struct sdio_func *func,
const struct sdio_device_id *id)
{
printk(KERN_DEBUG "my_sdio_probe()");
....
return 0;
}
static const struct sdio_device_id my_sdio_ids[] = {
{ .class=SDIO_ANY_ID, .vendor=SDIO_ANY_ID, .device=SDIO_ANY_ID},
{ },
};
static struct sdio_driver my_sdio_driver = ... 阅读全帖
i**p
发帖数: 902
10
来自主题: Programming版 - Micro-SD card 驱动程序 (转载)
【 以下文字转载自 Linux 讨论区 】
发信人: isup (No), 信区: Linux
标 题: Micro-SD card 驱动程序
发信站: BBS 未名空间站 (Fri Jun 20 12:48:55 2014, 美东)
写了一个card层的sdio驱动程序,用于读Micro-SD card。
sdio_register_driver(&my_sdio_driver) 成功返回,可是my_sdio_probe()从没被
sdio core调用(卡已插入,插拔都试过)。
请有经验的大牛指点。
static int my_sdio_probe(struct sdio_func *func,
const struct sdio_device_id *id)
{
printk(KERN_DEBUG "my_sdio_probe()");
....
return 0;
}
static const struct sdio_device_id my_sdio_ids[] = {
{ ... 阅读全帖
m*********k
发帖数: 10521
11
来自主题: _mitbbscheck版 - 2013.09.25首页文章奖励
本次统计截止时间为:2013-09-25 02:10:00 (美东时间)
成功奖励 20 伪币的用户: bbppb, binz, bluesnail, Comet, coupondeal, cuixue,
dakedo, dangqiwu, FoggyDew, fulizi, GinaDL, guvest, guybrush, hair, honyi97,
huahuapig, huaimao1124, Jacobsen, jessicaniu, jinselan, lastman907, lct,
li08081, lilyamao, llin, minibear, netliuying, pathdream, plex, pontryagin,
printk, Rani, satallite, shot, starmoon, Thor, usaut, Wensi, wulai, wulijea,
xiaan, xuechn, yunyunluo, ZeNingBa, zhaoce, zsquare, zxc
奖励版面:(Animals)20伪币成功
奖励版面:(Apple)20伪币... 阅读全帖
a*t
发帖数: 1309
12
来自主题: JobHunting版 - onsite下来忐忑不安,攒rp系列(一)
printk
l***i
发帖数: 1309
13
来自主题: JobHunting版 - onsite下来忐忑不安,攒rp系列(一)
If you are writing kernel, printk is probably the only way to get some
internal data flow. For almost all application development, printf does not
get you very far. In most companies you are debugging someone else's code. A
competent developer is also competent in using at least one debugger.

printf
k**w
发帖数: 376
14
来自主题: JobHunting版 - unix 面试题,求答案
>>fork,exec ipc,how many types of ipc
after fork, does new process get file handles and locks
>>what's are spin lock? are they better than mutex?
how many spinlocks work on smp and up architecure?
>>what will happen /can u have printf/printk inside an interrupt handler?
>>what's the difference between wake_up() and wake_up_interruptible() apis
in the linux kernel
when should sude which one, how it should be decided?
>>what's the difference between sleeep_on() and interruptible_sleep_on()
>>what ... 阅读全帖
A**l
发帖数: 2650
15
补一个

5. 究极:回归printk
p*****2
发帖数: 21240
16

printk是啥东西来的?
y**********u
发帖数: 6366
17
还是有区别的
有的printk的level不会输出到console,比如KERN_DEBUG
R********n
发帖数: 19
18
来自主题: JobHunting版 - 请教nvidia software engineer的电面经验
几周前面过,问题要看具体的组吧。
我面的是一个做“Game Cloud”客户端的组,问了好多客户端的基础知识,有OpenGL,
CUDA, IOS,Android之类的,基本都不懂。
编程题目也有一些,不过都很简单,能记得的有斐波那契数,merge sorted array。
如果是做内核驱动的组,也会问一些内核的知识,printk, process list之类的。
c******3
发帖数: 6509
19
来自主题: JobHunting版 - 大叔再来问问,这skill set怎么发展
会C/C++的你跑去问信号量可能都有点悬,问进程和线程的区别,这个就有点难了吧。
这年头进程和线程区别很大?两个任务指派到两个独立地址空间去,或者同一个地址空
间,但物理是两个CPU socket node运行,你说它是进程还是线程吧?
你问的这些别说Java出身的应用程序员,哥这种白天做软件C/C++/汇编算法、驱动,晚
上SystemVerilog设计视频算法IC、主控CPU的也答不上来啊
至于TCP/IP协议栈这种体力活,都有20多年没干过了,还是当年没Internet的傻冒时期
才亲自写
coredump还真没玩过,当年用SoftIce和TR调试程序,gdb一直用不惯,还是printk算了
,后来用示波器和逻辑分析仪调试程序,现在好像也没变
x****o
发帖数: 21566
20
【 以下文字转载自 Linux 讨论区 】
发信人: wjk302 (akui), 信区: Linux
标 题: 大家能帮我看一下下面的问题吗,不胜感激。
发信站: BBS 未名空间站 (Wed Feb 1 22:05:13 2012, 美东)
很冒昧的打扰大家。大家能帮我看一下下面的问题吗,不胜感激。
问题是这样的,在生产环境下
1、Suse的Linux有 /nfsmnt/work_pub/web 文件夹和 /nfsmnt/work_inwork/web
文件夹 ,它们都是NFS文件挂载
2、机器上有多个进程会读写/nfsmnt/work_pub/web 文件夹的内容
3、cron会周期性的 删除/nfsmnt/work_pub/web 文件夹下所有文件,并把/nfsmnt/
work_inwork/web 文件夹下的所有内容拷贝到前面那个文件夹中
这样,完全删除/nfsmnt/work_pub/web 文件夹下所有文件的时候就会有.nfs文件删除
不掉(上面的流程因为某些问题不方便改动)。
想咨询的问题是:我现在能不能修改一下fs/nfs/dir.c ... 阅读全帖
u**n
发帖数: 44
21
来自主题: Hardware版 - 求推荐路由器
Yes, user mode filesystem is a good suggestion. But I guess it's not tightly
coupled with kernel mm right? and it's not convenient to add printk in mm
module for debugging purpose. Do you have any suggestion of debugging/
tracing mm module? I have been working on network and drivers, but not mm
and filesystems.
Thanks.
S*A
发帖数: 7142
22
来自主题: Hardware版 - 求推荐路由器
看你是有心想学习 kernel 的,就多支你里两招吧。
UML 是可以直接用 gdb 做 source level debug 的。
可以设断点什么的。
但是用 printk 是基本生存技巧。你到真机器是没有
那么好用的调试器的。调试很多时候是对脑力的考验。
需要 thinking outside of the box。
mm 和 filesystem 是一体的。那个 swapfs 和
其他文件系统是共享代码如何 flush pages 的。

tightly
p*********u
发帖数: 103
23
来自主题: Linux版 - 求助本版牛人
实在没有办法了,本来想在lkml上问的,死活确认不了subscribe,只好来这个版求助了,
小妹先谢过各位.
偶在找linux kernel里那个听说过无数次但就是见不到面的idle loop,
就是那个在没有runnable process情况下运行的idle loop(task),我怎么也找不到
definition在哪里, 看到个觉得是的default_idle,于是加了个printk message 确认下
,可是没有任何信息打印出来.
请见过这个函数的前辈指教下,多谢
p*********u
发帖数: 103
24
来自主题: Linux版 - 求助本版牛人
谢谢ls的回复,我很困惑的是,第一个连接给的也是cpu_idle, default_idle,
都是定义在/arch/x86/kernel/process_32.c (我的linux 是 2.6.25.20 )
我在这两个function都加了printk to verify if any of them are really invoked,
however, nothing was print out.
w****2
发帖数: 2
25
很冒昧的打扰大家。大家能帮我看一下下面的问题吗,不胜感激。
问题是这样的,在生产环境下
1、Suse的Linux有 /nfsmnt/work_pub/web 文件夹和 /nfsmnt/work_inwork/web
文件夹 ,它们都是NFS文件挂载
2、机器上有多个进程会读写/nfsmnt/work_pub/web 文件夹的内容
3、cron会周期性的 删除/nfsmnt/work_pub/web 文件夹下所有文件,并把/nfsmnt/
work_inwork/web 文件夹下的所有内容拷贝到前面那个文件夹中
这样,完全删除/nfsmnt/work_pub/web 文件夹下所有文件的时候就会有.nfs文件删除
不掉(上面的流程因为某些问题不方便改动)。
想咨询的问题是:我现在能不能修改一下fs/nfs/dir.c 中 nfs_sillyrename这个方法
,把所有.nfs文件生成到/nfsmnt/temp目录下,然后重新编译内核解决上面的问题?期
待大家的指点,先谢谢了。
下面是源代码
static int nfs_sillyrename(struct in... 阅读全帖
t****t
发帖数: 6806
26
kernel? you mean OS kernel?
usually OS kernel has different API. for example, most probably you don't ha
ve printf. instead, you use printk (in linux).
kernel API is very limited. very very limited.
b***i
发帖数: 3043
27
来自主题: Programming版 - linux kernel里面sema_init()
kernal的。
好比,printk
c****d
发帖数: 116
28
来自主题: Programming版 - how printk works
thank you so much.
Let me dig dig.. ;) unwind.c is used to unwind the whole stack.
i**p
发帖数: 902
29
来自主题: Programming版 - 并口驱动的一个问题 (转载)
【 以下文字转载自 Linux 讨论区 】
发信人: isup (No), 信区: Linux
标 题: 并口驱动的一个问题
发信站: BBS 未名空间站 (Wed May 21 21:03:59 2014, 美东)
最近编译运行了《Essential Linux Device Drivers》第5章的例子,
Driver for the Parallel LED Board (led.c)。程序不复杂。其中有一个函数led_
attach(struct parport *port) 是由parport_register_driver(&led_driver)注册的。
请问,led_attach()是何时被调用的?或者说怎么引起系统调用这个函数?
static void led_attach(struct parport *port)
{
/* Register the parallel LED device with parport */
pdev = parport_register_device(port, DEVICE_NAME,
led_preempt, NU... 阅读全帖
S*A
发帖数: 7142
30
来自主题: Programming版 - Micro-SD card 驱动程序 (转载)
Did you see any dmesg output when you plug in the SD card?
You can add some printk into the sd bus module to figure out
what happen after you plug the SD card. Does it detect the
card at all. Then if it detects, why it does not call your
module.
i**p
发帖数: 902
31
来自主题: Programming版 - Micro-SD card 驱动程序 (转载)
这是一个root了的Android手机.
3 parts of dmesg here, insmod, remove sd card, insert sd card:
--------------------------------------
insmod mysdio.ko (sd card is in, trace is from my printk. no probe trace
though I add prink to my_sdio_probe)
<7>[ 263.716249] (pid:728, cmd:insmod) my_sdio_driver.drv.name:CRYPTRmicro_
sdio
<7>[ 263.716316] (pid:728, cmd:insmod) my_sdio_driver.drv.bus:0x8049be80
<7>[ 263.716373] (pid:728, cmd:insmod) my_sdio_driver.drv.bus->name:sdio
<7>[ 263.716429] (pid:728, cmd:insm... 阅读全帖
k**w
发帖数: 376
32
来自主题: Unix版 - unix 面试题,求答案 (转载)
【 以下文字转载自 JobHunting 讨论区 】
发信人: klyw (mm), 信区: JobHunting
标 题: unix 面试题,求答案
发信站: BBS 未名空间站 (Thu Nov 24 23:28:35 2011, 美东)
>>fork,exec ipc,how many types of ipc
after fork, does new process get file handles and locks
>>what's are spin lock? are they better than mutex?
how many spinlocks work on smp and up architecure?
>>what will happen /can u have printf/printk inside an interrupt handler?
>>what's the difference between wake_up() and wake_up_interruptible() apis
in the linux kernel
when should... 阅读全帖
1 (共1页)