On 05/28/2013 06:22 PM, David Howells wrote: > Chen Gang <gang.chen@xxxxxxxxxxx> wrote: > >> > - len = sprintf(buf, appldata_timer_active ? "1\n" : "0\n"); >> > + strncpy(buf, appldata_timer_active ? "1\n" : "0\n", >> > + ARRAY_SIZE(buf)); >> > + len = strnlen(buf, ARRAY_SIZE(buf)); > Since the strings here are a fixed, preknown size, you should use memcpy (or > just fill in the array directly which would likely take fewer instructions > since the strings are so short and vary by one character) and hard-code the > length or use sizeof() instead of strnlen(). I treat it "?\n" as a 'protocol' between kernel mode and user mode, the original issue is about transferring 'protocol' data. the patch wants to fix the issue, independent of 'protocol'. appldata_timer_handler() itself has already separated "transferring 'protocol' data" from "processing 'protocol' data" (but not let the "processing 'protocol' data" in another new function) Your suggestion will improve the speed, but may merge "transferring 'protocol' data" and "processing 'protocol' data" together. So if the performance is not quite important in this location, it is still reasonable to follow with the original author's willing (especially what he/she has done sounds reasonable too). Thanks. -- Chen Gang Asianux Corporation -- To unsubscribe from this list: send the line "unsubscribe kernel-janitors" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html