(2011/04/07 7:41), Srikar Dronamraju wrote: >>> +static bool filter_chain(struct uprobe *uprobe, struct task_struct *t) >>> +{ >>> + struct uprobe_consumer *consumer; >>> + bool ret = false; >>> + >>> + down_read(&uprobe->consumer_rwsem); >>> + for (consumer = uprobe->consumers; consumer; >>> + consumer = consumer->next) { >>> + if (!consumer->filter || consumer->filter(consumer, t)) { >>> + ret = true; >>> + break; >>> + } >>> + } >>> + up_read(&uprobe->consumer_rwsem); >>> + return ret; >>> +} >>> + >> >> Where this function is called from ? This patch seems the last one of this series... >> > > Sorry for the delayed reply, I was travelling to LFCS. > Still I have to connect the filter from trace/perf probe. I see, and I'd like to suggest you to separate that series from this "uprobe" series. For upstream merge, indeed, we need a consumer of the uprobe. However, it should be as simple as possible, so that we can focus on reviewing uprobe itself. > Thats listed as todo and thats the next thing I am planning to work on. Interesting:) Could you tell us what the plan will introduce? How will it be connected? how will we use it? Thank you, -- Masami HIRAMATSU Software Platform Research Dept. Linux Technology Center Hitachi, Ltd., Yokohama Research Laboratory E-mail: masami.hiramatsu.pt@xxxxxxxxxxx -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@xxxxxxxxxx For more info on Linux MM, see: http://www.linux-mm.org/ . Fight unfair telecom internet charges in Canada: sign http://stopthemeter.ca/ Don't email: <a href=mailto:"dont@xxxxxxxxx"> email@xxxxxxxxx </a>