public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* git-pull request for tip/cpus4096
@ 2009-01-02 17:00 Mike Travis
  2009-01-02 18:09 ` Ingo Molnar
  0 siblings, 1 reply; 7+ messages in thread
From: Mike Travis @ 2009-01-02 17:00 UTC (permalink / raw)
  To: Ingo Molnar
  Cc: Rusty Russell, Gautham R Shenoy, Li Zefan, Sergio Luis,
	Suresh Siddha, Vaidyanathan Srinivasan, Yinghai Lu, LKML


Hi Ingo,

Here's the latest cpumask updates which includes the latest merge from Rusty's cpumask tree.

Thanks,
Mike

The following changes since commit 2ca1a615835d9f4990f42102ab1f2ef434e7e89c:
  Rusty Russell (1):
        Merge branch 'master' of git://git.kernel.org/.../torvalds/linux-2.6

are available in the git repository at:

  ssh://master.kernel.org/pub/scm/linux/kernel/git/travis/linux-2.6-cpus4096-for-ingo.git master

Gautham R Shenoy (1):
      sched: framework for sched_mc/smt_power_savings=N

Ingo Molnar (19):
      Merge branches 'sched/core', 'core/core' and 'tracing/core' into cpus4096
      sched: convert struct root_domain to cpumask_var_t, fix
      Merge branch 'linus' into cpus4096
      Merge branch 'tracing/fastboot' into cpus4096
      Merge branch 'sched/core' into cpus4096
      Merge branches 'irq/sparseirq', 'x86/quirks' and 'x86/reboot' into cpus4096
      Merge branch 'linus' into cpus4096
      Merge branch 'master' of git://git.kernel.org/.../rusty/linux-2.6-for-ingo into cpus4096
      Merge branch 'linus' into cpus4096
      Merge branch 'master' of git://git.kernel.org/.../travis/linux-2.6-cpus4096-for-ingo into cpus4096
      Merge branch 'irq/sparseirq' into cpus4096
      Merge branch 'x86/crashdump' into cpus4096
      x86: update io_apic.c to the new cpumask code
      Merge branch 'linus' into cpus4096
      Merge branch 'x86/apic' into cpus4096
      sched: move test_sd_parent() to an SMP section of sched.h
      sched: fix warning in kernel/sched.c
      x86: fix warning in arch/x86/kernel/io_apic.c
      x86: export vector_used_by_percpu_irq

Li Zefan (1):
      cpumask: fix bogus kernel-doc

Mike Travis (29):
      sched: reduce stack size requirements in kernel/sched.c
      x86: fix build error with post-merge of tip/cpus4096 and rr-for-ingo/master.
      x86: enable MAXSMP
      x86 smp: modify send_IPI_mask interface to accept cpumask_t pointers
      x86: move and enhance debug printk for nr_cpu_ids etc.
      x86: Add cpu_mask_to_apicid_and
      x86: update add-cpu_mask_to_apicid_and to use struct cpumask*
      x86: Update io_apic.c to use new cpumask API
      xen: convert to cpumask_var_t and new cpumask primitives.
      x86: fixup_irqs() doesnt need an argument.
      x86: cosmetic changes apic-related files.
      x86: Set CONFIG_NR_CPUS even on UP
      x86: prepare for cpumask iterators to only go to nr_cpu_ids
      x86: Use cpumask accessors code for possible/present maps.
      x86: Remove cpumask games in x86/kernel/cpu/intel_cacheinfo.c
      x86: use work_on_cpu in x86/kernel/cpu/mcheck/mce_amd_64.c
      x86: xen: use smp_call_function_many()
      x86: Introduce topology_core_cpumask()/topology_thread_cpumask()
      x86: fix cpu_mask_to_apicid_and to include cpu_online_mask
      x86: use possible_cpus=NUM to extend the possible cpus allowed
      Merge branch 'master' of git://git.kernel.org/.../rusty/linux-2.6-cpumask into merge-rr-cpumask
      x86: enable cpus display of kernel_max and offlined cpus
      x86: cleanup remaining cpumask_t ops in smpboot code
      sched: put back some stack hog changes that were undone in kernel/sched.c
      x86: cleanup some remaining usages of NR_CPUS where s/b nr_cpu_ids
      x86: cleanup remaining cpumask_t code in mce_amd_64.c
      x86: cleanup remaining cpumask_t code in microcode_core.c
      cpumask: use alloc_cpumask_var_node where appropriate
      cpumask: fix compile error when CONFIG_NR_CPUS is not defined

Rusty Russell (58):
      sched: convert sched.c from for_each_cpu_mask to for_each_cpu.
      sched: get rid of boutique sched.c allocations, use cpumask_var_t.
      sched: remove any_online_cpu()
      sched: wrap sched_group and sched_domain cpumask accesses.
      sched: convert struct sched_group/sched_domain cpumask_ts to variable bitmaps
      sched: convert nohz_cpu_mask to cpumask_var_t.
      sched: convert struct root_domain to cpumask_var_t.
      sched: convert nohz struct to cpumask_var_t.
      sched: convert idle_balance() to cpumask_var_t.
      sched: convert rebalance_domains() to cpumask_var_t.
      sched: convert sys_sched_getaffinity() to cpumask_var_t.
      sched: avoid stack var in move_task_off_dead_cpu
      sched: convert struct (sys_)sched_setaffinity() to cpumask_var_t.
      sched: convert sched_domain_debug to cpumask_var_t.
      sched: convert cpu_isolated_map to cpumask_var_t.
      sched: convert falback_doms to cpumask_var_t.
      sched: convert struct cpupri_vec cpumask_var_t.
      sched: convert check_preempt_equal_prio to cpumask_var_t.
      sched: convert local_cpu_mask to cpumask_var_t.
      sched: convert remaining old-style cpumask operators
      sched: convert nohz struct to cpumask_var_t, fix
      sched: convert local_cpu_mask to cpumask_var_t, fix
      sched: avoid stack var in move_task_off_dead_cpu, fix
      Merge ../linux-2.6-x86
      cpumask: Remove IA64 definition of total_cpus now it's in core code
      percpu: fix percpu accessors to potentially !cpu_possible() cpus: pnpbios
      percpu: fix percpu accessors to potentially !cpu_possible() cpus: m32r
      cpumask: prepare for iterators to only go to nr_cpu_ids/nr_cpumask_bits.: core
      cpumask: Use accessors code in core
      parisc: remove gratuitous cpu_online_map declaration.
      avr32: define __fls
      blackfin: define __fls
      m68k: define __fls
      m68knommu: define __fls
      bitmap: find_last_bit()
      cpumask: Use find_last_bit()
      cpumask: Introduce topology_core_cpumask()/topology_thread_cpumask(): sparc
      cpumask: Introduce topology_core_cpumask()/topology_thread_cpumask(): s390
      cpumask: Introduce topology_core_cpumask()/topology_thread_cpumask(): powerpc
      cpumask: Introduce topology_core_cpumask()/topology_thread_cpumask(): ia64
      cpumask: convert kernel trace functions
      cpumask: convert kernel trace functions further
      cpumask: remove any_online_cpu() users: kernel/
      cpumask: remove any_online_cpu() users: mm/
      cpumask: convert kernel/compat.c
      cpumask: convert kernel/workqueue.c
      cpumask: convert kernel time functions
      cpumask: convert kernel/irq
      cpumask: convert RCU implementations
      cpumask: convert kernel/profile.c
      cpumask: convert kernel/cpu.c
      cpumask: convert rest of files in kernel/
      cpumask: convert mm/
      cpumask: replace for_each_cpu_mask_nr with for_each_cpu in kernel/time/
      cpumask: zero extra bits in alloc_cpumask_var_node
      cpumask: CONFIG_DISABLE_OBSOLETE_CPUMASK_FUNCTIONS
      x86: use cpumask_var_t in acpi/boot.c
      cpumask: convert shared_cpu_map in acpi_processor* structs to cpumask_var_t

Sergio Luis (1):
      x86: mark get_cpu_leaves() with __cpuinit annotation

Suresh Siddha (1):
      x86: use logical apicid in x2apic_cluster's x2apic_cpu_mask_to_apicid_and()

Vaidyanathan Srinivasan (7):
      sched: convert BALANCE_FOR_xx_POWER to inline functions
      sched: favour lower logical cpu number for sched_mc balance
      sched: nominate preferred wakeup cpu
      sched: bias task wakeups to preferred semi-idle packages
      sched: activate active load balancing in new idle cpus
      sched: add SD_BALANCE_NEWIDLE at MC and CPU level for sched_mc>0
      sched: nominate preferred wakeup cpu, fix

Yinghai Lu (1):
      x86: fix lguest used_vectors breakage, -v2

 Documentation/cpu-hotplug.txt                 |   17 +-
 arch/alpha/kernel/irq.c                       |    3 +-
 arch/avr32/include/asm/bitops.h               |    5 +
 arch/blackfin/include/asm/bitops.h            |    1 +
 arch/ia64/include/asm/topology.h              |    4 +-
 arch/ia64/kernel/acpi.c                       |    1 -
 arch/m32r/kernel/smpboot.c                    |    2 +-
 arch/m68knommu/include/asm/bitops.h           |    1 +
 arch/mips/include/asm/mach-ip27/topology.h    |    1 -
 arch/parisc/include/asm/smp.h                 |    2 -
 arch/powerpc/include/asm/topology.h           |    3 +-
 arch/s390/include/asm/topology.h              |    1 +
 arch/sh/include/asm/topology.h                |    1 -
 arch/sparc/include/asm/topology_64.h          |    2 +
 arch/x86/Kconfig                              |   13 +-
 arch/x86/include/asm/bigsmp/apic.h            |   32 +-
 arch/x86/include/asm/bigsmp/ipi.h             |   13 +-
 arch/x86/include/asm/desc.h                   |   10 +-
 arch/x86/include/asm/es7000/apic.h            |   60 +-
 arch/x86/include/asm/es7000/ipi.h             |   12 +-
 arch/x86/include/asm/genapic_32.h             |   13 +-
 arch/x86/include/asm/genapic_64.h             |   14 +-
 arch/x86/include/asm/ipi.h                    |   23 +-
 arch/x86/include/asm/irq.h                    |    3 +-
 arch/x86/include/asm/lguest.h                 |    2 +-
 arch/x86/include/asm/mach-default/mach_apic.h |   28 +-
 arch/x86/include/asm/mach-default/mach_ipi.h  |   18 +-
 arch/x86/include/asm/mach-generic/mach_apic.h |    1 +
 arch/x86/include/asm/numaq/apic.h             |   16 +-
 arch/x86/include/asm/numaq/ipi.h              |   13 +-
 arch/x86/include/asm/smp.h                    |   38 +-
 arch/x86/include/asm/summit/apic.h            |   39 +-
 arch/x86/include/asm/summit/ipi.h             |    9 +-
 arch/x86/include/asm/topology.h               |    2 +
 arch/x86/kernel/acpi/boot.c                   |   31 +-
 arch/x86/kernel/apic.c                        |   30 +-
 arch/x86/kernel/cpu/common.c                  |   28 +-
 arch/x86/kernel/cpu/cpufreq/acpi-cpufreq.c    |   28 +-
 arch/x86/kernel/cpu/cpufreq/powernow-k7.c     |    9 +
 arch/x86/kernel/cpu/cpufreq/powernow-k8.c     |   24 +-
 arch/x86/kernel/cpu/intel_cacheinfo.c         |   41 +-
 arch/x86/kernel/cpu/mcheck/mce_amd_64.c       |  131 ++--
 arch/x86/kernel/cpuid.c                       |    2 +-
 arch/x86/kernel/genapic_flat_64.c             |  107 ++-
 arch/x86/kernel/genx2apic_cluster.c           |   81 ++-
 arch/x86/kernel/genx2apic_phys.c              |   74 ++-
 arch/x86/kernel/genx2apic_uv_x.c              |   61 ++-
 arch/x86/kernel/io_apic.c                     |  358 +++++-----
 arch/x86/kernel/ipi.c                         |   28 +-
 arch/x86/kernel/irq.c                         |    3 +
 arch/x86/kernel/irq_32.c                      |   13 +-
 arch/x86/kernel/irq_64.c                      |   15 +-
 arch/x86/kernel/irqinit_32.c                  |   16 +-
 arch/x86/kernel/irqinit_64.c                  |   13 +
 arch/x86/kernel/microcode_core.c              |   83 ++-
 arch/x86/kernel/msr.c                         |    2 +-
 arch/x86/kernel/reboot.c                      |    9 +-
 arch/x86/kernel/setup_percpu.c                |   42 +-
 arch/x86/kernel/smp.c                         |   23 +-
 arch/x86/kernel/smpboot.c                     |  159 +++--
 arch/x86/kernel/tlb_32.c                      |    2 +-
 arch/x86/kernel/tlb_64.c                      |    2 +-
 arch/x86/kernel/traps.c                       |   12 +-
 arch/x86/mach-generic/bigsmp.c                |    5 +-
 arch/x86/mach-generic/es7000.c                |    5 +-
 arch/x86/mach-generic/numaq.c                 |    5 +-
 arch/x86/mach-generic/summit.c                |    5 +-
 arch/x86/mach-voyager/voyager_smp.c           |    9 +-
 arch/x86/mm/numa_64.c                         |    4 +-
 arch/x86/mm/srat_64.c                         |    2 +-
 arch/x86/xen/mmu.c                            |   20 +-
 arch/x86/xen/smp.c                            |   27 +-
 arch/x86/xen/suspend.c                        |    3 +-
 arch/x86/xen/xen-ops.h                        |    2 +-
 drivers/acpi/processor_core.c                 |   14 +-
 drivers/acpi/processor_perflib.c              |   28 +-
 drivers/acpi/processor_throttling.c           |   80 ++-
 drivers/base/cpu.c                            |    2 +-
 drivers/lguest/interrupts_and_traps.c         |   13 +-
 drivers/pnp/pnpbios/bioscalls.c               |    2 +-
 include/acpi/processor.h                      |    4 +-
 include/asm-m68k/bitops.h                     |    5 +
 include/linux/bitops.h                        |   13 +-
 include/linux/cpumask.h                       |   11 +-
 include/linux/interrupt.h                     |    2 +-
 include/linux/rcuclassic.h                    |    4 +-
 include/linux/sched.h                         |   92 ++-
 include/linux/stop_machine.h                  |    6 +-
 include/linux/tick.h                          |    4 +-
 include/linux/topology.h                      |    6 +-
 init/main.c                                   |   13 +-
 kernel/compat.c                               |   49 +-
 kernel/cpu.c                                  |   48 +-
 kernel/irq/manage.c                           |   11 +-
 kernel/irq/proc.c                             |   32 +-
 kernel/kexec.c                                |    2 +-
 kernel/power/poweroff.c                       |    2 +-
 kernel/profile.c                              |   38 +-
 kernel/rcuclassic.c                           |   31 +-
 kernel/rcupreempt.c                           |   19 +-
 kernel/rcutorture.c                           |   27 +-
 kernel/sched.c                                |  975 ++++++++++++++-----------
 kernel/sched_cpupri.c                         |   39 +-
 kernel/sched_cpupri.h                         |    5 +-
 kernel/sched_fair.c                           |   32 +-
 kernel/sched_rt.c                             |   74 ++-
 kernel/sched_stats.h                          |    3 +-
 kernel/smp.c                                  |    2 +-
 kernel/softirq.c                              |    2 +-
 kernel/softlockup.c                           |   10 +-
 kernel/stop_machine.c                         |    8 +-
 kernel/taskstats.c                            |   39 +-
 kernel/time/clocksource.c                     |    9 +-
 kernel/time/tick-broadcast.c                  |  115 ++--
 kernel/time/tick-common.c                     |    6 +-
 kernel/time/tick-sched.c                      |   10 +-
 kernel/trace/ring_buffer.c                    |   42 +-
 kernel/trace/trace.c                          |   72 ++-
 kernel/trace/trace.h                          |    2 +-
 kernel/trace/trace_boot.c                     |    2 +-
 kernel/trace/trace_functions_graph.c          |    2 +-
 kernel/trace/trace_hw_branches.c              |    6 +-
 kernel/trace/trace_power.c                    |    2 +-
 kernel/trace/trace_sysprof.c                  |   13 +-
 kernel/workqueue.c                            |   26 +-
 lib/Kconfig                                   |    8 +
 lib/Makefile                                  |    1 +
 lib/cpumask.c                                 |   10 +-
 lib/find_last_bit.c                           |   45 ++
 mm/pdflush.c                                  |   16 +-
 mm/slab.c                                     |    2 +-
 mm/slub.c                                     |   20 +-
 mm/vmscan.c                                   |    4 +-
 mm/vmstat.c                                   |    4 +-
 security/selinux/selinuxfs.c                  |    2 +-
 135 files changed, 2499 insertions(+), 1584 deletions(-)
 create mode 100644 lib/find_last_bit.c


^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: git-pull request for tip/cpus4096
  2009-01-02 17:00 git-pull request for tip/cpus4096 Mike Travis
@ 2009-01-02 18:09 ` Ingo Molnar
  2009-01-02 18:24   ` Mike Travis
  2009-01-03  6:01   ` Rusty Russell
  0 siblings, 2 replies; 7+ messages in thread
