1. 09 May, 2009 9 commits
  2. 30 Apr, 2009 1 commit
  3. 29 Apr, 2009 15 commits
    • Ingo Molnar's avatar
      x86, vmlinux.lds: fix relocatable symbols · fd073194
      Ingo Molnar authored
      __init_begin/_end symbols should be inside sections as well,
      otherwise the relocatable kernel gets confused when freeing
      init sections in the wrong place.
      
      [ Impact: fix bootup crash ]
      
      Cc: Sam Ravnborg <sam@ravnborg.org>
      Cc: Tim Abbott <tabbott@MIT.EDU>
      Cc: Linus Torvalds <torvalds@linux-foundation.org>
      LKML-Reference: <20090429105056.GA28720@uranus.ravnborg.org>
      Signed-off-by: default avatarIngo Molnar <mingo@elte.hu>
      fd073194
    • Ingo Molnar's avatar
      x86, vmlinux.lds: add copyright · 91fd7fe8
      Ingo Molnar authored
      Acked-by: default avatarSam Ravnborg <sam@ravnborg.org>
      Cc: Tim Abbott <tabbott@MIT.EDU>
      Cc: Linus Torvalds <torvalds@linux-foundation.org>
      LKML-Reference: <1240991249-27117-2-git-send-email-sam@ravnborg.org>
      Signed-off-by: default avatarIngo Molnar <mingo@elte.hu>
      91fd7fe8
    • Sam Ravnborg's avatar
      x86, vmlinux.lds: unify remaining parts · 091e52c3
      Sam Ravnborg authored
      32 bit:
      - explicit page align .bss
      - move ALING() out of .brk output section
      - discard *(.eh_frame)
      
      64 bit:
      - move ALIGN() out of .bss output section
      - move ALIGN() out of .brk output section
      - use a dedicated section to define _end
      
      [ Impact: unify and fix section alignments in linker script ]
      Signed-off-by: default avatarSam Ravnborg <sam@ravnborg.org>
      Cc: Tim Abbott <tabbott@MIT.EDU>
      Cc: Linus Torvalds <torvalds@linux-foundation.org>
      LKML-Reference: <1240991249-27117-13-git-send-email-sam@ravnborg.org>
      Signed-off-by: default avatarIngo Molnar <mingo@elte.hu>
      091e52c3
    • Sam Ravnborg's avatar
      x86, vmlinux.lds: unify percpu · 9d16e783
      Sam Ravnborg authored
      32 bit:
      - move __init_end outside the .bss output section
        It really did not belong in there
      
      [ Impact: 64-bit: cleanup, 32-bit: refactor linker script ]
      Signed-off-by: default avatarSam Ravnborg <sam@ravnborg.org>
      Cc: Tim Abbott <tabbott@MIT.EDU>
      Cc: Linus Torvalds <torvalds@linux-foundation.org>
      LKML-Reference: <1240991249-27117-12-git-send-email-sam@ravnborg.org>
      Signed-off-by: default avatarIngo Molnar <mingo@elte.hu>
      9d16e783
    • Sam Ravnborg's avatar
      x86, vmlinux.lds: unify .exit.* and .init.ramfs · bf6a5741
      Sam Ravnborg authored
      [ Impact: cleanup ]
      Signed-off-by: default avatarSam Ravnborg <sam@ravnborg.org>
      Cc: Tim Abbott <tabbott@MIT.EDU>
      Cc: Linus Torvalds <torvalds@linux-foundation.org>
      LKML-Reference: <1240991249-27117-11-git-send-email-sam@ravnborg.org>
      Signed-off-by: default avatarIngo Molnar <mingo@elte.hu>
      bf6a5741
    • Sam Ravnborg's avatar
      x86, vmlinux.lds: unify parainstructions · ae618362
      Sam Ravnborg authored
      32 bit:
      
       - increase alignment from 4 to 8 for .parainstructions
       - increase alignment from 4 to 8 for .altinstructions
      
      64 bit:
      
       - move ALIGN() outside output section for .altinstructions
      
      None of the above should result in any functional change.
      
      [ Impact: refactor and unify linker script ]
      Signed-off-by: default avatarSam Ravnborg <sam@ravnborg.org>
      Cc: Tim Abbott <tabbott@MIT.EDU>
      Cc: Linus Torvalds <torvalds@linux-foundation.org>
      LKML-Reference: <1240991249-27117-10-git-send-email-sam@ravnborg.org>
      Signed-off-by: default avatarIngo Molnar <mingo@elte.hu>
      ae618362
    • Sam Ravnborg's avatar
      x86, vmlinux.lds: unify first part of initdata · e58bdaa8
      Sam Ravnborg authored
      32-bit:
      
       - Move definition of __init_begin outside output_section
         because it covers more than one section
       - Move ALIGN() for end-of-section inside .smp_locks output section.
         Same effect but the intent is better documented that
         we need both start and end aligned.
      
      64-bit:
      
       - Move ALIGN() outside output section in .init.setup
       - Deleted unused __smp_alt_* symbols
      
      None of the above should result in any functional change.
      
      [ Impact: refactor and unify linker script ]
      Signed-off-by: default avatarSam Ravnborg <sam@ravnborg.org>
      Cc: Tim Abbott <tabbott@MIT.EDU>
      Cc: Linus Torvalds <torvalds@linux-foundation.org>
      LKML-Reference: <1240991249-27117-9-git-send-email-sam@ravnborg.org>
      Signed-off-by: default avatarIngo Molnar <mingo@elte.hu>
      e58bdaa8
    • Sam Ravnborg's avatar
      x86, vmlinux.lds: move vsyscall output sections · ff6f87e1
      Sam Ravnborg authored
      [ Impact: cleanup ]
      Signed-off-by: default avatarSam Ravnborg <sam@ravnborg.org>
      Cc: Tim Abbott <tabbott@MIT.EDU>
      Cc: Linus Torvalds <torvalds@linux-foundation.org>
      LKML-Reference: <1240991249-27117-8-git-send-email-sam@ravnborg.org>
      Signed-off-by: default avatarIngo Molnar <mingo@elte.hu>
      ff6f87e1
    • Sam Ravnborg's avatar
      x86, vmlinux.lds: unify data output sections · 1f6397ba
      Sam Ravnborg authored
      For 64 bit the following functional changes are introduced:
      
       - .data.page_aligned has moved
       - .data.cacheline_aligned has moved
       - .data.read_mostly has moved
       - ALIGN() moved out of output section for .data.cacheline_aligned
       - ALIGN() moved out of output section for .data.page_aligned
      
      Notice that 32 bit and 64 bit has different location of _edata.
      .data_nosave is 32 bit only as 64 bit is special due to PERCPU.
      
      [ Impact: 32-bit: cleanup, 64-bit: use 32-bit linker script ]
      Signed-off-by: default avatarSam Ravnborg <sam@ravnborg.org>
      Cc: Tim Abbott <tabbott@MIT.EDU>
      Cc: Linus Torvalds <torvalds@linux-foundation.org>
      LKML-Reference: <1240991249-27117-7-git-send-email-sam@ravnborg.org>
      Signed-off-by: default avatarIngo Molnar <mingo@elte.hu>
      1f6397ba
    • Sam Ravnborg's avatar
      x86, vmlinux.lds: unify exception table · 448bc3ab
      Sam Ravnborg authored
      [ Impact: cleanup ]
      Signed-off-by: default avatarSam Ravnborg <sam@ravnborg.org>
      Cc: Tim Abbott <tabbott@MIT.EDU>
      Cc: Linus Torvalds <torvalds@linux-foundation.org>
      LKML-Reference: <1240991249-27117-6-git-send-email-sam@ravnborg.org>
      Signed-off-by: default avatarIngo Molnar <mingo@elte.hu>
      448bc3ab
    • Sam Ravnborg's avatar
      x86, vmlinux.lds: unify .text output sections · dfc20895
      Sam Ravnborg authored
      32 bit x86 had a dedicated .text.head output section,
      whereas 64 bit had it all in a single output section.
      
      In the unified version the dedicated .text.head output section
      was kept to have full control over the head code.
      
      32 bit:
      
      - Moved definition of _stext to the linker script.
        The definition is located _after_ .text.page_aligned as this
        is what 32 bit did before.
      
      The ALIGN(8) was introduced so we hit the exact same address
      (on the tested config) before and after the move.
      
      I assume that it is a bug that _stext did not cover the
      .text.page_aligned section - if this is true it can be fixed
      in a follow-up patch (and the ugly ALIGN() can be dropped).
      
      [ Impact: 64-bit: cleanup, 32-bit: use the 64-bit linker script ]
      Signed-off-by: default avatarSam Ravnborg <sam@ravnborg.org>
      Cc: Tim Abbott <tabbott@MIT.EDU>
      Cc: Linus Torvalds <torvalds@linux-foundation.org>
      LKML-Reference: <1240991249-27117-5-git-send-email-sam@ravnborg.org>
      Signed-off-by: default avatarIngo Molnar <mingo@elte.hu>
      dfc20895
    • Sam Ravnborg's avatar
      x86, vmlinux.lds: unify start/end of SECTIONS · 444e0ae4
      Sam Ravnborg authored
      [ Impact: cleanup ]
      Signed-off-by: default avatarSam Ravnborg <sam@ravnborg.org>
      Cc: Tim Abbott <tabbott@MIT.EDU>
      Cc: Linus Torvalds <torvalds@linux-foundation.org>
      LKML-Reference: <1240991249-27117-4-git-send-email-sam@ravnborg.org>
      Signed-off-by: default avatarIngo Molnar <mingo@elte.hu>
      444e0ae4
    • Sam Ravnborg's avatar
      x86, vmlinux.lds: unify PHDRS · afb8095a
      Sam Ravnborg authored
      PHDRS are not equal for the two - so
      use ifdefs to cover up for that.
      
      On the assumption that they may become equal the ifdef
      is inside the PHDRS definiton.
      
      [ Impact: cleanup ]
      Signed-off-by: default avatarSam Ravnborg <sam@ravnborg.org>
      Cc: Tim Abbott <tabbott@MIT.EDU>
      Cc: Linus Torvalds <torvalds@linux-foundation.org>
      LKML-Reference: <1240991249-27117-3-git-send-email-sam@ravnborg.org>
      Signed-off-by: default avatarIngo Molnar <mingo@elte.hu>
      afb8095a
    • Sam Ravnborg's avatar
      x86, vmlinux.lds: unify header/footer · 17ce265d
      Sam Ravnborg authored
      Merge everything except PHDRS and SECTIONS into
      vmlinux.lds.S.
      
      [ Impact: cleanup ]
      Signed-off-by: default avatarSam Ravnborg <sam@ravnborg.org>
      Cc: Tim Abbott <tabbott@MIT.EDU>
      Cc: Linus Torvalds <torvalds@linux-foundation.org>
      LKML-Reference: <1240991249-27117-2-git-send-email-sam@ravnborg.org>
      Signed-off-by: default avatarIngo Molnar <mingo@elte.hu>
      17ce265d
    • Sam Ravnborg's avatar
      x86: beautify vmlinux_32.lds.S · aee6a166
      Sam Ravnborg authored
      Beautify vmlinux_32.lds.S:
      
       - Use tabs for indent
       - Located curly braces like in C code
       - Rearranged a few comments
      
      To see actual differences use "git diff -b" which
      ignore 'whitespace' changes.
      
      The beautification is done to prepare a unification
      of the _32 and _64 variants of the linker scripts.
      
      [ Impact: cleanup ]
      Signed-off-by: default avatarSam Ravnborg <sam@ravnborg.org>
      Cc: Tim Abbott <tabbott@MIT.EDU>
      Cc: Linus Torvalds <torvalds@linux-foundation.org>
      LKML-Reference: <1240991249-27117-1-git-send-email-sam@ravnborg.org>
      Signed-off-by: default avatarIngo Molnar <mingo@elte.hu>
      aee6a166
  4. 27 Apr, 2009 2 commits
    • Linus Torvalds's avatar
      x86: unify arch/x86/boot/compressed/vmlinux_*.lds · 51b26ada
      Linus Torvalds authored
      Look at the:
      
      	diff -u arch/x86/boot/compressed/vmlinux_*.lds
      
      output and realize that they're basially exactly the same except for
      trivial naming differences, and the fact that the 64-bit version has a
      "pgtable" thing.
      
      So unify them.
      
      There's some trivial cleanup there (make the output format a Kconfig thing
      rather than doing #ifdef's for it, and unify both 32-bit and 64-bit BSS
      end to "_ebss", where 32-bit used to use the traditional "_end"), but
      other than that it's really very mindless and straigt conversion.
      
      For example, I think we should aim to remove "startup_32" vs "startup_64",
      and just call it "startup", and get rid of one more difference. I didn't
      do that.
      
      Also, notice the comment in the unified vmlinux.lds.S talks about
      "head_64" and "startup_32" which is an odd and incorrect mix, but that was
      actually what the old 64-bit only lds file had, so the confusion isn't
      new, and now that mixing is arguably more accurate thanks to the
      vmlinux.lds.S file being shared between the two cases ;)
      
      [ Impact: cleanup, unification ]
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      Acked-by: default avatarSam Ravnborg <sam@ravnborg.org>
      Signed-off-by: default avatarIngo Molnar <mingo@elte.hu>
      51b26ada
    • Sam Ravnborg's avatar
      x86: beautify vmlinux_64.lds.S · 0a3ec21f
      Sam Ravnborg authored
      Beautify vmlinux_64.lds.S:
      
       - Use tabs for indent
       - Located curly braces like in C code
       - Rearranged a few comments
      
      There is no functional changes in this patch
      
      The beautification is done to prepare a unification
      of the _32 and the _64 variants of the linker scripts.
      
      [ Impact: cleanup ]
      Signed-off-by: default avatarSam Ravnborg <sam@ravnborg.org>
      Cc: Tim Abbott <tabbott@MIT.EDU>
      Cc: Linus Torvalds <torvalds@linux-foundation.org>
      LKML-Reference: <20090426210742.GA3464@uranus.ravnborg.org>
      Signed-off-by: default avatarIngo Molnar <mingo@elte.hu>
      0a3ec21f
  5. 16 Apr, 2009 1 commit
  6. 15 Apr, 2009 12 commits
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6 · 3ee8da87
      Linus Torvalds authored
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6:
        ALSA: hda - Fix the cmd cache keys for amp verbs
        ALSA: add missing definitions(letters) to HD-Audio.txt
        ALSA: hda - Add quirk mask for Fujitsu Amilo laptops with ALC883
        [ALSA] intel8x0: add one retry to the ac97_clock measurement routine
        [ALSA] intel8x0: fix wrong conditions in ac97_clock measure routine
        ALSA: hda - Avoid call of snd_jack_report at release
        ALSA: add private_data to struct snd_jack
        ALSA: snd-usb-caiaq: rename files to remove redundant information in file pathes
        ALSA: snd-usb-caiaq: clean up header includes
        ALSA: sound/pci: use memdup_user()
        ALSA: sound/usb: use memdup_user()
        ALSA: sound/isa: use memdup_user()
        ALSA: sound/core: use memdup_user()
        [ALSA] intel8x0: do not use zero value from PICB register
        [ALSA] intel8x0: an attempt to make ac97_clock measurement more reliable
        [ALSA] pcm-midlevel: Add more strict buffer position checks based on jiffies
        [ALSA] hda_intel: fix unexpected ring buffer positions
        ASoC: Disable S3C64xx support in Kconfig
        ASoC: magician: remove un-necessary #include of pxa-regs.h and hardware.h
      3ee8da87
    • Linus Torvalds's avatar
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/steve/gfs2-2.6-fixes · a2c252eb
      Linus Torvalds authored
      * git://git.kernel.org/pub/scm/linux/kernel/git/steve/gfs2-2.6-fixes:
        GFS2: Use DEFINE_SPINLOCK
        GFS2: cleanup file_operations mess
        GFS2: Move umount flush rwsem
        GFS2: Fix symlink creation race
        GFS2: Make quotad's waiting interruptible
      a2c252eb
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.kernel.dk/linux-2.6-block · 23da64b4
      Linus Torvalds authored
      * 'for-linus' of git://git.kernel.dk/linux-2.6-block: (28 commits)
        cfq-iosched: add close cooperator code
        cfq-iosched: log responsible 'cfqq' in idle timer arm
        cfq-iosched: tweak kick logic a bit more
        cfq-iosched: no need to save interrupts in cfq_kick_queue()
        brd: fix cacheflushing
        brd: support barriers
        swap: Remove code handling bio_alloc failure with __GFP_WAIT
        gfs2: Remove code handling bio_alloc failure with __GFP_WAIT
        ext4: Remove code handling bio_alloc failure with __GFP_WAIT
        dio: Remove code handling bio_alloc failure with __GFP_WAIT
        block: Remove code handling bio_alloc failure with __GFP_WAIT
        bio: add documentation to bio_alloc()
        splice: add helpers for locking pipe inode
        splice: remove generic_file_splice_write_nolock()
        ocfs2: fix i_mutex locking in ocfs2_splice_to_file()
        splice: fix i_mutex locking in generic_splice_write()
        splice: remove i_mutex locking in splice_from_pipe()
        splice: split up __splice_from_pipe()
        block: fix SG_IO to return a proper error value
        cfq-iosched: don't delay queue kick for a merged request
        ...
      23da64b4
    • Takashi Iwai's avatar
      Merge branch 'topic/hda' into for-linus · 9dd175f7
      Takashi Iwai authored
      * topic/hda:
        ALSA: hda - Fix the cmd cache keys for amp verbs
        ALSA: add missing definitions(letters) to HD-Audio.txt
      9dd175f7
    • Takashi Iwai's avatar
      ALSA: hda - Fix the cmd cache keys for amp verbs · fcad94a4
      Takashi Iwai authored
      Fix the key value generation for get/set amp verbs.  The upper bits of
      the parameter have to be combined with the verb value to be unique for
      each direction/index of amp access.
      
      This fixes the resume problem on some hardwares like Macbook after
      the channel mode is changed.
      Tested-by: default avatarJohannes Berg <johannes@sipsolutions.net>
      Cc: <stable@kernel.org>
      Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
      fcad94a4
    • Linus Torvalds's avatar
      Merge branch 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc · a23c218b
      Linus Torvalds authored
      * 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc:
        powerpc: pseries/dtl.c should include asm/firmware.h
        powerpc: Fix data-corrupting bug in __futex_atomic_op
        powerpc/pseries: Set error_state to pci_channel_io_normal in eeh_report_reset()
        powerpc: Allow 256kB pages with SHMEM
        powerpc: Document new FSL I2C bindings and cleanup
        powerpc/mm: Fix compile warning
        powerpc/85xx: TQM8548: update defconfig
        powerpc/85xx: TQM8548: use proper phy-handles for enet2 and enet3
        powerpc/85xx: TQM85xx: correct address of LM75 I2C device nodes
        powerpc: Add support for early tlbilx opcode
        powerpc: Fix tlbilx opcode
      a23c218b
    • Linus Torvalds's avatar
      acpi-cpufreq: fix 'smp_call_function_many()' confusion · ea34f43a
      Linus Torvalds authored
      It turns out that 'smp_call_function_many()' doesn't work at all like
      'smp_call_function_single()', and my change to Andrew's patch to use it
      rather than a loop over all CPU's acpi-cpufreq doesn't work.
      
      My bad.
      
      'smp_call_function_many()' has two "features" (aka "documented bugs"):
      
       (a) it needs to be called with preemption disabled, because it uses
           smp_processor_id() without guarding the CPU lookup with 'get_cpu()'
           and 'put_cpu()' like the 'single' variant does.
      
       (b) even if the current CPU is part of the CPU mask, it won't do the
           call on that CPU.
      
      Still, we're better off trying to use 'smp_call_function_many()' than
      looping over CPU's, since it at least in theory allows us to use a
      broadcast IPI and do it all in parallel.  So let's just work around the
      silly semantic bugs in that function.
      Reported-and-tested-by: default avatarAli Gholami Rudi <ali@rudi.ir>
      Cc: Ingo Molnar <mingo@elte.hu>
      Cc: Andrew Morton <akpm@linux-foundation.org>,
      Cc: Rusty Russell <rusty@rustcorp.com.au>
      Cc: Dave Jones <davej@redhat.com>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      ea34f43a
    • Jens Axboe's avatar
      cfq-iosched: add close cooperator code · a36e71f9
      Jens Axboe authored
      If we have processes that are working in close proximity to each
      other on disk, we don't want to idle wait. Instead allow the close
      process to issue a request, getting better aggregate bandwidth.
      The anticipatory scheduler has similar checks, noop and deadline do
      not need it since they don't care about process <-> io mappings.
      
      The code for CFQ is a little more involved though, since we split
      request queues into per-process contexts.
      
      This fixes a performance problem with eg dump(8), since it uses
      several processes in some silly attempt to speed IO up. Even if
      dump(8) isn't really a valid case (it should be fixed by using
      CLONE_IO), there are other cases where we see close processes
      and where idling ends up hurting performance.
      
      Credit goes to Jeff Moyer <jmoyer@redhat.com> for writing the
      initial implementation.
      Signed-off-by: default avatarJens Axboe <jens.axboe@oracle.com>
      a36e71f9
    • Jens Axboe's avatar
      cfq-iosched: log responsible 'cfqq' in idle timer arm · 9481ffdc
      Jens Axboe authored
      Makes it easier to read the traces.
      Signed-off-by: default avatarJens Axboe <jens.axboe@oracle.com>
      9481ffdc
    • Jens Axboe's avatar
      cfq-iosched: tweak kick logic a bit more · 2d870722
      Jens Axboe authored
      We only kick the dispatch for an idling queue, if we think it's a
      (somewhat) fully merged request. Also allow a kick if we have other
      busy queues in the system, since we don't want to risk waiting for
      a potential merge in that case. It's better to get some work done and
      proceed.
      Signed-off-by: default avatarJens Axboe <jens.axboe@oracle.com>
      2d870722
    • Jens Axboe's avatar
      cfq-iosched: no need to save interrupts in cfq_kick_queue() · 40bb54d1
      Jens Axboe authored
      It's called from the workqueue handlers from process context, so
      we always have irqs enabled when entered.
      Signed-off-by: default avatarJens Axboe <jens.axboe@oracle.com>
      40bb54d1
    • Nick Piggin's avatar
      brd: fix cacheflushing · c2572f2b
      Nick Piggin authored
      brd is missing a flush_dcache_page. On 2nd thoughts, perhaps it is the
      pagecache's responsibility to flush user virtual aliases (the driver of
      course should flush kernel virtual mappings)... but anyway, there
      already exists cache flushing for one direction of transfer, so we
      should add the other.
      Signed-off-by: default avatarNick Piggin <npiggin@suse.de>
      Signed-off-by: default avatarJens Axboe <jens.axboe@oracle.com>
      c2572f2b