Hi, Bin Gao <bin.gao@xxxxxxxxxxxxxxx> writes: > +static void print_message(int port, bool is_cmsg, u8 msg, bool recv) > +{ > + pr_info("sink port %d: %s message %s %s\n", port, > + is_cmsg ? "Control" : "Data", > + msg_to_string(is_cmsg, msg), > + recv ? "received" : "sent(wait GOODCRC)"); > +} this is problematic. By default, we're all using 115200 8N1 baud rate. This message alone prints anywhere from 50 to 100 characters (I didn't really count properly, these are rough numbers), and that takes: n50chars_time = 50 / (115200 / 10) = 4.3ms n100chars_time = 100 / (115200 / 10) = 8.6ms Considering you have 30ms to reply with Power Request after GoodCRC, and considering you're printing several of these messages, they become really expensive and eat up valuable time from tSenderReply. This should really be a pr_debug() or, better yet, a tracepoint. -- balbi
Attachment:
signature.asc
Description: PGP signature