From: Ingo Molnar @ 2009-01-02 18:09 UTC (permalink / raw)
  To: Mike Travis
  Cc: Rusty Russell, Gautham R Shenoy, Li Zefan, Sergio Luis,
	Suresh Siddha, Vaidyanathan Srinivasan, Yinghai Lu, LKML


* Mike Travis <travis@sgi.com> wrote:

> 
> Hi Ingo,
> 
> Here's the latest cpumask updates which includes the latest merge from 
> Rusty's cpumask tree.

Pulled into tip/cpus4096, thanks Mike.

Rusty already sent the pull request to Linus for his latest cpumask bits - 
is it fine if that goes upstream first and we do the second phase of the 
cpus4096 tree after that point?

Also, while testing tip/master i noticed that a couple of architectures 
wouldnt build due to cpumask changes:

   testing 21 architectures.
 
   testing       cris:  -git:  pass (  28),  -tip:  FAIL (  25)
   testing       m32r:  -git:  pass (  21),  -tip:  FAIL (  31)
 
both build failures go like this:
 
  /home/mingo/tip/lib/find_last_bit.c: In function 'find_last_bit':
  /home/mingo/tip/lib/find_last_bit.c:38: error: implicit declaration of function '__fls'
  make[2]: *** [lib/find_last_bit.o] Error 1
  make[2]: *** Waiting for unfinished jobs....
  make[1]: *** [lib] Error 2
 
