Re: What is use of apply_alternative function from alternative.c

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Tue, Mar 20, 2012 at 7:54 AM, Pritam Bankar
<pritambankar1988@xxxxxxxxx> wrote:
> Hi,
> Cal anyone help me in understanding alternative.c file from Linux source
> code.

> I want to learn function apply_alternative. AFAIK this code applies better
> replacement to instruction set used by processor.
> But I am not sure what exactly it is doing ?

if you add "debug-alternatives" to boot args, you'll see something like this.

basically it patches the kernel, inserting locks and synchronization
so that the kernel can run on SMP / multi-core arches.
Once this is done, the other cores can be started.

There are also some helpful comments in the code :-O

apply_alternatives: alt table ffffffff81d546a8 -> ffffffff81d54ccc
alternatives_smp_module_add: locks ffffffff81d57000 ->
ffffffff81d5a000, text ffffffff81000000 -> ffffffff8149a3d2, name core
kernel
lockdep: fixing up alternatives.
lockdep: fixing up alternatives.
lockdep: fixing up alternatives.
apply_alternatives: alt table ffffffff81a0363a -> ffffffff81a03652
alternatives_smp_module_add: locks ffffffffa001115c ->
ffffffffa001117c, text ffffffffa000f000 -> ffffffffa0010ac0, name
video
alternatives_smp_module_add: locks ffffffffa002f530 ->
ffffffffa002f598, text ffffffffa002c000 -> ffffffffa002efb4, name
agpgart
alternatives_smp_module_add: locks ffffffffa005b1a4 ->
ffffffffa005b244, text ffffffffa0039000 -> ffffffffa004e508, name drm
alternatives_smp_module_add: locks ffffffffa007f634 ->
ffffffffa007f638, text ffffffffa007b000 -> ffffffffa007e6fc, name
drm_kms_helper
alternatives_smp_module_add: locks ffffffffa0091a84 ->
ffffffffa0091abc, text ffffffffa0087000 -> ffffffffa008fab4, name ttm
apply_alternatives: alt table ffffffffa011ca28 -> ffffffffa011ca40
alternatives_smp_module_add: locks ffffffffa011c8f8 ->
ffffffffa011c974, text ffffffffa00a1000 -> ffffffffa010c104, name
nouveau
alternatives_smp_module_add: locks ffffffffa006fc14 ->
ffffffffa006fc68, text ffffffffa006b000 -> ffffffffa006e340, name
usb_storage
alternatives_smp_module_add: locks ffffffffa013d45c ->
ffffffffa013d474, text ffffffffa0138000 -> ffffffffa013c044, name
autofs4
alternatives_smp_module_add: locks ffffffffa0177b38 ->
ffffffffa0177c84, text ffffffffa0141000 -> ffffffffa0170380, name ipv6
alternatives_smp_module_add: locks ffffffffa000d294 ->
ffffffffa000d2bc, text ffffffffa000c000 -> ffffffffa000d174, name
uinput
apply_alternatives: alt table ffffffffa01d7b77 -> ffffffffa01d7be3
alternatives_smp_module_add: locks ffffffffa01d491c ->
ffffffffa01d4a00, text ffffffffa01a2000 -> ffffffffa01ccf6c, name kvm

>
> --
>
> Pritam Bankar
>
> _______________________________________________
> Kernelnewbies mailing list
> Kernelnewbies@xxxxxxxxxxxxxxxxx
> http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies
>

_______________________________________________
Kernelnewbies mailing list
Kernelnewbies@xxxxxxxxxxxxxxxxx
http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies


[Index of Archives]     [Newbies FAQ]     [Linux Kernel Mentors]     [Linux Kernel Development]     [IETF Annouce]     [Git]     [Networking]     [Security]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux SCSI]     [Linux ACPI]
  Powered by Linux