27 Jul, 2008

2 commits

  • This implements a platform-independent version of show_mem().

    Signed-off-by: Johannes Weiner
    Cc: Richard Henderson
    Cc: Ivan Kokshaysky
    Cc: Haavard Skinnemoen
    Cc: Bryan Wu
    Cc: Chris Zankel
    Cc: Ingo Molnar
    Cc: Jeff Dike
    Cc: David S. Miller
    Cc: Paul Mundt
    Cc: Heiko Carstens
    Cc: Martin Schwidefsky
    Cc: David Howells
    Cc: Benjamin Herrenschmidt
    Cc: Paul Mackerras
    Cc: Yoshinori Sato
    Cc: Ralf Baechle
    Cc: Greg Ungerer
    Cc: Geert Uytterhoeven
    Cc: Roman Zippel
    Cc: Hirokazu Takata
    Cc: Mikael Starvik
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Johannes Weiner
     
  • This adds the new function task_current_syscall() on machines where the
    asm/syscall.h interface is supported (CONFIG_HAVE_ARCH_TRACEHOOK). It's
    exported for modules to use in the future. This function safely samples
    the state of a blocked thread to collect what system call it is blocked
    in, and the six system call argument registers.

    Signed-off-by: Roland McGrath
    Cc: Oleg Nesterov
    Reviewed-by: Ingo Molnar
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Roland McGrath
     

25 Jul, 2008

1 commit

  • This updates to define the key routines as constant
    functions, which the macros will then call. Newer code can now call
    bcd2bin() instead of SCREAMING BCD2BIN() TO THE FOUR WINDS.

    This lets each driver shrink their codespace by using N function calls to
    a single (global) copy of those routines, instead of N inlined copies of
    these functions per driver.

    These routines aren't used in speed-critical code. Almost all callers are
    in the RTC framework. Typical per-driver savings is near 300 bytes.

    Signed-off-by: David Brownell
    Acked-by: Adrian Bunk
    Cc: Alessandro Zummo
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    David Brownell
     

17 Jul, 2008