these architectures have no __fls() implementation ...
 
trouble should be expected on ~8 architectures:
 
  for N in arch/*; do [ -d $N ] && ( printf "%-20s: " $N; cd $N; dgrep __fls |
    wc -l; ); done | sort -t: -n -k +2
 
 arch/cris           : 0
 arch/frv            : 0
 arch/h8300          : 0
 arch/m32r           : 0
 arch/m68k           : 0
 arch/mn10300        : 0
 arch/um             : 0
 arch/xtensa         : 0
 arch/arm            : 1
 arch/avr32          : 1
 arch/blackfin       : 1
 arch/ia64           : 1
 arch/m68knommu      : 1
 arch/parisc         : 1
 arch/powerpc        : 1
 arch/s390           : 1
 arch/sh             : 1
 arch/x86            : 1
 arch/alpha          : 2
 arch/sparc          : 2
 arch/mips           : 5
 
 	Ingo

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: git-pull request for tip/cpus4096
  2009-01-02 18:09 ` Ingo Molnar
@ 2009-01-02 18:24   ` Mike Travis
  2009-01-03  6:01   ` Rusty Russell
  1 sibling, 0 replies; 7+ messages in thread
From: Mike Travis @ 2009-01-02 18:24 UTC (permalink / raw)
  To: Ingo Molnar
  Cc: Rusty Russell, Gautham R Shenoy, Li Zefan, Sergio Luis,
	Suresh Siddha, Vaidyanathan Srinivasan, Yinghai Lu, LKML,
	Jack Steiner

Ingo Molnar wrote:
> * Mike Travis <travis@sgi.com> wrote:
> 
>> Hi Ingo,
>>
>> Here's the latest cpumask updates which includes the latest merge from 
>> Rusty's cpumask tree.
> 
> Pulled into tip/cpus4096, thanks Mike.
> 
> Rusty already sent the pull request to Linus for his latest cpumask bits - 
> is it fine if that goes upstream first and we do the second phase of the 
> cpus4096 tree after that point?

As in the bits included in this pull request, or as in the last set of cpumask
changes yet to be pushed to you?  (Either is fine with me, just let me know
what you want me to do.)

> 
> Also, while testing tip/master i noticed that a couple of architectures 
> wouldnt build due to cpumask changes:
> 
>    testing 21 architectures.
>  
>    testing       cris:  -git:  pass (  28),  -tip:  FAIL (  25)
>    testing       m32r:  -git:  pass (  21),  -tip:  FAIL (  31)
>  
> both build failures go like this:
>  
>   /home/mingo/tip/lib/find_last_bit.c: In function 'find_last_bit':
>   /home/mingo/tip/lib/find_last_bit.c:38: error: implicit declaration of function '__fls'
>   make[2]: *** [lib/find_last_bit.o] Error 1
>   make[2]: *** Waiting for unfinished jobs....
>   make[1]: *** [lib] Error 2
>  
> these architectures have no __fls() implementation ...
>  
> trouble should be expected on ~8 architectures:

I'll leave this to Rusty, as it's his baby.  (Is there an echo in here? ;-)

Thanks,
Mike

>  
>   for N in arch/*; do [ -d $N ] && ( printf "%-20s: " $N; cd $N; dgrep __fls |
>     wc -l; ); done | sort -t: -n -k +2
>  
>  arch/cris           : 0
>  arch/frv            : 0
>  arch/h8300          : 0
>  arch/m32r           : 0
>  arch/m68k           : 0
>  arch/mn10300        : 0
>  arch/um             : 0
>  arch/xtensa         : 0
>  arch/arm            : 1
>  arch/avr32          : 1
>  arch/blackfin       : 1
>  arch/ia64           : 1
>  arch/m68knommu      : 1
>  arch/parisc         : 1
>  arch/powerpc        : 1
>  arch/s390           : 1
>  arch/sh             : 1
>  arch/x86            : 1
>  arch/alpha          : 2
>  arch/sparc          : 2
>  arch/mips           : 5
>  
>  	Ingo


^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: git-pull request for tip/cpus4096
  2009-01-02 18:09 ` Ingo Molnar
  2009-01-02 18:24   ` Mike Travis
@ 2009-01-03  6:01   ` Rusty Russell
  2009-01-03  6:18     ` Stephen Rothwell
  1 sibling, 1 reply; 7+ messages in thread
From: Rusty Russell @ 2009-01-03  6:01 UTC (permalink / raw)
  To: Ingo Molnar, LKML
  Cc: Mike Travis, Chris Zankel, David Howells, Koichi Yasutake,
	linux-am33-list, Hirokazu Takata, linux-m32r, Yoshinori Sato

On Saturday 03 January 2009 04:39:42 Ingo Molnar wrote:
> these architectures have no __fls() implementation ...
...
>  arch/cris           : 0
>  arch/frv            : 0
>  arch/h8300          : 0
>  arch/m32r           : 0
>  arch/m68k           : 0
>  arch/mn10300        : 0
>  arch/um             : 0
>  arch/xtensa         : 0

These are the non-linux-next archs.

I've already patched m68k (but it's in include/asm-m68k) and um doesn't
need it.  

Fixes are below, and pushed into my cpumask git tree.

Thanks,
Rusty.

commit 5ece5c5192d065c229da01e7b347c1d3877b59fa
Author: Rusty Russell <rusty@rustcorp.com.au>
Date:   Sat Jan 3 16:21:08 2009 +1030

    xtensa: define __fls
    
    Like fls, but can't be handed 0 and returns the bit number.
    
    Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>

diff --git a/include/asm-xtensa/bitops.h b/include/asm-xtensa/bitops.h
index 23261e8..6c39303 100644
--- a/include/asm-xtensa/bitops.h
+++ b/include/asm-xtensa/bitops.h
@@ -82,6 +82,16 @@ static inline int fls (unsigned int x)
 	return 32 - __cntlz(x);
 }
 
+/**
+ * __fls - find last (most-significant) set bit in a long word
+ * @word: the word to search
+ *
+ * Undefined if no set bit exists, so code should check against 0 first.
+ */
+static inline unsigned long __fls(unsigned long word)
+{
+	return 31 - __cntlz(word);
+}
 #else
 
 /* Use the generic implementation if we don't have the nsa/nsau instructions. */
