Ticket #132 (closed enhancement: fixed)

Opened 7 months ago

Last modified 5 months ago

kprobes-enabled kernel

Reported by: trickie Owned by: trickie
Priority: normal Milestone:
Component: Package Version: 0.2
Keywords: Cc:

Description

This patch adds a bitbake recipe (and associated patches) for the maemo 4.0 kernel with backported kprobes. systemtap (see #131) requires a kprobes enabled kernel.

This patch also relies on the sourcedsc patch from #120 being applied, which will make a kernel source package that is buildable in the SDK and which you can compile systemtap kernel modules against.

Attachments

0002-Kernel-based-on-linux-nokia800-2.6.21-osso71-with-ba.patch (120.6 kB) - added by trickie 7 months ago.
kprobes enabled kernel
0001-Kernel-based-on-linux-nokia800-2.6.21-osso71-and-one.patch (482.5 kB) - added by trickie 5 months ago.
updated kprobes patch for chinook and diablo kernels
0002-Add-a-task-to-build-systemtap-and-associated-tools-i.patch (0.8 kB) - added by trickie 5 months ago.
task for building sdk + systemtap
0008-Remove-source-package-creation-as-default-for-chinoo.patch (0.8 kB) - added by trickie 5 months ago.
remove source package creation for kprobes kernel

Change History

Changed 7 months ago by trickie

kprobes enabled kernel

follow-up: ↓ 2   Changed 7 months ago by trickie

  • milestone 0.2 deleted

I will try and update this with the diablo kernel source now that it is released officially.

in reply to: ↑ 1 ; follow-up: ↓ 5   Changed 5 months ago by rsalveti

Replying to trickie:

I will try and update this with the diablo kernel source now that it is released officially.

That's what I was going to ask you. Probably you're not going to face any problem applying the patches on diablos's kernel, but it would be good if you could verify if it's working as expected.

Just post your new patch and I'll take a look.

Thanks,

rsalveti

  Changed 5 months ago by rsalveti

  • owner set to trickie

follow-up: ↓ 6   Changed 5 months ago by rsalveti

Changed 5 months ago by trickie

updated kprobes patch for chinook and diablo kernels

Changed 5 months ago by trickie

task for building sdk + systemtap

in reply to: ↑ 2   Changed 5 months ago by trickie

Replying to rsalveti:

Replying to trickie:

I will try and update this with the diablo kernel source now that it is released officially.

That's what I was going to ask you. Probably you're not going to face any problem applying the patches on diablos's kernel, but it would be good if you could verify if it's working as expected. Just post your new patch and I'll take a look.

Attached, with recipes for chinook and diablo kernels for both n800 and n810

Thanks, rsalveti

in reply to: ↑ 4   Changed 5 months ago by trickie

Replying to rsalveti:

Just a reminder for me to also add this patch before closing this ticket: http://trickie.xs4all.nl/?p=mamona;a=commitdiff;h=6830c2c355dd05a77caadecedcf2ee16b7eaf87c;hp=e6b40ebf81891d71bacb997877c913d5d617b34a

I have attached a newer patch for this also. I rebase my patches on top mamona.git HEAD so that old commit doesn't exist anymore.

follow-up: ↓ 8   Changed 5 months ago by rsalveti

Both patches applied, the first one I did another patch on top to remove duplicated code and to add default preference for n810. The second patch I applied by hand, to let it look like the others tasks we have at mamona.

Another comment about the first patch:

Note that at linux-nokia800-kprobes_2.6.21-osso71 the bb file has "inherit sourcedsc", should this be the default behavior from this package?

The diablo kprobes' kernel doesn't have this line, and maybe it should be a user decision to build the source or not, what do you think?

Thanks,

rsalveti

in reply to: ↑ 7 ; follow-up: ↓ 9   Changed 5 months ago by trickie

Replying to rsalveti:

Hi

Both patches applied, the first one I did another patch on top to remove duplicated code and to add default preference for n810. The second patch I applied by hand, to let it look like the others tasks we have at mamona.

Excellent. Thanks

Another comment about the first patch: Note that at linux-nokia800-kprobes_2.6.21-osso71 the bb file has "inherit sourcedsc", should this be the default behavior from this package?

Yes that slipped in. I build source packages for all my kernels, but i guess that should not be the default.

The diablo kprobes' kernel doesn't have this line, and maybe it should be a user decision to build the source or not, what do you think?

I agree. I can change the patches if you need me to.

Thanks, rsalveti

in reply to: ↑ 8 ; follow-up: ↓ 10   Changed 5 months ago by rsalveti

Replying to trickie:

The diablo kprobes' kernel doesn't have this line, and maybe it should be a user decision to build the source or not, what do you think?

I agree. I can change the patches if you need me to.

Just send me a patch fixing that and I'll apply.

Changed 5 months ago by trickie

remove source package creation for kprobes kernel

in reply to: ↑ 9   Changed 5 months ago by trickie

Replying to rsalveti:

Replying to trickie:

The diablo kprobes' kernel doesn't have this line, and maybe it should be a user decision to build the source or not, what do you think?

I agree. I can change the patches if you need me to.

Just send me a patch fixing that and I'll apply.

Attached. I cannot get to the OE commit policy (server seems dead), so i hope patches like this are ok.

Cheers

  Changed 5 months ago by rsalveti

http://dev.openbossa.org/mamona/gitweb?p=mamona.git;a=commit;h=c13d78da37fb8d21559923e6c78453fd6256b39d

Added.

The patch is fine, I would just recommend you to add the name of the recipe being modified at the beginning of the commit message.

follow-up: ↓ 13   Changed 5 months ago by rsalveti

There's just one issue that I saw when creating 0.2-beta that I'd like to verify before closing this ticket, that's the name of the packaged created by the kprobes enabled kernel's recipe.

I saw that the kprobes' enabled kernel was named like the normal kernel, so there could be a problem if you're trying to build both kernels (e.g. you want the default but you also want to have the possibility to change to the kprobes' enabled one).

Don't know if this is a valid situation, need to think more about it, but it could be a problem. For me something like kernel-kprobes sounds better than just "kernel", what do you think?

in reply to: ↑ 12 ; follow-up: ↓ 14   Changed 5 months ago by trickie

Replying to rsalveti:

Hi,

There's just one issue that I saw when creating 0.2-beta that I'd like to verify before closing this ticket, that's the name of the packaged created by the kprobes enabled kernel's recipe. I saw that the kprobes' enabled kernel was named like the normal kernel, so there could be a problem if you're trying to build both kernels (e.g. you want the default but you also want to have the possibility to change to the kprobes' enabled one). Don't know if this is a valid situation, need to think more about it, but it could be a problem. For me something like kernel-kprobes sounds better than just "kernel", what do you think?

Yeah ok, sounds like there could be confusiion/conflicts there. I had never thought about it actually.

Is this just a case of changing PACKAGES after you 'inherit kernel' ?

Ill try that today.

Cheers

in reply to: ↑ 13 ; follow-up: ↓ 15   Changed 5 months ago by trickie

Replying to trickie:

Hi again,

Replying to rsalveti: Hi,

There's just one issue that I saw when creating 0.2-beta that I'd like to verify before closing this ticket, that's the name of the packaged created by the kprobes enabled kernel's recipe. I saw that the kprobes' enabled kernel was named like the normal kernel, so there could be a problem if you're trying to build both kernels (e.g. you want the default but you also want to have the possibility to change to the kprobes' enabled one). Don't know if this is a valid situation, need to think more about it, but it could be a problem. For me something like kernel-kprobes sounds better than just "kernel", what do you think?

Yeah ok, sounds like there could be confusiion/conflicts there. I had never thought about it actually. Is this just a case of changing PACKAGES after you 'inherit kernel' ? Ill try that today.

Well I tried that, but it is going to be messy. We will basically have to not use the packages/linux/linux-nokia800.inc or the kernel.bbclass if we want to change the end package names.

I can try to make a patch for that, but I think it is not worth it. What do you think?

Cheers

in reply to: ↑ 14 ; follow-up: ↓ 16   Changed 5 months ago by rsalveti

Replying to trickie:

Well I tried that, but it is going to be messy. We will basically have to not use the packages/linux/linux-nokia800.inc or the kernel.bbclass if we want to change the end package names. I can try to make a patch for that, but I think it is not worth it. What do you think?

Hm, don't think it's worth, the package name is too tight at kernel.bbclass.

But can't think of a good solution, just some alternatives:

  1. Don't build any kernel and let the responsibility to the user.
  2. Build just the default kernel of the machine and let the kprobes enabled kernel available somewhere else (just the debs).
  3. Incorporate the kprobes patches at the official kernel, letting just one alternative to the user (like most recipes).

What do you think?

in reply to: ↑ 15 ; follow-up: ↓ 17   Changed 5 months ago by trickie

Replying to rsalveti:

Hey!

Replying to trickie:

Well I tried that, but it is going to be messy. We will basically have to not use the packages/linux/linux-nokia800.inc or the kernel.bbclass if we want to change the end package names. I can try to make a patch for that, but I think it is not worth it. What do you think?

Hm, don't think it's worth, the package name is too tight at kernel.bbclass.

Agreed.

But can't think of a good solution, just some alternatives: 1. Don't build any kernel and let the responsibility to the user. 1. Build just the default kernel of the machine and let the kprobes enabled kernel available somewhere else (just the debs).

Well for now it only builds linux-nokia800 unless you ask specifically for linux-n800-kprobes. People wanting to build a kprobes enabled kernel will probably be able to swap out the default kernel if they need to. They will need to have the mamona OE tree setup though...

1. Incorporate the kprobes patches at the official kernel, letting just one alternative to the user (like most recipes).

We could do that. There is a slight performance impact of having kprobes enabled, even if you are not using them, and also this is a backport that doesn't have the polish of the offical kprobes for ARM in later kernels.

Those are the reasons I didn't propose to add these patches to the default kernel, and instead make a new kernel recipe.

What do you think?

Id say unless there is quite some demand for a kprobes enabled kernel we leave it as is (the second option), and let people who want it build it themselves.

If there is demand later then we can merge the patches to the default kernel or spend the effort to make the recipe not use kernel.bbclass

in reply to: ↑ 16   Changed 5 months ago by rsalveti

  • status changed from new to closed
  • resolution set to fixed

Replying to trickie:

Well for now it only builds linux-nokia800 unless you ask specifically for linux-n800-kprobes. People wanting to build a kprobes enabled kernel will probably be able to swap out the default kernel if they need to. They will need to have the mamona OE tree setup though...

Yeah, agreed.

1. Incorporate the kprobes patches at the official kernel, letting just one alternative to the user (like most recipes).

We could do that. There is a slight performance impact of having kprobes enabled, even if you are not using them, and also this is a backport that doesn't have the polish of the offical kprobes for ARM in later kernels. Those are the reasons I didn't propose to add these patches to the default kernel, and instead make a new kernel recipe.

What do you think?

Id say unless there is quite some demand for a kprobes enabled kernel we leave it as is (the second option), and let people who want it build it themselves. If there is demand later then we can merge the patches to the default kernel or spend the effort to make the recipe not use kernel.bbclass

Agreed, sounds a good plan :-)

Thanks, think we can close this ticket now.

Note: See TracTickets for help on using tickets.