Skip to content


Subversion checkout URL

You can clone with
Download ZIP
Commits on Sep 3, 2010
  1. @NigelCunningham

    Use smp_processor_id in no more work message

    NigelCunningham authored
    We used to send the processor id in the data for our i/o worker threads,
    but no more. This made the "Thread %d has no more work" message nonsense.
    Signed-off-by: Nigel Cunningham <>
  2. @NigelCunningham

    Use %x not %lx for u32 (dev_t) printks

    NigelCunningham authored
    Use %x instead of %lx because this is current on both 32 and 64 bit
    Signed-off-by: Nigel Cunningham <>
  3. @NigelCunningham

    Bump version to 3.2-rc2.

    NigelCunningham authored
    Signed-off-by: Nigel Cunningham <>
  4. @NigelCunningham

    Hold secondary threads until setup is done

    NigelCunningham authored
    This patch fixes a bug reported on the tuxonice-devel mailing
    list, in which TuxOnIce has an oops almost as soon as it starts
    writing the image. The bug is due to secondary threads being
    allowed to start running immediately, rather than being made to
    wait until the first thread has finished setting up. Address this
    by having the first thread take the io_mutex prior to starting
    secondary threads, and drop it before entering the io flusher or
    worker loop itself.
    Signed-off-by: Nigel Cunningham <>
  5. @NigelCunningham

    Don't atomic_read twice.

    NigelCunningham authored
    At the start of read_next_page, we atomic_read(&io_count),
    then do it again immediately. There's no great cost involved,
    but there's no need to discard the previous value either.
    Signed-off-by: Nigel Cunningham <>
  6. @NigelCunningham

    Ensure status in only updated by one thread

    NigelCunningham authored
    Ensure that only one thread doing the I/O does the
    updating of the status. This will avoid races that can
    result in the same percentage being output more than once.
    Signed-off-by: Nigel Cunningham <>
Commits on Aug 30, 2010
  1. @NigelCunningham

    Fix where TuxOnIce looks for XFS uuid

    NigelCunningham authored
    Fix the XFS location - it should be 0x20, not 20 decimal.
    Signed-off-by: Nigel Cunningham <>
Commits on Aug 27, 2010
  1. @NigelCunningham

    Modify module api to allow passing virts.

    NigelCunningham authored
    Modify the read and write page functions in the module API to
    allow virtual addresses as well as page addresses to be passed
    around. This lets us drop the memcpy that the compression
    support previously had.
    Signed-off-by: Nigel Cunningham <>
  2. @NigelCunningham

    Fix missing memory_bm_test_bit export

    NigelCunningham authored
    Address the missing export of memory_bm_test_bit, which causes
    a compilation error when building TuxOnIce as modules.
    Signed-off-by: Nigel Cunningham <>
  3. @NigelCunningham