@@ -90,6 +100,7 @@ static inline int fls (unsigned int x)
 # include <asm-generic/bitops/__ffs.h>
 # include <asm-generic/bitops/ffz.h>
 # include <asm-generic/bitops/fls.h>
+# include <asm-generic/bitops/__fls.h>
 
 #endif
 

commit 5c134dad43443aa9c9606eaf47c378a6b9c5c597
Author: Rusty Russell <rusty@rustcorp.com.au>
Date:   Sat Jan 3 16:19:03 2009 +1030

    mn10300: define __fls
    
    Like fls, but can't be handed 0 and returns the bit number.
    
    Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>

diff --git a/include/asm-mn10300/bitops.h b/include/asm-mn10300/bitops.h
index cc6d40c..0b610f4 100644
--- a/include/asm-mn10300/bitops.h
+++ b/include/asm-mn10300/bitops.h
@@ -196,6 +196,17 @@ int fls(int x)
 }
 
 /**
+ * __fls - find last (most-significant) set bit in a long word
+ * @word: the word to search
+ *
+ * Undefined if no set bit exists, so code should check against 0 first.
+ */
+static inline unsigned long __fls(unsigned long word)
+{
+	return __ilog2_u32(word);
+}
+
+/**
  * ffs - find first bit set
  * @x: the word to search
  *

commit 16a206260ee70f181de6a3672678545859589ef2
Author: Rusty Russell <rusty@rustcorp.com.au>
Date:   Sat Jan 3 16:16:54 2009 +1030

    m32r: define __fls
    
    Like fls, but can't be handed 0 and returns the bit number.
    
    Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>

diff --git a/include/asm-m32r/bitops.h b/include/asm-m32r/bitops.h
index 6dc9b81..aaddf0d 100644
--- a/include/asm-m32r/bitops.h
+++ b/include/asm-m32r/bitops.h
@@ -251,6 +251,7 @@ static __inline__ int test_and_change_bit(int nr, volatile void * addr)
 #include <asm-generic/bitops/ffz.h>
 #include <asm-generic/bitops/__ffs.h>
 #include <asm-generic/bitops/fls.h>
+#include <asm-generic/bitops/__fls.h>
 #include <asm-generic/bitops/fls64.h>
 
 #ifdef __KERNEL__

commit 9ddabc2a29163e4b243d10c5e06fc5584073d7ad
Author: Rusty Russell <rusty@rustcorp.com.au>
Date:   Sat Jan 3 16:16:04 2009 +1030

    h8300: define __fls
    
    Like fls, but can't be handed 0 and returns the bit number.
    
    Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>

diff --git a/arch/h8300/include/asm/bitops.h b/arch/h8300/include/asm/bitops.h
index cb18e3b..cb9ddf5 100644
--- a/arch/h8300/include/asm/bitops.h
+++ b/arch/h8300/include/asm/bitops.h
@@ -207,6 +207,7 @@ static __inline__ unsigned long __ffs(unsigned long word)
 #endif /* __KERNEL__ */
 
 #include <asm-generic/bitops/fls.h>
