-1

Dear RPI SO Community :),

I want to try the AF_BUS Patch but I don't get what I need exactly for it.

AF_BUS optimizes the performance of D-Bus in latency and throughput and I am working on a perfomance investigation on D-Bus.

How can i install AF_BUS patch on D-Bus?

http://projects.genivi.org/afbus-dbus-optimization/download

Does is it require changes on the Linux kernel? From what I know, the AF_BUS is replacing the UNIX_SOCKETS with the AF_BUS Socket familiy.

There are many patches, and it really confuses me a bit.

Patch links:

http://git.projects.genivi.org/?p=ipc/af_bus-linux.git;a=summary
http://git.projects.genivi.org/?p=ipc/af_bus-tests.git;a=summary
http://git.projects.genivi.org/?p=ipc/af_bus-dbus.git;a=summary
http://git.projects.genivi.org/?p=ipc/af_bus-eglibc.git;a=summary
1

Everyone of the 3 git repos you linked is for a specific component. The tests one constains a full program. You can infer that the Kernel needs patching, as well as some other components, from the first paragraph of the link you pasted:

The project does not do releases since the source code is distributed as patches for specific versions of Linux kernel, D-Bus and eglibc components.

You should clone and checkout each one of the 4 repos and take a look at the patches on them.

The thing with patches is that they are really only guaranteed to work with the exact version of the code they patch. So you have to find out for which exact version of each of the components (the Linux Kernel, D-Bus and eglibc) each of the repos is currently targeting, then grab the source code for that exact version of the component and try to apply the patches against the specific version. If you are lucky, you may find the source code the debian way, except for the kernel.

You will then have to compile the sources to get the resulting executables and install the executables.

The Kernel is a bit tricky, but D-Bus and eglibc can be done the debian way.

For the kernel you will have to follow this tutorial, the Local Building item. If you need something more verbose, try this one.

Remember that even though you might find the exact version of the kernel to patch against, Raspberry Pi's kernel is not the default stock linux kernel. So, even if you have the exact version of the kernel for the patches, patching might still fail. And, if that happens, you will have to go down the code yourself and decide what changes have to be made to the patches so that they will apply without error.

Remember that if you have a rejected patch, your objective will most likely not be achieved.

What you want is no easy task, and would take some time and some trial-and-error iteractions even to the most experienced kernel programmer.

  • thank you for your really detailed answer. This is really helpful for me! i will try it :]. – Dogan Jul 17 '14 at 11:32

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.