On 13.09.2013 19:37, Andre Naujoks wrote: > The old implementation was heavy on str* functions and sprintf calls. > This version is more manual, but faster. > > Profiling just the printing of a 3 char CAN-id resulted in 60 instructions > for the manual method and over 2000 for the sprintf method. Bear in > mind the profiling was done against libc and not the kernel sprintf. > > Together with this rewrite an issue with sending and receiving of RTR frames > has been fixed by Oliver for the cases that the DLC is not zero. > > Signed-off-by: Andre Naujoks <nauts...@gmail.com> > Tested-by: Oliver Hartkopp <socket...@hartkopp.net> > --- > drivers/net/can/slcan.c | 136 > +++++++++++++++++++++++++++++++----------------- > 1 file changed, 87 insertions(+), 49 deletions(-)
As the layout of the generated content is fixed the provided flexibility of the used string functions was indeed inadequate. Thanks for the effort, Andre. Acked-by: Oliver Hartkopp <socket...@hartkopp.net> -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/