Commits on Aug 26, 2010
  1. @gregkh


    gregkh authored
  2. @fenrus75 @gregkh

    tracing: Fix timer tracing

    fenrus75 authored gregkh committed
    commit ede1b42 upstream.
    PowerTOP would like to be able to trace timers.
    Unfortunately, the current timer tracing is not very useful: the
    actual timer function is not recorded in the trace at the start
    of timer execution.
    Although this is recorded for timer "start" time (when it gets
    armed), this is not useful; most timers get started early, and a
    tracer like PowerTOP will never see this event, but will only
    see the actual running of the  timer.
    This patch just adds the function to the timer tracing; I've
    verified with PowerTOP that now it can get useful information
    about timers.
    Signed-off-by: Arjan van de Ven <>
    Cc: Steven Rostedt <>
    Cc: Frederic Weisbecker <>
    Cc: Peter Zijlstra <>
    LKML-Reference: <>
    Signed-off-by: Ingo Molnar <>
    Signed-off-by: Greg Kroah-Hartman <>
  3. @gregkh

    mutex: Improve the scalability of optimistic spinning

    Tim Chen authored gregkh committed
    commit 9d0f4dc upstream.
    There is a scalability issue for current implementation of optimistic
    mutex spin in the kernel.  It is found on a 8 node 64 core Nehalem-EX
    system (HT mode).
    The intention of the optimistic mutex spin is to busy wait and spin on a
    mutex if the owner of the mutex is running, in the hope that the mutex
    will be released soon and be acquired, without the thread trying to
    acquire mutex going to sleep. However, when we have a large number of
    threads, contending for the mutex, we could have the mutex grabbed by
    other thread, and then another ……, and we will keep spinning, wasting cpu
    cycles and adding to the contention.  One possible fix is to quit
    spinning and put the current thread on wait-list if mutex lock switch to
    a new owner while we spin, indicating heavy contention (see the patch
    I did some testing on a 8 socket Nehalem-EX system with a total of 64
    cores. Using Ingo's test-mutex program that creates/delete files with 256
    threads ( , I see the following speed up
    after putting in the mutex spin fix:
     ./mutex-test V 256 10
     2.6.34          62864
     With fix        197200
    Repeating the test with Aim7 fserver workload, again there is a speed up
    with the fix:
     2.6.34          91657
     With fix        149325
    To look at the impact on the distribution of mutex acquisition time, I
    collected the mutex acquisition time on Aim7 fserver workload with some
    instrumentation.  The average acquisition time is reduced by 48% and
    number of contentions reduced by 32%.
                     #contentions    Time to acquire mutex (cycles)
     2.6.34          72973           44765791
     With fix        49210           23067129
    The histogram of mutex acquisition time is listed below.  The acquisition
    time is in 2^bin cycles.  We see that without the fix, the acquisition
    time is mostly around 2^26 cycles.  With the fix, we the distribution get
    spread out a lot more towards the lower cycles, starting from 2^13.
    However, there is an increase of the tail distribution with the fix at
    2^28 and 2^29 cycles.  It seems a small price to pay for the reduced
    average acquisition time and also getting the cpu to do useful work.
     Mutex acquisition time distribution (acq time = 2^bin cycles):
             2.6.34                  With Fix
     bin     #occurrence     %       #occurrence     %
     11      2               0.00%   120             0.24%
     12      10              0.01%   790             1.61%
     13      14              0.02%   2058            4.18%
     14      86              0.12%   3378            6.86%
     15      393             0.54%   4831            9.82%
     16      710             0.97%   4893            9.94%
     17      815             1.12%   4667            9.48%
     18      790             1.08%   5147            10.46%
     19      580             0.80%   6250            12.70%
     20      429             0.59%   6870            13.96%
     21      311             0.43%   1809            3.68%
     22      255             0.35%   2305            4.68%
     23      317             0.44%   916             1.86%
     24      610             0.84%   233             0.47%
     25      3128            4.29%   95              0.19%
     26      63902           87.69%  122             0.25%
     27      619             0.85%   286             0.58%
     28      0               0.00%   3536            7.19%
     29      0               0.00%   903             1.83%
     30      0               0.00%   0               0.00%
    I've done similar experiments with 2.6.35 kernel on smaller boxes as
    well.  One is on a dual-socket Westmere box (12 cores total, with HT).
    Another experiment is on an old dual-socket Core 2 box (4 cores total, no
    On the 12-core Westmere box, I see a 250% increase for Ingo's mutex-test
    program with my mutex patch but no significant difference in aim7's
    fserver workload.
    On the 4-core Core 2 box, I see the difference with the patch for both
    mutex-test and aim7 fserver are negligible.
    So far, it seems like the patch has not caused regression on smaller
    Signed-off-by: Tim Chen <>
    Acked-by: Peter Zijlstra <>
    Cc: Linus Torvalds <>
    Cc: Andrew Morton <>
    Cc: Thomas Gleixner <>
    Cc: Frederic Weisbecker <>
    LKML-Reference: <1282168827.9542.72.camel@schen9-DESK>
    Signed-off-by: Ingo Molnar <>
    Signed-off-by: Greg Kroah-Hartman <>
  4. @gregkh

    USB: ftdi_sio: add product ID for Lenz LI-USB

    Galen Seitz authored gregkh committed
    commit ea233f8 upstream.
    Add ftdi product ID for Lenz LI-USB, a model train interface.  This
    was NOT tested against 2.6.35, but a similar patch was tested with the
    CentOS 2.6.18-194.11.1.el5 kernel.  It wasn't clear to me what
    ordering is being used in ftdi_sio.c, so I inserted the ID after another
    model train entry(SPROG_II).
    Signed-off-by: Galen Seitz <>
    Signed-off-by: Greg Kroah-Hartman <>
  5. @tbm @gregkh

    USB: ftdi_sio: Add ID for Ionics PlugComputer

    tbm authored gregkh committed
    commit 666cc07 upstream.
    Add the ID for the Ionics PlugComputer (<>).
    Signed-off-by: Martin Michlmayr <>
    Signed-off-by: Greg Kroah-Hartman <>
  6. @gregkh

    USB: xhci: Remove buggy assignment in next_trb()

    John Youn authored gregkh committed
    commit a1669b2 upstream.
    The code to increment the TRB pointer has a slight ambiguity that could
    lead to a bug on different compilers.  The ANSI C specification does not
    specify the precedence of the assignment operator over the postfix
    operator.  gcc 4.4 produced the correct code (increment the pointer and
    assign the value), but a MIPS compiler that one of John's clients used
    assigned the old (unincremented) value.
    Remove the unnecessary assignment to make all compilers produce the
    correct assembly.
    Signed-off-by: John Youn <>
    Signed-off-by: Sarah Sharp <>
    Signed-off-by: Greg Kroah-Hartman <>
  7. @gregkh

    USB: io_ti: check firmware version before updating

    gregkh authored
    commit 0827a9f upstream.
    If we can't read the firmware for a device from the disk, and yet the
    device already has a valid firmware image in it, we don't want to
    replace the firmware with something invalid.  So check the version
    number to be less than the current one to verify this is the correct
    thing to do.
    Reported-by: Chris Beauchamp <>
    Tested-by: Chris Beauchamp <>
    Cc: Alan Stern <>
    Signed-off-by: Greg Kroah-Hartman <>
  8. @gregkh

    USB: ftdi_sio: fix endianess of max packet size

    Michael Wileczka authored gregkh committed
    commit d1ab903 upstream.
    The USB max packet size (always little-endian) was not being byte
    swapped on big-endian systems.
    Applicable since [USB: ftdi_sio: fix hi-speed device packet size calculation] approx 2.6.31
    Signed-off-by: Michael Wileczka <>
    Signed-off-by: Greg Kroah-Hartman <>
  9. @craigshelley @gregkh

    USB: CP210x Fix Break On/Off

    craigshelley authored gregkh committed
    commit 7291679 upstream.
    The definitions for BREAK_ON and BREAK_OFF are inverted, causing break
    requests to fail. This patch sets BREAK_ON and BREAK_OFF to the correct
    Signed-off-by: Craig Shelley <>
    Signed-off-by: Greg Kroah-Hartman <>
  10. @gregkh

    USB: pl2303: New vendor and product id

    Jef Driesen authored gregkh committed
    commit f36ecd5 upstream.
    Add support for the Zeagle N2iTiON3 dive computer interface. Since
    Zeagle devices are actually manufactured by Seiko, this patch will
    support other Seiko based models as well.
    Signed-off-by: Jef Driesen <>
    Signed-off-by: Greg Kroah-Hartman <>
  11. @rossburton @gregkh

    USB: add device IDs for igotu to navman

    rossburton authored gregkh committed
    commit 0eee6a2 upstream.
    I recently bought a i-gotU USB GPS, and whilst hunting around for linux
    support discovered this post by you back in 2009:
    >Try the navman driver instead.  You can either add the device id to the
    > driver and rebuild it, or do this before you plug the device in:
    > 	modprobe navman
    > 	echo -n "0x0df7 0x0900" > /sys/bus/usb-serial/drivers/navman/new_id
    > and then plug your device in and see if that works.
    I can confirm that the navman driver works with the right device IDs on
    my i-gotU GT-600, which has the same device IDs.  Attached is a patch
    adding the IDs.
    From: Ross Burton <>
    Signed-off-by: Greg Kroah-Hartman <>
  12. @gregkh

    USB: option: add Celot CT-650

    Michael Tokarev authored gregkh committed
    commit 76078dc upstream.
    Signed-off-by: Michael Tokarev <>
    Signed-off-by: Greg Kroah-Hartman <>
  13. @gregkh

    powerpc: Fix typo in uImage target

    Anatolij Gustschin authored gregkh committed
    commit c686ecf upstream.
    Commit e32e78c
    (powerpc: fix build with make 3.82) introduced a
    typo in uImage target and broke building uImage:
    make: *** No rule to make target `uImage'.  Stop.
    Signed-off-by: Anatolij Gustschin <>
    Signed-off-by: Benjamin Herrenschmidt <>
    Signed-off-by: Greg Kroah-Hartman <>
  14. @gregkh

    Staging: batman-adv: Don't write in not allocated packet_buff

    Sven Eckelmann authored gregkh committed
    commit f86b998 upstream.
    Each net_device in a system will automatically managed as a possible
    batman_if and holds different informations like a buffer with a prepared
    originator messages. To reduce the memory usage, the packet_buff will
    only be allocated when the interface is really added/enabled for
    The function to update the hw address information inside the packet_buff
    just assumes that the packet_buff is always initialised and thus the
    kernel will just oops when we try to change the hw address of a not
    already fully enabled interface.
    We must always check if the packet_buff is allocated before we try to
    change information inside of it.
    Reported-by: Tim Glaremin <>
    Reported-by: Kazuki Shimada <>
    Signed-off-by: Sven Eckelmann <>
    Signed-off-by: Greg Kroah-Hartman <>
  15. @gregkh

    Staging: batman-adv: Don't use net_dev after dev_put

    Sven Eckelmann authored gregkh committed
    commit 51a00ea upstream.
    dev_put allows a device to be freed when all its references are dropped.
    After that we are not allowed to access that information anymore. Access
    to the data structure of a net_device must be surrounded a dev_hold
    and ended using dev_put.
    batman-adv adds a device to its own management structure in
    hardif_add_interface and will release it in hardif_remove_interface.
    Thus it must hold a reference all the time between those functions to
    prevent any access to the already released net_device structure.
    Reported-by: Tim Glaremin <>
    Signed-off-by: Sven Eckelmann <>
    Signed-off-by: Greg Kroah-Hartman <>
  16. @gregkh

    Staging: batman-adv: Create batman_if only on register event

    Sven Eckelmann authored gregkh committed
    commit 1189f13 upstream.
    We try to get all events for all net_devices to be able to add special
    sysfs folders for the batman-adv configuration. This also includes such
    events like NETDEV_POST_INIT which has no valid kobject according to
    v2.6.32-rc3-13-g7ffbe3f. This would create an oops in that situation.
    It is enough to create the batman_if only on NETDEV_REGISTER events
    because we will also receive those events for devices which already
    existed when we registered the notifier call.
    Signed-off-by: Sven Eckelmann <>
    Signed-off-by: Greg Kroah-Hartman <>
  17. @gregkh

    Staging: batman-adv: unify orig_hash_lock spinlock handling to avoid …

    Marek Lindner authored gregkh committed
    commit 9abc102 upstream.
    The orig_hash_lock spinlock always has to be locked with IRQs being
    disabled to avoid deadlocks between code that is being executed in
    IRQ context and code that is being executed in non-IRQ context.
    Reported-by: Sven Eckelmann <>
    Signed-off-by: Marek Lindner <>
    Signed-off-by: Sven Eckelmann <>
    Signed-off-by: Greg Kroah-Hartman <>
  18. @gregkh

    drm: stop information leak of old kernel stack.

    Dave Airlie authored gregkh committed
    commit b9f0aee upstream.
    non-critical issue, CVE-2010-2803
    Userspace controls the amount of memory to be allocate, so it can
    get the ioctl to allocate more memory than the kernel uses, and get
    access to kernel stack. This can only be done for processes authenticated
    to the X server for DRI access, and if the user has DRI access.
    Fix is to just memset the data to 0 if the user doesn't copy into
    it in the first place.
    Reported-by: Kees Cook <>
    Signed-off-by: Dave Airlie <>
    Signed-off-by: Greg Kroah-Hartman <>
  19. @gregkh

    drm/radeon/kms: fix GTT/VRAM overlapping test

    Jerome Glisse authored gregkh committed
    commit 2cbeb4e upstream.
    GTT/VRAM overlapping test had a typo which leaded to not
    detecting case when vram_end > gtt_end. This patch fix the
    logic and should fix #16574
    Signed-off-by: Jerome Glisse <>
    Signed-off-by: Dave Airlie <>
    Signed-off-by: Greg Kroah-Hartman <>
  20. @gregkh

    drm/radeon/kms: fix sideport detection on newer rs880 boards

    Alex Deucher authored gregkh committed
    commit 4b80d95 upstream.
    The meaning of ucMemoryType changed on recent boards, however,
    ulBootUpSidePortClock should be set properly across all boards.
    Signed-off-by: Alex Deucher <>
    Signed-off-by: Dave Airlie <>
    Signed-off-by: Greg Kroah-Hartman <>
  21. @gregkh

    drm/radeon/kms/DCE3+: switch pads to ddc mode when going i2c

    Alex Deucher authored gregkh committed
    commit 5786e2c upstream.
    The pins for ddc and aux are shared so you need to switch the
    mode when doing ddc.  The ProcessAuxChannel table already sets
    the pin mode to DP.  This should fix unreliable ddc issues
    on DP ports using non-DP monitors.
    Signed-off-by: Alex Deucher <>
    Signed-off-by: Dave Airlie <>
    Signed-off-by: Greg Kroah-Hartman <>
  22. @gregkh

    drm/radeon/kms: fix typo in radeon_compute_pll_gain

    Alex Deucher authored gregkh committed
    commit 0537398 upstream.
    Looks like this got copied from the ddx wrong.
    Cc: Benjamin Herrenschmidt <>
    Signed-off-by: Alex Deucher <>
    Signed-off-by: Dave Airlie <>
    Signed-off-by: Greg Kroah-Hartman <>
  23. @gregkh

    drm/radeon/kms/pm: bail early if nothing's changing

    Alex Deucher authored gregkh committed
    commit 4e186b2 upstream.
    If we aren't changing the power state, no need to take
    locks and schedule fences, etc.
    There seem to be lock ordering issues in the CP and
    fence code in some cases; see bug 29140 below.
    Possibly also:
    Signed-off-by: Alex Deucher <>
    Signed-off-by: Dave Airlie <>
    Signed-off-by: Greg Kroah-Hartman <>
  24. @gregkh

    drm/radeon/kms: don't enable MSIs on AGP boards

    Alex Deucher authored gregkh committed
    commit da7be68 upstream.
    Signed-off-by: Alex Deucher <>
    Signed-off-by: Dave Airlie <>
    Signed-off-by: Greg Kroah-Hartman <>
  25. @jmberg @gregkh

    netlink: fix compat recvmsg

    jmberg authored gregkh committed
    commit 68d6ac6 upstream.
    commit 1dacc76
    Author: Johannes Berg <>
    Date:   Wed Jul 1 11:26:02 2009 +0000
        net/compat/wext: send different messages to compat tasks
    we had a race condition when setting and then
    restoring frag_list. Eric attempted to fix it,
    but the fix created even worse problems.
    However, the original motivation I had when I
    added the code that turned out to be racy is
    no longer clear to me, since we only copy up
    to skb->len to userspace, which doesn't include
    the frag_list length. As a result, not doing
    any frag_list clearing and restoring avoids
    the race condition, while not introducing any
    other problems.
    Additionally, while preparing this patch I found
    that since none of the remaining netlink code is
    really aware of the frag_list, we need to use the
    original skb's information for packet information
    and credentials. This fixes, for example, the
    group information received by compat tasks.
    Cc: Eric Dumazet <>
    Signed-off-by: Johannes Berg <>
    Acked-by: Eric Dumazet <>
    Signed-off-by: David S. Miller <>
    Signed-off-by: Greg Kroah-Hartman <>
Something went wrong with that request. Please try again.