On Tue, May 21, 2013 at 06:06:26PM -0700, Lisa Du wrote: > Hi, Steven > Thanks for your reply! > I'm using kernel3.4. The function uid_stat_tcp_rcv() was added by below patch: > Yes, this file was removed in kernel3.8. So to avoid this happen, we should always avoid this lock used in softirq context in future right? Sigh... proc_subdir_lock is the least of your troubles; remove_proc_entry() might block. By design - the callers of remove_proc_entry() are free to tear down everything needed for IO on that entry as soon as remove_proc_entry() returns. That's achieved by marking the entry in a way that will prevent any new callers into ->read(), etc., then waiting for ones currently inside any of file methods to return - once that has happened, we don't have to worry about preserving the structures needed for those methods to work. -- To unsubscribe from this list: send the line "unsubscribe linux-fsdevel" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html