2 commits

  • make function tracing more robust: do not trace library functions.

    We've already got a sizable list of exceptions:

    ifdef CONFIG_FTRACE
    # Do not profile string.o, since it may be used in early boot or vdso
    CFLAGS_REMOVE_string.o = -pg
    # Also do not profile any debug utilities
    CFLAGS_REMOVE_spinlock_debug.o = -pg
    CFLAGS_REMOVE_list_debug.o = -pg
    CFLAGS_REMOVE_debugobjects.o = -pg
    CFLAGS_REMOVE_find_next_bit.o = -pg
    CFLAGS_REMOVE_cpumask.o = -pg
    CFLAGS_REMOVE_bitmap.o = -pg
    endif

    ... and the pattern has been that random library functionality showed
    up in ftrace's critical path (outside of its recursion check), causing
    hard to debug lockups.

    So be a bit defensive about it and exclude all lib/*.o functions by
    default. It's not that they are overly interesting for tracing purposes
    anyway. Specific ones can still be traced, in an opt-in manner.

    Signed-off-by: Ingo Molnar

    Ingo Molnar
     
  • MAXSMP brings in lots of use of various bitops in smp_processor_id()
    and friends - causing ftrace to lock up during bootup:

    calling anon_inode_init+0x0/0x130
    initcall anon_inode_init+0x0/0x130 returned 0 after 0 msecs
    calling acpi_event_init+0x0/0x57
    [ hard hang ]

    So exclude the bitops facilities from tracing.

    Signed-off-by: Ingo Molnar

    Ingo Molnar
     

16 Jul, 2008

1 commit

  • * git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6: (102 commits)
    [SCSI] scsi_dh: fix kconfig related build errors
    [SCSI] sym53c8xx: Fix bogus sym_que_entry re-implementation of container_of
    [SCSI] scsi_cmnd.h: remove double inclusion of linux/blkdev.h
    [SCSI] make struct scsi_{host,target}_type static
    [SCSI] fix locking in host use of blk_plug_device()
    [SCSI] zfcp: Cleanup external header file
    [SCSI] zfcp: Cleanup code in zfcp_erp.c
    [SCSI] zfcp: zfcp_fsf cleanup.
    [SCSI] zfcp: consolidate sysfs things into one file.
    [SCSI] zfcp: Cleanup of code in zfcp_aux.c
    [SCSI] zfcp: Cleanup of code in zfcp_scsi.c
    [SCSI] zfcp: Move status accessors from zfcp to SCSI include file.
    [SCSI] zfcp: Small QDIO cleanups
    [SCSI] zfcp: Adapter reopen for large number of unsolicited status
    [SCSI] zfcp: Fix error checking for ELS ADISC requests
    [SCSI] zfcp: wait until adapter is finished with ERP during auto-port
    [SCSI] ibmvfc: IBM Power Virtual Fibre Channel Adapter Client Driver
    [SCSI] sg: Add target reset support
    [SCSI] lib: Add support for the T10 (SCSI) Data Integrity Field CRC
    [SCSI] sd: Move scsi_disk() accessor function to sd.h
    ...

    Linus Torvalds
     

12 Jul, 2008

1 commit


24 May, 2008

3 commits

  • This patch removes the Makefile turd and uses the nice CFLAGS_REMOVE macro
    in the lib directory.

    Signed-off-by: Steven Rostedt
    Signed-off-by: Ingo Molnar
    Signed-off-by: Thomas Gleixner

    Steven Rostedt
     
  • The debug functions in spin_lock debugging pollute the output of the
    function tracer. This patch adds the debug files in the lib director
    to those that should not be compiled with mcount tracing.

    Signed-off-by: Steven Rostedt
    Signed-off-by: Ingo Molnar
    Signed-off-by: Thomas Gleixner

    Steven Rostedt
     
  • Most archs define the string and memory compare functions in assembly.
    Some do not. But these functions may be used in some archs at early
    boot up.

    Since most archs define this code in assembly and they are not usually
    traced, there's no need to trace them when they are not defined in
    assembly.

    This patch removes the -pg from the CFLAGS for lib/string.o.
    This prevents the string functions use in either vdso or early bootup
    from crashing the system.

    Signed-off-by: Steven Rostedt
    Signed-off-by: Ingo Molnar
    Signed-off-by: Thomas Gleixner

    Steven Rostedt
     

30 Apr, 2008

1 commit

  • We can see an ever repeating problem pattern with objects of any kind in the
    kernel:

    1) freeing of active objects
    2) reinitialization of active objects

    Both problems can be hard to debug because the crash happens at a point where
    we have no chance to decode the root cause anymore. One problem spot are
    kernel timers, where the detection of the problem often happens in interrupt
    context and usually causes the machine to panic.

    While working on a timer related bug report I had to hack specialized code
    into the timer subsystem to get a reasonable hint for the root cause. This
    debug hack was fine for temporary use, but far from a mergeable solution due
    to the intrusiveness into the timer code.

    The code further lacked the ability to detect and report the root cause
    instantly and keep the system operational.

    Keeping the system operational is important to get hold of the debug
    information without special debugging aids like serial consoles and special
    knowledge of the bug reporter.

    The problems described above are not restricted to timers, but timers tend to
    expose it usually in a full system crash. Other objects are less explosive,
    but the symptoms caused by such mistakes can be even harder to debug.

    Instead of creating specialized debugging code for the timer subsystem a
    generic infrastructure is created which allows developers to verify their code
    and provides an easy to enable debug facility for users in case of trouble.

    The debugobjects core code keeps track of operations on static and dynamic
    objects by inserting them into a hashed list and sanity checking them on
    object operations and provides additional checks whenever kernel memory is
    freed.

    The tracked object operations are:
    - initializing an object
    - adding an object to a subsystem list
    - deleting an object from a subsystem list

    Each operation is sanity checked before the operation is executed and the
    subsystem specific code can provide a fixup function which allows to prevent
    the damage of the operation. When the sanity check triggers a warning message
    and a stack trace is printed.

    The list of operations can be extended if the need arises. For now it's
    limited to the requirements of the first user (timers).

    The core code enqueues the objects into hash buckets. The hash index is
    generated from the address of the object to simplify the lookup for the check
    on kfree/vfree. Each bucket has it's own spinlock to avoid contention on a
    global lock.

    The debug code can be compiled in without being active. The runtime overhead
    is minimal and could be optimized by asm alternatives. A kernel command line
    option enables the debugging code.

    Thanks to Ingo Molnar for review, suggestions and cleanup patches.

    Signed-off-by: Thomas Gleixner
    Signed-off-by: Ingo Molnar
    Cc: Greg KH
    Cc: Randy Dunlap
    Cc: Kay Sievers
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Thomas Gleixner
     

29 Apr, 2008

1 commit

  • Due to the rcupreempt.h WARN_ON trigged, I got 2G syslog file. For some
    serious complaining of kernel, we need repeat the warnings, so here I isolate
    the ratelimit part of printk.c to a standalone file.

    Signed-off-by: Dave Young
    Acked-by: Paul E. McKenney
    Tested-by: Paul E. McKenney
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Dave Young
     

27 Apr, 2008

1 commit

  • Generic versions of __find_first_bit and __find_first_zero_bit
    are introduced as simplified versions of __find_next_bit and
    __find_next_zero_bit. Their compilation and use are guarded by
    a new config variable GENERIC_FIND_FIRST_BIT.

    The generic versions of find_first_bit and find_first_zero_bit
    are implemented in terms of the newly introduced __find_first_bit
    and __find_first_zero_bit.

    This patch does not remove the i386-specific implementation,
    but it does switch i386 to use the generic functions by setting
    GENERIC_FIND_FIRST_BIT=y for X86_32.

    Signed-off-by: Alexander van Heukelum
    Signed-off-by: Ingo Molnar

    Alexander van Heukelum
     

22 Apr, 2008

1 commit

  • * 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc: (202 commits)
    [POWERPC] Fix compile breakage for 64-bit UP configs
    [POWERPC] Define copy_siginfo_from_user32
    [POWERPC] Add compat handler for PTRACE_GETSIGINFO
    [POWERPC] i2c: Fix build breakage introduced by OF helpers
    [POWERPC] Optimize fls64() on 64-bit processors
    [POWERPC] irqtrace support for 64-bit powerpc
    [POWERPC] Stacktrace support for lockdep
    [POWERPC] Move stackframe definitions to common header
    [POWERPC] Fix device-tree locking vs. interrupts
    [POWERPC] Make pci_bus_to_host()'s struct pci_bus * argument const
    [POWERPC] Remove unused __max_memory variable
    [POWERPC] Simplify xics direct/lpar irq_host setup
    [POWERPC] Use pseries_setup_i8259_cascade() in pseries_mpic_init_IRQ()
    [POWERPC] Turn xics_setup_8259_cascade() into a generic pseries_setup_i8259_cascade()
    [POWERPC] Move xics_setup_8259_cascade() into platforms/pseries/setup.c
    [POWERPC] Use asm-generic/bitops/find.h in bitops.h
    [POWERPC] 83xx: mpc8315 - fix USB UTMI Host setup
    [POWERPC] 85xx: Fix the size of qe muram for MPC8568E
    [POWERPC] 86xx: mpc86xx_hpcn - Temporarily accept old dts node identifier.
    [POWERPC] 86xx: mark functions static, other minor cleanups
    ...

    Linus Torvalds
     

19 Apr, 2008

1 commit

  • * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6.26: (1090 commits)
    [NET]: Fix and allocate less memory for ->priv'less netdevices
    [IPV6]: Fix dangling references on error in fib6_add().
    [NETLABEL]: Fix NULL deref in netlbl_unlabel_staticlist_gen() if ifindex not found
    [PKT_SCHED]: Fix datalen check in tcf_simp_init().
    [INET]: Uninline the __inet_inherit_port call.
    [INET]: Drop the inet_inherit_port() call.
    SCTP: Initialize partial_bytes_acked to 0, when all of the data is acked.
    [netdrvr] forcedeth: internal simplifications; changelog removal
    phylib: factor out get_phy_id from within get_phy_device
    PHY: add BCM5464 support to broadcom PHY driver
    cxgb3: Fix __must_check warning with dev_dbg.
    tc35815: Statistics cleanup
    natsemi: fix MMIO for PPC 44x platforms
    [TIPC]: Cleanup of TIPC reference table code
    [TIPC]: Optimized initialization of TIPC reference table
    [TIPC]: Remove inlining of reference table locking routines
    e1000: convert uint16_t style integers to u16
    ixgb: convert uint16_t style integers to u16
    sb1000.c: make const arrays static
    sb1000.c: stop inlining largish static functions
    ...

    Linus Torvalds
     

17 Apr, 2008

1 commit

  • Semaphores are no longer performance-critical, so a generic C
    implementation is better for maintainability, debuggability and
    extensibility. Thanks to Peter Zijlstra for fixing the lockdep
    warning. Thanks to Harvey Harrison for pointing out that the
    unlikely() was unnecessary.

    Signed-off-by: Matthew Wilcox
    Acked-by: Ingo Molnar

    Matthew Wilcox
     

29 Mar, 2008

1 commit

  • The knock-out. The pcounter abstraction is not used any longer in the
    kernel.

    Not sure whether this should go via netdev tree, but as far as I
    remember it was added via this one, and besides Eric thinks that
    Andrew shouldn't mind this.

    Signed-off-by: Pavel Emelyanov
    Signed-off-by: David S. Miller

    Pavel Emelyanov
     

14 Feb, 2008

1 commit


09 Feb, 2008

1 commit

  • lib/scatterlist.c is needed by drivers/media/video/videobuf-dma-sg.c, and
    we would like to be able to use the latter without PCI too, for example, on
    PXA270 ARM CPU. It is then possible to create a configuration with
    CONFIG_BLOCK=n, where only module code will need scatterlist.c. Therefore
    it must be in obj-y.

    Signed-off-by: Guennadi Liakhovetski
    Acked-by: Jens Axboe
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Guennadi Liakhovetski
     

06 Feb, 2008

1 commit


29 Jan, 2008

1 commit

  • This just generalises what was introduced by Eric Dumazet for the struct proto
    inuse field in 286ab3d46058840d68e5d7d52e316c1f7e98c59f:

    [NET]: Define infrastructure to keep 'inuse' changes in an efficent SMP/NUMA way.

    Please look at the comment in there to see the rationale.

    Signed-off-by: Arnaldo Carvalho de Melo
    Signed-off-by: Herbert Xu
    Signed-off-by: David S. Miller

    Arnaldo Carvalho de Melo
     

28 Jan, 2008

1 commit


15 Nov, 2007

1 commit

  • mac80211 has a reference to __bitmap_empty() via bitmap_empty(). In
    lib/bitmap.c this is flagged with an EXPORT_SYMBOL(), but this is
    ultimately ineffective due to bitmap.o being linked in lib-y, resulting in:

    ERROR: "__bitmap_empty" [net/mac80211/mac80211.ko] undefined!

    Moving bitmap.o to obj-y fixes this up.

    Signed-off-by: Paul Mundt
    Cc: "John W. Linville"
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Paul Mundt
     

20 Oct, 2007

1 commit

  • Cause writes to cpuset "cpus" file to update cpus_allowed for member tasks:

    - collect batches of tasks under tasklist_lock and then call
    set_cpus_allowed() on them outside the lock (since this can sleep).

    - add a simple generic priority heap type to allow efficient collection
    of batches of tasks to be processed without duplicating or missing any
    tasks in subsequent batches.

    - make "cpus" file update a no-op if the mask hasn't changed

    - fix race between update_cpumask() and sched_setaffinity() by making
    sched_setaffinity() post-check that it's not running on any cpus outside
    cpuset_cpus_allowed().

    [akpm@linux-foundation.org: coding-style fixes]
    Signed-off-by: Paul Menage
    Cc: Paul Jackson
    Cc: David Rientjes
    Cc: Nick Piggin
    Cc: Peter Zijlstra
    Cc: Balbir Singh
    Cc: Cedric Le Goater
    Cc: "Eric W. Biederman"
    Cc: Serge Hallyn
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Paul Menage
     

17 Oct, 2007

1 commit

  • Given a set of objects, floating proportions aims to efficiently give the
    proportional 'activity' of a single item as compared to the whole set. Where
    'activity' is a measure of a temporal property of the items.

    It is efficient in that it need not inspect any other items of the set
    in order to provide the answer. It is not even needed to know how many
    other items there are.

    It has one parameter, and that is the period of 'time' over which the
    'activity' is measured.

    Signed-off-by: Peter Zijlstra
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Peter Zijlstra
     

13 Oct, 2007

1 commit


08 Oct, 2007

1 commit

  • Modulat lguest started giving linking errors

    MODPOST 1 modules
    ERROR: "kasprintf" [drivers/lguest/lg.ko] undefined!

    Signed-off-by: Alexey Dobriyan
    Cc: Rusty Russell
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Alexey Dobriyan
     

23 Aug, 2007

1 commit

  • Introduce CONFIG_CHECK_SIGNATURE to control inclusion of check_signature()
    and avoid problems on platforms that don't have readb().

    Let the few legacy (ISA || PCI || X86) drivers that need check_signature()
    select CONFIG_CHECK_SIGNATURE.

    Signed-off-by: Geert Uytterhoeven
    Cc: Jeff Dike
    Cc: Heiko Carstens
    Cc: Roman Zippel
    Cc: Alan Cox
    Cc: Martin Schwidefsky
    Cc: Russell King
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Geert Uytterhoeven
     

01 Aug, 2007

1 commit

  • kasprintf pulls in kmalloc which proved to be fatal for at least
    bootimage target on alpha.
    Move it to a separate file so only users of kasprintf are exposed
    to the dependency on kmalloc.

    Signed-off-by: Sam Ravnborg
    Cc: Jeremy Fitzhardinge
    Cc: Meelis Roos
    Cc: Richard Henderson
    Cc: Ivan Kokshaysky
    Cc: Jay Estabrook
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Sam Ravnborg
     

18 Jul, 2007

2 commits

  • argv_split() is a helper function which takes a string, splits it at
    whitespace, and returns a NULL-terminated argv vector. This is
    deliberately simple - it does no quote processing of any kind.

    [ Seems to me that this is something which is already being done in
    the kernel, but I couldn't find any other implementations, either to
    steal or replace. Keep an eye out. ]

    Signed-off-by: Jeremy Fitzhardinge
    Signed-off-by: Chris Wright
    Cc: Andrew Morton
    Cc: Randy Dunlap

    Jeremy Fitzhardinge
     
  • Add CRC7 routines, used for example in MMC over SPI communication.
    Kerneldoc updates

    [akpm@linux-foundation.org: fix funny mix of const and non-const]
    Signed-off-by: Jan Nikitenko
    Signed-off-by: David Brownell
    Cc: "Randy.Dunlap"
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Jan Nikitenko
     

17 Jul, 2007

2 commits


11 Jul, 2007

1 commit

  • This is a hybrid version of the patch to add the LZO1X compression
    algorithm to the kernel. Nitin and myself have merged the best parts of
    the various patches to form this version which we're both happy with (and
    are jointly signing off).

    The performance of this version is equivalent to the original minilzo code
    it was based on. Bytecode comparisons have also been made on ARM, i386 and
    x86_64 with favourable results.

    There are several users of LZO lined up including jffs2, crypto and reiser4
    since its much faster than zlib.

    Signed-off-by: Nitin Gupta
    Signed-off-by: Richard Purdie
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Richard Purdie
     

11 May, 2007

3 commits

  • Based on ace_dump_mem() from Grant Likely for the Xilinx SystemACE
    CompactFlash interface.

    Add print_hex_dump() & hex_dumper() to lib/hexdump.c and linux/kernel.h.

    This patch adds the functions print_hex_dump() & hex_dumper().
    print_hex_dump() can be used to perform a hex + ASCII dump of data to
    syslog, in an easily viewable format, thus providing a common text hex dump
    format.

    hex_dumper() provides a dump-to-memory function. It converts one "line" of
    output (16 bytes of input) at a time.

    Example usages:
    print_hex_dump(KERN_DEBUG, DUMP_PREFIX_ADDRESS, frame->data, frame->len);
    hex_dumper(frame->data, frame->len, linebuf, sizeof(linebuf));

    Example output using %DUMP_PREFIX_OFFSET:
    0009ab42: 40414243 44454647 48494a4b 4c4d4e4f-@ABCDEFG HIJKLMNO
    Example output using %DUMP_PREFIX_ADDRESS:
    ffffffff88089af0: 70717273 74757677 78797a7b 7c7d7e7f-pqrstuvw xyz{|}~.

    [akpm@linux-foundation.org: cleanups, add export]
    Signed-off-by: Randy Dunlap
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Randy Dunlap
     
  • * 'juju' of git://git.kernel.org/pub/scm/linux/kernel/git/ieee1394/linux1394-2.6: (138 commits)
    firewire: Convert OHCI driver to use standard goto unwinding for error handling.
    firewire: Always use parens with sizeof.
    firewire: Drop single buffer request support.
    firewire: Add a comment to describe why we split the sg list.
    firewire: Return SCSI_MLQUEUE_HOST_BUSY for out of memory cases in queuecommand.
    firewire: Handle the last few DMA mapping error cases.
    firewire: Allocate scsi_host up front and allocate the sbp2_device as hostdata.
    firewire: Provide module aliase for backwards compatibility.
    firewire: Add to fw-core-y instead of assigning fw-core-objs in Makefile.
    firewire: Break out shared IEEE1394 constant to separate header file.
    firewire: Use linux/*.h instead of asm/*.h header files.
    firewire: Uppercase most macro names.
    firewire: Coding style cleanup: no spaces after function names.
    firewire: Convert card_rwsem to a regular mutex.
    firewire: Clean up comment style.
    firewire: Use lib/ implementation of CRC ITU-T.
    CRC ITU-T V.41
    firewire: Rename fw-device-cdev.c to fw-cdev.c and move header to include/linux.
    firewire: Future proof the iso ioctls by adding a handle for the iso context.
    firewire: Add read/write and size annotations to IOC numbers.
    ...

    Acked-by: Christoph Hellwig
    Signed-off-by: Linus Torvalds

    Linus Torvalds
     
  • This will add the CRC calculation according
    to the CRC ITU-T V.41 to the kernel lib/ folder.

    This code has been derived from the rt2x00 driver,
    currently found only in the wireless-dev tree, but
    this library is generic and could be used by more
    drivers who currently use their own implementation.

    Signed-off-by: Ivo van Doorn

    Also useful for the new firewire stack.

    Signed-off-by: Kristian Hoegsberg
    Signed-off-by: Stefan Richter

    Ivo van Doorn
     

26 Apr, 2007

1 commit


12 Feb, 2007

2 commits

  • * Split the implementation-agnostic stuff in separate files.
    * Make sure that targets using non-default request_irq() pull
    kernel/irq/devres.o
    * Introduce new symbols (HAS_IOPORT and HAS_IOMEM) defaulting to positive;
    allow architectures to turn them off (we needed these symbols anyway for
    dependencies of quite a few drivers).
    * protect the ioport-related parts of lib/devres.o with CONFIG_HAS_IOPORT.

    Signed-off-by: Al Viro
    Signed-off-by: Linus Torvalds

    Al Viro
     
  • Part of long forgotten patch
    http://groups.google.com/group/fa.linux.kernel/msg/e98e941ce1cf29f6?dmode=source
    Since then, m32r grabbed two copies.

    Leave s390 copy because of important absence of CONFIG_VT, but remove
    references to non-existent timerlist_lock. ia64 also loses timerlist_lock.

    Signed-off-by: Alexey Dobriyan
    Acked-by: Martin Schwidefsky
    Cc: Andi Kleen
    Cc: "Luck, Tony"
    Cc: Hirokazu Takata
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Kirill Korotaev