I have a customized Linux Kernel which prints to dmesg and syslog (using printk) some additional information about each received MP-TCP packet in the system. Things work perfectly, however I am generating a huge amount of data (using
iperf tool) around 2 Gbps of data which correspond to extremely high number of packets. Because of the printk, all my CPUs are 100% loaded in my system (I have 4 CPUs). I am worried that this might affect the packet processing in my system and causes additional problems and latyency. So my question is there any alternative method for storing my data in the Liunx Kernel without increasing the load on my CPUs?
To give an example of the size of the data, for 60 seconds of an iperf session, the size of the `/var/log/syslog is around 1.2 Gbytes.
Let me add one more thing, I do not need to process the reported data by the Linux Kernel in an online fashion. I will process them in offline mode.