11 Mar, 2008

7 commits


10 Mar, 2008

7 commits


09 Mar, 2008

5 commits

  • The first version of the ntp_interval/tick_length inconsistent usage patch was
    recently merged as bbe4d18ac2e058c56adb0cd71f49d9ed3216a405

    http://git.kernel.org/gitweb.cgi?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=bbe4d18ac2e058c56adb0cd71f49d9ed3216a405

    While the fix did greatly improve the situation, it was correctly pointed out
    by Roman that it does have a small bug: If the users change clocksources after
    the system has been running and NTP has made corrections, the correctoins made
    against the old clocksource will be applied against the new clocksource,
    causing error.

    The second attempt, which corrects the issue in the NTP_INTERVAL_LENGTH
    definition has also made it up-stream as commit
    e13a2e61dd5152f5499d2003470acf9c838eab84

    http://git.kernel.org/gitweb.cgi?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=e13a2e61dd5152f5499d2003470acf9c838eab84

    Roman has correctly pointed out that CLOCK_TICK_ADJUST is calculated
    based on the PIT's frequency, and isn't really relevant to non-PIT
    driven clocksources (that is, clocksources other then jiffies and pit).

    This patch reverts both of those changes, and simply removes
    CLOCK_TICK_ADJUST.

    This does remove the granularity error correction for users of PIT and Jiffies
    clocksource users, but the granularity error but for the majority of users, it
    should be within the 500ppm range NTP can accommodate for.

    For systems that have granularity errors greater then 500ppm, the
    "ntp_tick_adj=" boot option can be used to compensate.

    [johnstul@us.ibm.com: provided changelog]
    [mattilinnanvuori@yahoo.com: maek ntp_tick_adj static]
    Signed-off-by: Roman Zippel
    Acked-by: john stultz
    Signed-off-by: Matti Linnanvuori
    Signed-off-by: Andrew Morton
    Cc: mingo@elte.hu
    Signed-off-by: Thomas Gleixner

    Roman Zippel
     
  • Silences WARN_ONs in rcu_enter_nohz() and rcu_exit_nohz(), which appeared
    before caused by (repeated) calls to:
    $ echo 0 > /sys/devices/system/cpu/cpu1/online
    $ echo 1 > /sys/devices/system/cpu/cpu1/online

    Signed-off-by: Karsten Wiese
    Cc: johnstul@us.ibm.com
    Cc: Rafael Wysocki
    Cc: Steven Rostedt
    Cc: Ingo Molnar
    Acked-by: Paul E. McKenney
    Signed-off-by: Andrew Morton
    Signed-off-by: Thomas Gleixner

    Karsten Wiese
     
  • Since some architectures don't support __udivdi3().

    Signed-off-by: Segher Boessenkool
    Cc: john stultz
    Cc: Ingo Molnar
    Signed-off-by: Andrew Morton
    Signed-off-by: Thomas Gleixner

    Segher Boessenkool
     
  • The kernel NTP code shouldn't hand 64-bit *signed* values to do_div(). Make it
    instead hand 64-bit unsigned values. This gets rid of a couple of warnings.

    Signed-off-by: David Howells
    Cc: Roman Zippel
    Cc: Ingo Molnar
    Cc: john stultz
    Signed-off-by: Andrew Morton
    Signed-off-by: Thomas Gleixner

    David Howells
     
  • In commit ee7c82da830ea860b1f9274f1f0cdf99f206e7c2 ("wait_task_stopped:
    simplify and fix races with SIGCONT/SIGKILL/untrace"), the magic (short)
    cast when storing si_code was lost in wait_task_stopped. This leaks the
    in-kernel CLD_* values that do not match what userland expects.

    Signed-off-by: Roland McGrath
    Cc: Oleg Nesterov
    Signed-off-by: Linus Torvalds

    Roland McGrath
     

08 Mar, 2008

19 commits

  • The previous patch to move chainiv and eseqiv into blkcipher created
    a section mismatch for the chainiv exit function which was also called
    from __init. This patch removes the __exit marking on it.

    Signed-off-by: Herbert Xu

    Herbert Xu
     
  • This makes 64-bit ptrace calls setting the 64-bit orig_ax field for a
    32-bit task sign-extend the low 32 bits up to 64. This matches what a
    64-bit debugger expects when tracing a 32-bit task.

    This follows on my "x86_64 ia32 syscall restart fix". This didn't
    matter until that was fixed.

    The debugger ignores or zeros the high half of every register slot it
    sets (including the orig_rax pseudo-register) uniformly. It expects
    that the setting of the low 32 bits always has the same meaning as a
    32-bit debugger setting those same 32 bits with native 32-bit
    facilities.

    This never arose before because the syscall restart check never
    matched any -ERESTART* values due to lack of sign extension. Before
    that fix, even 32-bit ptrace setting orig_eax to -1 failed to trigger
    the restart check anyway. So this was never noticed as a regression
    of 64-bit debuggers vs 32-bit debuggers on the same 64-bit kernel.

    Signed-off-by: Roland McGrath
    [ Changed to just do the sign-extension unconditionally on x86-64,
    since orig_ax is always just a small integer and doesn't need
    the full 64-bit range ]
    Signed-off-by: Linus Torvalds

    Roland McGrath
     
  • This adds another Broadcom BCM2045 based device to the blacklist, with
    these settings the micro dongle works on my system.

    Signed-off-by: Karsten Keil
    Acked-by: Marcel Holtmann
    Signed-off-by: Linus Torvalds

    Karsten Keil
     
  • * 'slab-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/christoph/vm:
    slub: fix typo in Documentation/vm/slub.txt
    slab: NUMA slab allocator migration bugfix
    slub: Do not cross cacheline boundaries for very small objects
    slab - use angle brackets for include of kmalloc_sizes.h
    slab numa fallback logic: Do not pass unfiltered flags to page allocator
    slub statistics: Fix check for DEACTIVATE_REMOTE_FREES

    Linus Torvalds
     
  • * git://git.kernel.org/pub/scm/linux/kernel/git/bart/ide-2.6:
    ide: update references to Documentation/ide/ide.txt (v2)
    ide: move ide.txt to Documentation/ide/
    ide: fix buggy code in ide_register_hw()
    ide: fix enabling DMA on it821x in "smart" mode
    ide-cd: mark REQ_TYPE_ATA_PC write requests with REQ_RW flag

    Linus Torvalds
     
  • Fix all references to Documentation/ide/ide.txt.
    Add/update ide/00-INDEX file.

    Signed-off-by: Randy Dunlap
    Signed-off-by: Bartlomiej Zolnierkiewicz

    Randy Dunlap
     
  • Cleanup some of Documentation directory:
    Move Documentation/ide.txt to the ide/ sub-directory.
    Fix trailing whitespace while there.

    Signed-off-by: Randy Dunlap
    Signed-off-by: Bartlomiej Zolnierkiewicz

    Randy Dunlap
     
  • Relocating the index to come after finding the hwif pointer.

    Signed-off-by: Peter Teoh
    Reported-by: Adrian Bunk
    Signed-off-by: Bartlomiej Zolnierkiewicz

    Peter Teoh
     
  • ide_tune_dma() should return '1' if IDE_HFLAG_NO_SET_MODE host flag is set.

    Cc: Sergei Shtylyov
    Signed-off-by: Bartlomiej Zolnierkiewicz

    Bartlomiej Zolnierkiewicz
     
  • On Thursday 06 March 2008, walt wrote:

    > For me, this commit causes the problem it's intended to fix:
    >
    > commit 9f10d9ee0ac6d79d7bc8b9a158bf4a29322d84d3
    > Author: Bartlomiej Zolnierkiewicz
    > Date: Tue Feb 26 21:50:35 2008 +0100
    >
    > ide-cd: fix 'ireason' handling for REQ_TYPE_ATA_PC requests
    >
    > This fixes some hangs caused by not finishing the transfer before ending
    > the request and also makes use of 'ireason == 1' quirk for spurious IRQs.
    >
    > When I mount a CD there is a long delay, and I see this error message:
    >
    > hdc: ide_cd_check_ireason: wrong transfer direction!
    > cdrom: failed setting lba address space
    > hdc: status error: status=0x58 { DriveReady SeekComplete DataRequest }
    > ide: failed opcode was: unknown
    > hdc: drive not ready for command
    >
    >
    > When I revert this commit everything works properly again, including
    > CD burning.

    It turned out that REQ_TYPE_ATA_PC write requests were not marked as such
    (the previous commit assumed them to be).

    Reported-by: walt
    Tested-by: walt
    Reviewed-by: Borislav Petkov
    Signed-off-by: Bartlomiej Zolnierkiewicz

    Bartlomiej Zolnierkiewicz
     
  • * 'hotfixes' of git://git.linux-nfs.org/projects/trondmy/nfs-2.6:
    NFS: Fix dentry revalidation for NFSv4 referrals and mountpoint crossings
    NFS: Fix the fsid revalidation in nfs_update_inode()
    SUNRPC: Fix a nfs4 over rdma transport oops
    NFS: Fix an f_mode/f_flags confusion in fs/nfs/write.c

    Linus Torvalds
     
  • As long as the directory contents haven't changed, we should just let the
    path walk proceed to cross the mountpoint. Apart from being an optimisation
    in the case of 'nohide' mountpoint traversals, it also fixes an issue with
    referrals: referral inodes don't have valid filehandles, so calling
    nfs_revalidate_inode() on them is a bug.

    Signed-off-by: Trond Myklebust

    Trond Myklebust
     
  • When we detect that we've crossed a mountpoint on the remote server, we
    must take care not to use that inode to revalidate the fsid on our
    current superblock. To do so, we label the inode as a remote mountpoint,
    and check for that in nfs_update_inode().

    Signed-off-by: Trond Myklebust

    Trond Myklebust
     
  • Prevent an RPC oops when freeing a dynamically allocated RDMA
    buffer, used in certain special-case large metadata operations.

    Signed-off-by: Tom Talpey
    Signed-off-by: James Lentini
    Signed-off-by: Trond Myklebust

    Tom Talpey
     
  • O_SYNC is stored in filp->f_flags.
    Thanks to Al Viro for pointing out the bug.

    Signed-off-by: Trond Myklebust

    Trond Myklebust
     
  • The card state mutex was only initialized when a device was connected,
    but used during unload unconditionally, leading to an Oops if a driver
    was loaded and unloaded again without ever connecting a device.

    Fix this by initializing the mutex as soon as the structure is allocated.
    Also add a missing mutex unlock revealed in the same execution path.

    This fixes a possible Oops in 2.6.25-rc that was introduced by commit
    e468c04894f36045cf93d1384183a461014b6840 ("Gigaset: permit module
    unload").

    Thanks to Roland Kletzing for reporting this problem.

    Signed-off-by: Tilman Schmidt
    Tested-by: Roland Kletzing
    Cc: Hansjoerg Lipp
    Cc: Karsten Keil
    Signed-off-by: Linus Torvalds

    Tilman Schmidt
     
  • …linux-2.6-sched-devel

    * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mingo/linux-2.6-sched-devel:
    sched: don't allow rt_runtime_us to be zero for groups having rt tasks
    sched: rt-group: fixup schedulability constraints calculation
    sched: fix the wrong time slice value for SCHED_FIFO tasks
    sched: export task_nice
    sched: balance RT task resched only on runqueue
    sched: retain vruntime

    Linus Torvalds
     
  • * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/x86/linux-2.6-x86:
    x86-boot: don't request VBE2 information
    x86: re-add reboot fixups
    x86: fix typo in step.c
    x86: fix merge mistake in i387.c
    x86: clear DF before calling signal handler

    Linus Torvalds
     
  • randconfig testing found a bootup lockup in drivers/char/esp.c because
    of a spinlock that wasn't correctly initialized.

    I'm not sure why it became more prominent in 2.6.25-rc4, the bug seems
    rather old and i've been doing allyesconfig bootups for ages with
    CONFIG_ESP enabled.

    This fixes this bootup lockup:

    PM: Adding info for No Bus:ttyP63
    ttyP32 at 0x0240 (irq = 0) is an ESP primary port
    BUG: spinlock lockup on CPU#0, swapper/1, f56dd004
    Pid: 1, comm: swapper Not tainted 2.6.25-rc4-sched-devel.git-x86-latest.git #402 [] _raw_spin_lock+0x134/0x140
    [] _spin_lock_irqsave+0x5e/0x80
    [] ? espserial_init+0x2be/0x6e0
    [] espserial_init+0x2be/0x6e0
    [] kernel_init+0x83/0x260
    [] ? espserial_init+0x0/0x6e0
    [] ? restore_nocheck_notrace+0x0/0xe
    [] ? kernel_init+0x0/0x260
    [] ? kernel_init+0x0/0x260
    [] kernel_thread_helper+0x7/0x10
    =======================

    kzalloc() is not the way to initialize spinlocks anymore.

    Signed-off-by: Ingo Molnar
    Signed-off-by: Linus Torvalds

    Ingo Molnar
     

07 Mar, 2008

2 commits

  • This patch checks if we can set the rt_runtime_us to 0. If there is a
    realtime task in the group, we don't want to set the rt_runtime_us as 0
    or bad things will happen. (that task wont get any CPU time despite
    being TASK_RUNNNG)

    Signed-off-by: Dhaval Giani
    Signed-off-by: Ingo Molnar

    Dhaval Giani
     
  • it was only possible to configure the rt-group scheduling parameters
    beyond the default value in a very small range.

    that's because div64_64() has a different calling convention than
    do_div() :/

    fix a few untidies while we are here; sysctl_sched_rt_period may overflow
    due to that multiplication, so cast to u64 first. Also that RUNTIME_INF
    juggling makes little sense although its an effective NOP.

    Signed-off-by: Peter Zijlstra
    Signed-off-by: Ingo Molnar

    Peter Zijlstra