Re: Query on mechanisms to communicate between kernel modules in Linux
On Sat, Feb 10, 2018 at 10:30:36PM +0530, Neil Thomas wrote: > Thanks a lot. I will try out this. Please don't top post. It upsets people. Good luck, Tobin. > On 10-Feb-2018 2:08 PM, "Pintu Kumar" wrote: > > > On Fri, Feb 9, 2018 at 12:52 AM, Neil Thomas wrote: > > > Thanks, I will check it out. > > > > > > On 09-Feb-2018 12:50 AM, wrote: > > >> > > >> On Thu, 08 Feb 2018 23:38:01 +0530, Neil Thomas said: > > >> > > >> > I am just a beginner. I have tried procfs, Netlink socket to > > communicate > > >> > between user space and kernel space and it works fine. > > >> > > > >> > I am developing a monitoring utility to trace the VFS operation and > > find > > >> > the frequency of VFS function calls. This monitoring utility runs in > > >> > kernel > > >> > space. We have to record the occurrence of each VFS function calls > > >> > (like > > >> > vfs_open(), vfs_read()). I don't know which is best mechanism to > > >> > report > > >> > this VFS event to the monitoring utility. > > >> > > > >> > Could anyone please suggest the best mechanism to transfer data > > >> > frequently > > >> > between kernel modules. > > > > You can also use ION (CONFIG_ION) or DMABUF (DMA_SHARED_BUFFER) buffer > > sharing mechanism to share data between 2 drivers. > > Check this: > > https://www.kernel.org/doc/html/latest/driver-api/dma-buf.html > > https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/ > > linux.git/tree/drivers/staging/android/ion?h=v4.15 > > > > >> > > >> There's a perfectly good perf-based function trace facility that will > > >> provide > > >> this info to userspace. > > >> > > >> http://www.brendangregg.com/perf.html#StaticKernelTracing > > >> > > > > > > ___ > > > Kernelnewbies mailing list > > > Kernelnewbies@kernelnewbies.org > > > https://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies > > > > > > ___ > Kernelnewbies mailing list > Kernelnewbies@kernelnewbies.org > https://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies ___ Kernelnewbies mailing list Kernelnewbies@kernelnewbies.org https://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies
Re: Query on mechanisms to communicate between kernel modules in Linux
Thanks a lot. I will try out this. On 10-Feb-2018 2:08 PM, "Pintu Kumar" wrote: > On Fri, Feb 9, 2018 at 12:52 AM, Neil Thomas wrote: > > Thanks, I will check it out. > > > > On 09-Feb-2018 12:50 AM, wrote: > >> > >> On Thu, 08 Feb 2018 23:38:01 +0530, Neil Thomas said: > >> > >> > I am just a beginner. I have tried procfs, Netlink socket to > communicate > >> > between user space and kernel space and it works fine. > >> > > >> > I am developing a monitoring utility to trace the VFS operation and > find > >> > the frequency of VFS function calls. This monitoring utility runs in > >> > kernel > >> > space. We have to record the occurrence of each VFS function calls > >> > (like > >> > vfs_open(), vfs_read()). I don't know which is best mechanism to > >> > report > >> > this VFS event to the monitoring utility. > >> > > >> > Could anyone please suggest the best mechanism to transfer data > >> > frequently > >> > between kernel modules. > > You can also use ION (CONFIG_ION) or DMABUF (DMA_SHARED_BUFFER) buffer > sharing mechanism to share data between 2 drivers. > Check this: > https://www.kernel.org/doc/html/latest/driver-api/dma-buf.html > https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/ > linux.git/tree/drivers/staging/android/ion?h=v4.15 > > >> > >> There's a perfectly good perf-based function trace facility that will > >> provide > >> this info to userspace. > >> > >> http://www.brendangregg.com/perf.html#StaticKernelTracing > >> > > > > ___ > > Kernelnewbies mailing list > > Kernelnewbies@kernelnewbies.org > > https://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies > > > ___ Kernelnewbies mailing list Kernelnewbies@kernelnewbies.org https://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies
Re: Query on mechanisms to communicate between kernel modules in Linux
On Fri, Feb 9, 2018 at 12:52 AM, Neil Thomas wrote: > Thanks, I will check it out. > > On 09-Feb-2018 12:50 AM, wrote: >> >> On Thu, 08 Feb 2018 23:38:01 +0530, Neil Thomas said: >> >> > I am just a beginner. I have tried procfs, Netlink socket to communicate >> > between user space and kernel space and it works fine. >> > >> > I am developing a monitoring utility to trace the VFS operation and find >> > the frequency of VFS function calls. This monitoring utility runs in >> > kernel >> > space. We have to record the occurrence of each VFS function calls >> > (like >> > vfs_open(), vfs_read()). I don't know which is best mechanism to >> > report >> > this VFS event to the monitoring utility. >> > >> > Could anyone please suggest the best mechanism to transfer data >> > frequently >> > between kernel modules. You can also use ION (CONFIG_ION) or DMABUF (DMA_SHARED_BUFFER) buffer sharing mechanism to share data between 2 drivers. Check this: https://www.kernel.org/doc/html/latest/driver-api/dma-buf.html https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/drivers/staging/android/ion?h=v4.15 >> >> There's a perfectly good perf-based function trace facility that will >> provide >> this info to userspace. >> >> http://www.brendangregg.com/perf.html#StaticKernelTracing >> > > ___ > Kernelnewbies mailing list > Kernelnewbies@kernelnewbies.org > https://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies > ___ Kernelnewbies mailing list Kernelnewbies@kernelnewbies.org https://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies
Re: Query on mechanisms to communicate between kernel modules in Linux
Thanks, I will check it out. On 09-Feb-2018 12:50 AM, wrote: > On Thu, 08 Feb 2018 23:38:01 +0530, Neil Thomas said: > > > I am just a beginner. I have tried procfs, Netlink socket to communicate > > between user space and kernel space and it works fine. > > > > I am developing a monitoring utility to trace the VFS operation and find > > the frequency of VFS function calls. This monitoring utility runs in > kernel > > space. We have to record the occurrence of each VFS function calls (like > > vfs_open(), vfs_read()). I don't know which is best mechanism to report > > this VFS event to the monitoring utility. > > > > Could anyone please suggest the best mechanism to transfer data > frequently > > between kernel modules. > > There's a perfectly good perf-based function trace facility that will > provide > this info to userspace. > > http://www.brendangregg.com/perf.html#StaticKernelTracing > > ___ Kernelnewbies mailing list Kernelnewbies@kernelnewbies.org https://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies
Re: Query on mechanisms to communicate between kernel modules in Linux
On Thu, 08 Feb 2018 23:38:01 +0530, Neil Thomas said: > I am just a beginner. I have tried procfs, Netlink socket to communicate > between user space and kernel space and it works fine. > > I am developing a monitoring utility to trace the VFS operation and find > the frequency of VFS function calls. This monitoring utility runs in kernel > space. We have to record the occurrence of each VFS function calls (like > vfs_open(), vfs_read()). I don't know which is best mechanism to report > this VFS event to the monitoring utility. > > Could anyone please suggest the best mechanism to transfer data frequently > between kernel modules. There's a perfectly good perf-based function trace facility that will provide this info to userspace. http://www.brendangregg.com/perf.html#StaticKernelTracing pgp0vq1kIKhMz.pgp Description: PGP signature ___ Kernelnewbies mailing list Kernelnewbies@kernelnewbies.org https://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies
Re: Query on mechanisms to communicate between kernel modules in Linux
Hi, I am just a beginner. I have tried procfs, Netlink socket to communicate between user space and kernel space and it works fine. I am developing a monitoring utility to trace the VFS operation and find the frequency of VFS function calls. This monitoring utility runs in kernel space. We have to record the occurrence of each VFS function calls (like vfs_open(), vfs_read()). I don't know which is best mechanism to report this VFS event to the monitoring utility. Could anyone please suggest the best mechanism to transfer data frequently between kernel modules. Thank you! On Thu, Feb 8, 2018 at 7:56 PM, Greg KH wrote: > On Thu, Feb 08, 2018 at 09:39:31AM +0530, Neil Thomas wrote: > > Hi, > > > > I want to share information between two kernel modules (Kernel version > 4.0 > > or above). What are the ways of communication between kernel modules in > > Linux. > > What have you tried that did not work out? > > > Please list out the available mechanisms to do this. > > This feels like a homework question to me, are you sure you are not just > asking for us to do your work for you? :) > > thanks, > > greg k-h > ___ Kernelnewbies mailing list Kernelnewbies@kernelnewbies.org https://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies
Re: Query on mechanisms to communicate between kernel modules in Linux
On Thu, Feb 08, 2018 at 09:39:31AM +0530, Neil Thomas wrote: > Hi, > > I want to share information between two kernel modules (Kernel version 4.0 > or above). What are the ways of communication between kernel modules in > Linux. What have you tried that did not work out? > Please list out the available mechanisms to do this. This feels like a homework question to me, are you sure you are not just asking for us to do your work for you? :) thanks, greg k-h ___ Kernelnewbies mailing list Kernelnewbies@kernelnewbies.org https://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies