I have a Linux Kernel Module that generates data and I'd like to send that data to a userspace application. What are the options and what pros/cons do they have?

The data could be, let's say, 100 structs of a few char[] and a few int[] per second.

Also, if possible (not mandatory), I'd like those structs to get to userland in the same order as they are generated in the LKM.