Hello, Srivatsa. On Fri, Dec 02, 2011 at 06:19:04PM +0530, Srivatsa S. Bhat wrote: > So how about solving this problem more fundamentally, such as defining a > freezable wrapper over kernel_recvmsg like: > > #define kernel_recvmsg_freezable(sock, msg, vec, num, size, flags) \ > ({ \ > kernel_recvmsg(sock, msg, vec, num, size, flags) \ > try_to_freeze(); \ > }) > > and using it instead of kernel_recvmsg(), throughout the kernel? > > But kernel_recvmsg is an exported symbol. So if we are very very unwilling > to change the kernel ABI, we could probably think about adding try_to_freeze() > inside kernel_recvmsg itself,like this (but see below about my thoughts about > which one is better): I don't necessarily object to introducing the wrapper but I don't really think we should be doing s//g over the source tree without understanding where it's actually necessary. For kernel threads and user threads out of the signal delivery path, try_to_freeze() is an exceptional event which introduces behavior which can be difficult to reproduce track down and spreading it without actually knowing what the surrounding code is doing doesn't sound like a good idea to me. Thank you. -- tejun -- To unsubscribe from this list: send the line "unsubscribe linux-cifs" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html