+#include <asm-generic/bitops/__fls.h>
 #include <asm-generic/bitops/fls64.h>
 
 #endif /* _H8300_BITOPS_H */

commit ee38e5140bafbf40e1bd25ab917ac8db54a27799
Author: Rusty Russell <rusty@rustcorp.com.au>
Date:   Sat Jan 3 16:14:05 2009 +1030

    frv: define __fls
    
    Like fls, but can't be handed 0 and returns the bit number.
    
    Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>

diff --git a/include/asm-frv/bitops.h b/include/asm-frv/bitops.h
index 39456ba..287f6f6 100644
--- a/include/asm-frv/bitops.h
+++ b/include/asm-frv/bitops.h
@@ -339,6 +339,19 @@ int __ffs(unsigned long x)
 	return 31 - bit;
 }
 
+/**
+ * __fls - find last (most-significant) set bit in a long word
+ * @word: the word to search
+ *
+ * Undefined if no set bit exists, so code should check against 0 first.
+ */
+static inline unsigned long __fls(unsigned long word)
+{
+	unsigned long bit;
+	asm("scan %1,gr0,%0" : "=r"(bit) : "r"(word));
+	return bit;
+}
+
 /*
  * special slimline version of fls() for calculating ilog2_u32()
  * - note: no protection against n == 0

^ permalink raw reply related	[flat|nested] 7+ messages in thread

* Re: git-pull request for tip/cpus4096
  2009-01-03  6:01   ` Rusty Russell
@ 2009-01-03  6:18     ` Stephen Rothwell
  2009-01-03 10:03       ` Rusty Russell
  0 siblings, 1 reply; 7+ messages in thread
From: Stephen Rothwell @ 2009-01-03  6:18 UTC (permalink / raw)
  To: Rusty Russell
  Cc: Ingo Molnar, LKML, Mike Travis, Chris Zankel, David Howells,
	Koichi Yasutake, linux-am33-list, Hirokazu Takata, linux-m32r,
	Yoshinori Sato

[-- Attachment #1: Type: text/plain, Size: 644 bytes --]

Hi Rusty,

On Sat, 3 Jan 2009 16:31:46 +1030 Rusty Russell <rusty@rustcorp.com.au> wrote:
>
> >  arch/cris           : 0
> >  arch/frv            : 0
> >  arch/h8300          : 0
> >  arch/m32r           : 0
> >  arch/m68k           : 0
> >  arch/mn10300        : 0
> >  arch/um             : 0
> >  arch/xtensa         : 0
> 
> These are the non-linux-next archs.

linux-next does include (in theory) cris, m68k and xtensa.  I don't,
however, have a cris cross compiler.  And now I need a new sh cross
compiler. :-(

-- 
Cheers,
Stephen Rothwell                    sfr@canb.auug.org.au
http://www.canb.auug.org.au/~sfr/

[-- Attachment #2: Type: application/pgp-signature, Size: 197 bytes --]

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: git-pull request for tip/cpus4096
  2009-01-03  6:18     ` Stephen Rothwell
@ 2009-01-03 10:03       ` Rusty Russell
  2009-01-03 10:20         ` Stephen Rothwell
  0 siblings, 1 reply; 7+ messages in thread
From: Rusty Russell @ 2009-01-03 10:03 UTC (permalink / raw)
  To: Stephen Rothwell; +Cc: Ingo Molnar, LKML, Mike Travis

On Saturday 03 January 2009 16:48:38 Stephen Rothwell wrote:
> Hi Rusty,
> 
> On Sat, 3 Jan 2009 16:31:46 +1030 Rusty Russell <rusty@rustcorp.com.au> wrote:
> >
> > >  arch/cris           : 0
> > >  arch/frv            : 0
> > >  arch/h8300          : 0
> > >  arch/m32r           : 0
> > >  arch/m68k           : 0
> > >  arch/mn10300        : 0
> > >  arch/um             : 0
> > >  arch/xtensa         : 0
> > 
> > These are the non-linux-next archs.
> 
> linux-next does include (in theory) cris, m68k and xtensa. 

m68k was actually OK, and xtensa did show the __fls issue (but it seems
broken by something else as well).

BTW, do you send mail automagically when something breaks, or does one have
to check the web page?

Thanks,
Rusty.

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: git-pull request for tip/cpus4096
  2009-01-03 10:03       ` Rusty Russell
@ 2009-01-03 10:20         ` Stephen Rothwell
  0 siblings, 0 replies; 7+ messages in thread
From: Stephen Rothwell @ 2009-01-03 10:20 UTC (permalink / raw)
  To: Rusty Russell; +Cc: Ingo Molnar, LKML, Mike Travis

[-- Attachment #1: Type: text/plain, Size: 668 bytes --]

Hi Rusty,

On Sat, 3 Jan 2009 20:33:24 +1030 Rusty Russell <rusty@rustcorp.com.au> wrote:
>
> BTW, do you send mail automagically when something breaks, or does one have
> to check the web page?

The infrastructure (kissb) doesn't have a notification facility but I
might suggest it to Michael.  Sometimes (when I have time) I check out
the results and report anything interesting.  Otherwise, I expect
interested people will check every now and then.

Maybe more publicity is needed (though I do mention it in the daily
release announcements).

-- 
Cheers,
Stephen Rothwell                    sfr@canb.auug.org.au
http://www.canb.auug.org.au/~sfr/

[-- Attachment #2: Type: application/pgp-signature, Size: 197 bytes --]

^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2009-01-03 10:21 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2009-01-02 17:00 git-pull request for tip/cpus4096 Mike Travis
2009-01-02 18:09 ` Ingo Molnar
2009-01-02 18:24   ` Mike Travis
2009-01-03  6:01   ` Rusty Russell
2009-01-03  6:18     ` Stephen Rothwell
2009-01-03 10:03       ` Rusty Russell
2009-01-03 10:20         ` Stephen Rothwell

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox