[RFC 13/13] genapic: reduce stack pressuge in io_apic.c step 5 cpu_mask_to_apicid

Previous thread: [RFC 10/13] genapic: reduce stack pressuge in io_apic.c step 2 internal abi by Mike Travis on Saturday, September 6, 2008 - 4:50 pm. (1 message)

Next thread: [RFC 12/13] genapic: reduce stack pressuge in io_apic.c step 4 vector allocation by Mike Travis on Saturday, September 6, 2008 - 4:50 pm. (1 message)
From: Mike Travis
Date: Saturday, September 6, 2008 - 4:50 pm

* Step 5 "cpu_mask_to_apicid" of cleaning up io_apic.c modifies the
    cpu_mask_to_apicid genapic interface to pass a pointer to incoming
    cpumask_t argument removing yet another "cpumask_t variable on the stack".

	apicid = cpu_mask_to_apicid(cpumask);

    becomes:

	apicid = cpu_mask_to_apicid(&cpumask);

  * All the appropriate genapic "cpu_mask_to_apicid" functions
    are modified to use this new interface.

  * Total stack savings are:

    ====== Stack (-l 100)

	1 - initial
	2 - stack-hogs-io_apic_c-step-1-temp-cpumask_ts
	3 - stack-hogs-io_apic_c-step-2-internal-abi
	4 - stack-hogs-io_apic_c-step-3-target_cpus
	5 - stack-hogs-io_apic_c-step-4-vector_allocation_domain
	6 - stack-hogs-io_apic_c-step-5-cpu_mask_to_apicid

       .1.    .2.   .3.   .4.    .5.   .6.    ..final..
      1576   -512     .  -512      .  -552   .  -100%  setup_IO_APIC_irq
      1560   -512     .  -528      .  -520   .  -100%  msi_compose_msg
      1560   -512     .  -512      .  -536   .  -100%  arch_setup_ht_irq
      1560  -1008     .     .   -552     .   .  -100%  __assign_irq_vector
      1144      .  -512  -632      .     .   .  -100%  setup_IO_APIC
      1048      .     .  -512      .  -536   .  -100%  setup_timer_IRQ0_pin
      1048      .  -512  -536      .     .   .  -100%  setup_ioapic_dest
      1048   -512  -536     .      .     .   .  -100%  set_ioapic_affinity_irq
      1040   -512     .     .      .  -528   .  -100%  set_msi_irq_affinity
      1040   -512     .     .      .  -528   .  -100%  set_ht_irq_affinity
      1040   -512     .     .      .  -528   .  -100%  dmar_msi_set_affinity
      1032     -8  -512  -512      .     .   .  -100%  create_irq_nr
      1024      .     .     .  -1024     .   .  -100%  x2apic_vector_allocation_domain
      1024      .     .     .  -1024     .   .  -100%  uv_vector_allocation_domain
       520   -520     .     .      .     .   .  -100%  __clear_irq_vector
       512   -512     .     .      .     .   .  -100%  ...
Previous thread: [RFC 10/13] genapic: reduce stack pressuge in io_apic.c step 2 internal abi by Mike Travis on Saturday, September 6, 2008 - 4:50 pm. (1 message)

Next thread: [RFC 12/13] genapic: reduce stack pressuge in io_apic.c step 4 vector allocation by Mike Travis on Saturday, September 6, 2008 - 4:50 pm. (1 message)