24 Jul, 2019

1 commit

  • Simplify the timerqueue code by using cached rbtrees and rely on the tree
    leftmost node semantics to get the timer with earliest expiration time.
    This is a drop in conversion, and therefore semantics remain untouched.

    The runtime overhead of cached rbtrees is be pretty much the same as the
    current head->next method, noting that when removing the leftmost node,
    a common operation for the timerqueue, the rb_next(leftmost) is O(1) as
    well, so the next timer will either be the right node or its parent.
    Therefore no extra pointer chasing. Finally, the size of the struct
    timerqueue_head remains the same.

    Passes several hours of rcutorture.

    Signed-off-by: Davidlohr Bueso
    Signed-off-by: Thomas Gleixner
    Link: https://lkml.kernel.org/r/20190724152323.bojciei3muvfxalm@linux-r8p5

    Davidlohr Bueso
     

31 May, 2019

1 commit

  • Based on 1 normalized pattern(s):

    this program is free software you can redistribute it and or modify
    it under the terms of the gnu general public license as published by
    the free software foundation either version 2 of the license or at
    your option any later version this program is distributed in the
    hope that it will be useful but without any warranty without even
    the implied warranty of merchantability or fitness for a particular
    purpose see the gnu general public license for more details you
    should have received a copy of the gnu general public license along
    with this program if not write to the free software foundation inc
    59 temple place suite 330 boston ma 02111 1307 usa

    extracted by the scancode license scanner the SPDX license identifier

    GPL-2.0-or-later

    has been chosen to replace the boilerplate/reference in 1334 file(s).

    Signed-off-by: Thomas Gleixner
    Reviewed-by: Allison Randal
    Reviewed-by: Richard Fontana
    Cc: linux-spdx@vger.kernel.org
    Link: https://lkml.kernel.org/r/20190527070033.113240726@linutronix.de
    Signed-off-by: Greg Kroah-Hartman

    Thomas Gleixner
     

30 Dec, 2017

1 commit

  • The return values of timerqueue_add/del() are not documented in the kernel doc
    comment. Add proper documentation.

    Signed-off-by: Thomas Gleixner
    Cc: Peter Zijlstra
    Cc: Frederic Weisbecker
    Cc: Sebastian Siewior
    Cc: rt@linutronix.de
    Cc: Paul McKenney
    Cc: Anna-Maria Gleixner
    Link: https://lkml.kernel.org/r/20171222145337.872681338@linutronix.de

    Thomas Gleixner
     

20 Jan, 2017

1 commit


26 Dec, 2016

1 commit

  • ktime is a union because the initial implementation stored the time in
    scalar nanoseconds on 64 bit machine and in a endianess optimized timespec
    variant for 32bit machines. The Y2038 cleanup removed the timespec variant
    and switched everything to scalar nanoseconds. The union remained, but
    become completely pointless.

    Get rid of the union and just keep ktime_t as simple typedef of type s64.

    The conversion was done with coccinelle and some manual mopping up.

    Signed-off-by: Thomas Gleixner
    Cc: Peter Zijlstra

    Thomas Gleixner
     

22 Apr, 2015

1 commit

  • The hrtimer code is interested whether the added timer is the first
    one to expire and whether the removed timer was the last one in the
    tree. The add/del routines have that information already. So we can
    return it right away instead of reevaluating it at the call site.

    Signed-off-by: Thomas Gleixner
    Acked-by: Peter Zijlstra
    Cc: Preeti U Murthy
    Cc: Viresh Kumar
    Cc: Marcelo Tosatti
    Cc: Frederic Weisbecker
    Cc: John Stultz
    Link: http://lkml.kernel.org/r/20150414203501.579063647@linutronix.de
    Signed-off-by: Thomas Gleixner

    Thomas Gleixner
     

25 Mar, 2012

1 commit

  • Pull cleanup of fs/ and lib/ users of module.h from Paul Gortmaker:
    "Fix up files in fs/ and lib/ dirs to only use module.h if they really
    need it.

    These are trivial in scope vs the work done previously. We now have
    things where any few remaining cleanups can be farmed out to arch or
    subsystem maintainers, and I have done so when possible. What is
    remaining here represents the bits that don't clearly lie within a
    single arch/subsystem boundary, like the fs dir and the lib dir.

    Some duplicate includes arising from overlapping fixes from
    independent subsystem maintainer submissions are also quashed."

    Fix up trivial conflicts due to clashes with other include file cleanups
    (including some due to the previous bug.h cleanup pull).

    * tag 'module-for-3.4' of git://git.kernel.org/pub/scm/linux/kernel/git/paulg/linux:
    lib: reduce the use of module.h wherever possible
    fs: reduce the use of module.h wherever possible
    includecheck: delete any duplicate instances of module.h

    Linus Torvalds
     

08 Mar, 2012

1 commit


01 Mar, 2012

1 commit


31 Mar, 2011

1 commit


11 Dec, 2010

3 commits