From mboxrd@z Thu Jan 1 00:00:00 1970 From: Oliver Hartkopp Subject: Re: C_CAN: can frame drops Date: Wed, 30 Jul 2014 18:17:57 +0200 Message-ID: <53D91AB5.5060507@hartkopp.net> References: <53D204A4.1060502@pengutronix.de> <53D2126C.40600@pengutronix.de> <53D214E2.7020205@pengutronix.de> <53D219E8.5060307@pengutronix.de> <53D234D9.2010602@hartkopp.net> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit Return-path: Received: from mo4-p00-ob.smtp.rzone.de ([81.169.146.163]:64933 "EHLO mo4-p00-ob.smtp.rzone.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1754129AbaG3QSS (ORCPT ); Wed, 30 Jul 2014 12:18:18 -0400 In-Reply-To: Sender: linux-can-owner@vger.kernel.org List-ID: To: Prabhakar Lad Cc: Ssagarr Patil , Marc Kleine-Budde , "linux-can@vger.kernel.org" On 30.07.2014 13:28, Prabhakar Lad wrote: >>>> If you want to log all CAN >>>> messages, you can probably make use of recvmmsg() to receive more than >>>> one CAN frame at a time (instead of using recvmsg() or read()). When >>>> writing to disk, don't write a single CAN frame at a time, it's better >>>> to write large blocks, i.e. several 4k of data. >>>> >>> I am using the v3.16 (the master branch from git://gitorious.org/linux-can/linux-can.git) >>> >>> OK will try experiment with recvmmsg() & and writing to disk with large blocks. >>> >> >> I implemented a proof-of-concept for recvmmsg() for candump. >> >> You can try: >> >> https://gitorious.org/linux-can/canpump >> > > Any plans of adding this into mainline can-utils ? > Hm - currently not. If it turns out to really help to increase the throughput for e.g. candump it would be worth thinking to integrate it into candump. But so far there was no feedback from Sagar, if it was at least helpful. So from my current perspective the canpump source code would be a candidate for can-tests as many other SocketCAN code examples are sitting there too. Regards, Oliver