28 Jul, 2009

1 commit

  • mm: Pass virtual address to [__]p{te,ud,md}_free_tlb()

    Upcoming paches to support the new 64-bit "BookE" powerpc architecture
    will need to have the virtual address corresponding to PTE page when
    freeing it, due to the way the HW table walker works.

    Basically, the TLB can be loaded with "large" pages that cover the whole
    virtual space (well, sort-of, half of it actually) represented by a PTE
    page, and which contain an "indirect" bit indicating that this TLB entry
    RPN points to an array of PTEs from which the TLB can then create direct
    entries. Thus, in order to invalidate those when PTE pages are deleted,
    we need the virtual address to pass to tlbilx or tlbivax instructions.

    The old trick of sticking it somewhere in the PTE page struct page sucks
    too much, the address is almost readily available in all call sites and
    almost everybody implemets these as macros, so we may as well add the
    argument everywhere. I added it to the pmd and pud variants for consistency.

    Signed-off-by: Benjamin Herrenschmidt
    Acked-by: David Howells [MN10300 & FRV]
    Acked-by: Nick Piggin
    Acked-by: Martin Schwidefsky [s390]
    Signed-off-by: Linus Torvalds

    Benjamin Herrenschmidt
     

11 Jul, 2009

1 commit

  • Pull the initial preempt_count value into a single
    definition site.

    Maintainers for: alpha, ia64 and m68k, please have a look,
    your arch code is funny.

    The header magic is a bit odd, but similar to the KERNEL_DS
    one, CPP waits with expanding these macros until the
    INIT_THREAD_INFO macro itself is expanded, which is in
    arch/*/kernel/init_task.c where we've already included
    sched.h so we're good.

    Cc: tony.luck@intel.com
    Cc: rth@twiddle.net
    Cc: geert@linux-m68k.org
    Signed-off-by: Peter Zijlstra
    Acked-by: Matt Mackall
    Signed-off-by: Linus Torvalds

    Peter Zijlstra
     

09 Jul, 2009

1 commit

  • Commit 5fd29d6ccbc98884569d6f3105aeca70858b3e0f ("printk: clean up
    handling of log-levels and newlines") changed printk semantics. printk
    lines with multiple KERN_ prefixes are no longer emitted as
    before the patch.

    is now included in the output on each additional use.

    Remove all uses of multiple KERN_s in formats.

    Signed-off-by: Joe Perches
    Signed-off-by: Linus Torvalds

    Joe Perches
     

26 Jun, 2009

1 commit

  • UML: Fix some apparent bitrot

    - migration of net_device methods into net_device_ops
    - dma_sync_single() changes

    Signed-off-by: Paul Menage
    Acked-by: Amerigo Wang
    --

    This version is split from my earlier patch, including just the
    portions that ar required for Linus' tree.

    Fixes the following compile errors:

    include/linux/dma-mapping.h:113: error: redefinition of 'dma_sync_single'
    arch/um/include/asm/dma-mapping.h:84: error: previous definition of 'dma_sync_single' was here
    include/linux/dma-mapping.h: In function 'dma_sync_single':
    include/linux/dma-mapping.h:117: error: implicit declaration of function 'dma_sync_single_for_cpu'
    include/linux/dma-mapping.h: At top level:
    include/linux/dma-mapping.h:120: error: redefinition of 'dma_sync_sg'
    arch/um/include/asm/dma-mapping.h:91: error: previous definition of 'dma_sync_sg' was here
    include/linux/dma-mapping.h: In function 'dma_sync_sg':
    include/linux/dma-mapping.h:124: error: implicit declaration of function 'dma_sync_sg_for_cpu'

    arch/um/drivers/slirp_kern.c: In function 'slirp_init':
    arch/um/drivers/slirp_kern.c:35: error: 'struct net_device' has no member named 'init'
    Signed-off-by: Linus Torvalds

    Paul Menage
     

22 Jun, 2009

1 commit

  • This allows the callers to now pass down the full set of FAULT_FLAG_xyz
    flags to handle_mm_fault(). All callers have been (mechanically)
    converted to the new calling convention, there's almost certainly room
    for architectures to clean up their code and then add FAULT_FLAG_RETRY
    when that support is added.

    Signed-off-by: Linus Torvalds

    Linus Torvalds
     

17 Jun, 2009

7 commits

  • * akpm: (182 commits)
    fbdev: bf54x-lq043fb: use kzalloc over kmalloc/memset
    fbdev: *bfin*: fix __dev{init,exit} markings
    fbdev: *bfin*: drop unnecessary calls to memset
    fbdev: bfin-t350mcqb-fb: drop unused local variables
    fbdev: blackfin has __raw I/O accessors, so use them in fb.h
    fbdev: s1d13xxxfb: add accelerated bitblt functions
    tcx: use standard fields for framebuffer physical address and length
    fbdev: add support for handoff from firmware to hw framebuffers
    intelfb: fix a bug when changing video timing
    fbdev: use framebuffer_release() for freeing fb_info structures
    radeon: P2G2CLK_ALWAYS_ONb tested twice, should 2nd be P2G2CLK_DAC_ALWAYS_ONb?
    s3c-fb: CPUFREQ frequency scaling support
    s3c-fb: fix resource releasing on error during probing
    carminefb: fix possible access beyond end of carmine_modedb[]
    acornfb: remove fb_mmap function
    mb862xxfb: use CONFIG_OF instead of CONFIG_PPC_OF
    mb862xxfb: restrict compliation of platform driver to PPC
    Samsung SoC Framebuffer driver: add Alpha Channel support
    atmel-lcdc: fix pixclock upper bound detection
    offb: use framebuffer_alloc() to allocate fb_info struct
    ...

    Manually fix up conflicts due to kmemcheck in mm/slab.c

    Linus Torvalds
     
  • Now we have __initconst, we can finally move the external declarations for
    the various Linux logo structures to .

    James' ack dates back to the previous submission (way to long ago), when the
    logos were still __initdata, which caused failures on some platforms with some
    toolchain versions.

    Signed-off-by: Geert Uytterhoeven
    Acked-by: James Simmons
    Cc: Krzysztof Helt
    Cc: Sam Ravnborg
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Geert Uytterhoeven
     
  • `ELF_CORE_COPY_REGS(x, y)' will make expansions like:
    `(y)[0] = (x)->x.gp[0]' but correct is `(y)[0] = (x)->regs.gp[0]'

    Signed-off-by: Roel Kluin
    Cc: WANG Cong
    Cc: Jeff Dike

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

    Roel Kluin
     
  • When compiling uml on x86_64:

    MODPOST vmlinux.o
    WARNING: vmlinux.o (.__syscall_stub.2): unexpected non-allocatable section.
    Did you forget to use "ax"/"aw" in a .S file?
    Note that for example contains
    section definitions for use in .S files.

    Because modpost checks for missing SHF_ALLOC section flag. So just add
    it.

    Signed-off-by: WANG Cong
    Cc: Jeff Dike
    Cc: Sam Ravnborg
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Amerigo Wang
     
  • The defines and typedefs (hw_interrupt_type, no_irq_type, irq_desc_t) have
    been kept around for migration reasons. After more than two years it's
    time to remove them finally.

    This patch cleans up one of the remaining users. When all such patches
    hit mainline we can remove the defines and typedefs finally.

    Impact: cleanup

    Convert the last remaining users to struct irq_chip and remove the
    define.

    Signed-off-by: Thomas Gleixner
    Cc: Jeff Dike
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Thomas Gleixner
     
  • See ancient discussion at
    http://marc.info/?l=user-mode-linux-devel&m=101990155831279&w=2

    Addresses http://bugzilla.kernel.org/show_bug.cgi?id=7854

    Signed-off-by: Alan Cox
    Reported-by: Paolo 'Blaisorblade' Giarrusso
    Cc: Jeff Dike
    Cc: Roland Kletzing
    Cc: "David S. Miller"
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Alan Cox
     
  • * create mm/init-mm.c, move init_mm there
    * remove INIT_MM, initialize init_mm with C99 initializer
    * unexport init_mm on all arches:

    init_mm is already unexported on x86.

    One strange place is some OMAP driver (drivers/video/omap/) which
    won't build modular, but it's already wants get_vm_area() export.
    Somebody should look there.

    [akpm@linux-foundation.org: add missing #includes]
    Signed-off-by: Alexey Dobriyan
    Cc: Mike Frysinger
    Cc: Americo Wang
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Alexey Dobriyan
     

16 Jun, 2009

1 commit

  • In the near future, the driver core is going to not allow direct access
    to the driver_data pointer in struct device. Instead, the functions
    dev_get_drvdata() and dev_set_drvdata() should be used. These functions
    have been around since the beginning, so are backwards compatible with
    all older kernel versions.

    Cc: user-mode-linux-devel@lists.sourceforge.net
    Cc: Jeff Dike
    Signed-off-by: Greg Kroah-Hartman

    Greg Kroah-Hartman
     

13 Jun, 2009

2 commits

  • * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arnd/asm-generic:
    add generic lib/checksum.c
    asm-generic: add a generic uaccess.h
    asm-generic: add generic NOMMU versions of some headers
    asm-generic: add generic atomic.h and io.h
    asm-generic: add legacy I/O header files
    asm-generic: add generic versions of common headers
    asm-generic: make bitops.h usable
    asm-generic: make pci.h usable directly
    asm-generic: make get_rtc_time overridable
    asm-generic: rename page.h and uaccess.h
    asm-generic: rename atomic.h to atomic-long.h
    asm-generic: add a generic unistd.h
    asm-generic: add generic ABI headers
    asm-generic: add generic sysv ipc headers
    asm-generic: introduce asm/bitsperlong.h
    asm-generic: rename termios.h, signal.h and mman.h

    Linus Torvalds
     
  • This patch removes unused asm/suspend.h files for
    the following architectures:

    alpha, arm, ia64, m68k, mips, s390, um

    Signed-off-by: Magnus Damm
    Acked-by: Pavel Machek
    Signed-off-by: Rafael J. Wysocki

    Magnus Damm
     

12 Jun, 2009

4 commits


11 May, 2009

2 commits

  • Till now block layer allowed two separate modes of request execution.
    A request is always acquired from the request queue via
    elv_next_request(). After that, drivers are free to either dequeue it
    or process it without dequeueing. Dequeue allows elv_next_request()
    to return the next request so that multiple requests can be in flight.

    Executing requests without dequeueing has its merits mostly in
    allowing drivers for simpler devices which can't do sg to deal with
    segments only without considering request boundary. However, the
    benefit this brings is dubious and declining while the cost of the API
    ambiguity is increasing. Segment based drivers are usually for very
    old or limited devices and as converting to dequeueing model isn't
    difficult, it doesn't justify the API overhead it puts on block layer
    and its more modern users.

    Previous patches converted all block low level drivers to dequeueing
    model. This patch completes the API transition by...

    * renaming elv_next_request() to blk_peek_request()

    * renaming blkdev_dequeue_request() to blk_start_request()

    * adding blk_fetch_request() which is combination of peek and start

    * disallowing completion of queued (not started) requests

    * applying new API to all LLDs

    Renamings are for consistency and to break out of tree code so that
    it's apparent that out of tree drivers need updating.

    [ Impact: block request issue API cleanup, no functional change ]

    Signed-off-by: Tejun Heo
    Cc: Rusty Russell
    Cc: James Bottomley
    Cc: Mike Miller
    Cc: unsik Kim
    Cc: Paul Clements
    Cc: Tim Waugh
    Cc: Geert Uytterhoeven
    Cc: David S. Miller
    Cc: Laurent Vivier
    Cc: Jeff Garzik
    Cc: Jeremy Fitzhardinge
    Cc: Grant Likely
    Cc: Adrian McMenamin
    Cc: Stephen Rothwell
    Cc: Bartlomiej Zolnierkiewicz
    Cc: Borislav Petkov
    Cc: Sergei Shtylyov
    Cc: Alex Dubov
    Cc: Pierre Ossman
    Cc: David Woodhouse
    Cc: Markus Lidel
    Cc: Stefan Weinhuber
    Cc: Martin Schwidefsky
    Cc: Pete Zaitcev
    Cc: FUJITA Tomonori
    Signed-off-by: Jens Axboe

    Tejun Heo
     
  • With recent cleanups, there is no place where low level driver
    directly manipulates request fields. This means that the 'hard'
    request fields always equal the !hard fields. Convert all
    rq->sectors, nr_sectors and current_nr_sectors references to
    accessors.

    While at it, drop superflous blk_rq_pos() < 0 test in swim.c.

    [ Impact: use pos and nr_sectors accessors ]

    Signed-off-by: Tejun Heo
    Acked-by: Geert Uytterhoeven
    Tested-by: Grant Likely
    Acked-by: Grant Likely
    Tested-by: Adrian McMenamin
    Acked-by: Adrian McMenamin
    Acked-by: Mike Miller
    Cc: James Bottomley
    Cc: Bartlomiej Zolnierkiewicz
    Cc: Borislav Petkov
    Cc: Sergei Shtylyov
    Cc: Eric Moore
    Cc: Alan Stern
    Cc: FUJITA Tomonori
    Cc: Pete Zaitcev
    Cc: Stephen Rothwell
    Cc: Paul Clements
    Cc: Tim Waugh
    Cc: Jeff Garzik
    Cc: Jeremy Fitzhardinge
    Cc: Alex Dubov
    Cc: David Woodhouse
    Cc: Martin Schwidefsky
    Cc: Dario Ballabio
    Cc: David S. Miller
    Cc: Rusty Russell
    Cc: unsik Kim
    Cc: Laurent Vivier
    Signed-off-by: Jens Axboe

    Tejun Heo
     

28 Apr, 2009

2 commits

  • ubd curiously updates rq->sector while issuing the request in multiple
    pieces. Don't do it and simply use local copy of sector.

    [ Impact: cleanup ]

    Signed-off-by: Tejun Heo
    Cc: Jeff Dike
    Signed-off-by: Jens Axboe

    Tejun Heo
     
  • ubd had its own block request partial completion mechanism, which is
    unnecessary as block layer already does it. Kill ubd_end_request()
    and ubd_finish() and replace them with direct call to
    blk_end_request().

    [ Impact: cleanup ]

    Signed-off-by: Tejun Heo
    Cc: Jeff Dike
    Signed-off-by: Jens Axboe

    Tejun Heo
     

22 Apr, 2009

2 commits

  • Got this warning from Kconfig:

    boolean symbol INPUT tested for 'm'? test forced to 'n'

    because INPUT is tristate, not bool.

    Signed-off-by: WANG Cong
    Cc: Sam Ravnborg
    Cc: Jeff Dike
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    WANG Cong
     
  • Pass clocksource pointer to the read() callback for clocksources. This
    allows us to share the callback between multiple instances.

    [hugh@veritas.com: fix powerpc build of clocksource pass clocksource mods]
    [akpm@linux-foundation.org: cleanup]
    Signed-off-by: Magnus Damm
    Acked-by: John Stultz
    Cc: Thomas Gleixner
    Signed-off-by: Hugh Dickins
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Magnus Damm
     

06 Apr, 2009

1 commit

  • * 'tracing-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (413 commits)
    tracing, net: fix net tree and tracing tree merge interaction
    tracing, powerpc: fix powerpc tree and tracing tree interaction
    ring-buffer: do not remove reader page from list on ring buffer free
    function-graph: allow unregistering twice
    trace: make argument 'mem' of trace_seq_putmem() const
    tracing: add missing 'extern' keywords to trace_output.h
    tracing: provide trace_seq_reserve()
    blktrace: print out BLK_TN_MESSAGE properly
    blktrace: extract duplidate code
    blktrace: fix memory leak when freeing struct blk_io_trace
    blktrace: fix blk_probes_ref chaos
    blktrace: make classic output more classic
    blktrace: fix off-by-one bug
    blktrace: fix the original blktrace
    blktrace: fix a race when creating blk_tree_root in debugfs
    blktrace: fix timestamp in binary output
    tracing, Text Edit Lock: cleanup
    tracing: filter fix for TRACE_EVENT_FORMAT events
    ftrace: Using FTRACE_WARN_ON() to check "freed record" in ftrace_release()
    x86: kretprobe-booster interrupt emulation code fix
    ...

    Fix up trivial conflicts in
    arch/parisc/include/asm/ftrace.h
    include/linux/memory.h
    kernel/extable.c
    kernel/module.c

    Linus Torvalds
     

04 Apr, 2009

1 commit

  • * git://git.kernel.org/pub/scm/linux/kernel/git/bart/linux-hdreg-h-cleanup:
    remove include from
    include/linux/hdreg.h: remove unused defines
    isd200: use ATA_* defines instead of *_STAT and *_ERR ones
    include/linux/hdreg.h: cover WIN_* and friends with #ifndef/#endif __KERNEL__
    aoe: WIN_* -> ATA_CMD_*
    isd200: WIN_* -> ATA_CMD_*
    include/linux/hdreg.h: cover struct hd_driveid with #ifndef/#endif __KERNEL__
    xsysace: make it 'struct hd_driveid'-free
    ubd_kern: make it 'struct hd_driveid'-free
    isd200: make it 'struct hd_driveid'-free

    Linus Torvalds
     

03 Apr, 2009

4 commits

  • First argument unused since 2.3.11.

    [akpm@linux-foundation.org: coding-style fixes]
    Signed-off-by: Alexey Dobriyan
    Cc:
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Alexey Dobriyan
     
  • Fix the following warnings:

    arch/um/kernel/syscall.c: In function 'kernel_execve':
    arch/um/kernel/syscall.c:130: warning: passing argument 1 of 'um_execve' discards qualifiers from pointer target type
    arch/um/kernel/syscall.c:130: warning: passing argument 2 of 'um_execve' discards qualifiers from pointer target type
    arch/um/kernel/syscall.c:130: warning: passing argument 3 of 'um_execve' discards qualifiers from pointer target type

    Signed-off-by: Miklos Szeredi
    Cc: Jeff Dike
    Cc: WANG Cong
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Miklos Szeredi
     
  • Fix the following link error:

    arch/um/sys-i386/built-in.o: In function `sys_call_table':
    (.rodata+0x11c): undefined reference to `ptregs_fork'
    arch/um/sys-i386/built-in.o: In function `sys_call_table':
    (.rodata+0x140): undefined reference to `ptregs_execve'
    arch/um/sys-i386/built-in.o: In function `sys_call_table':
    (.rodata+0x2cc): undefined reference to `ptregs_iopl'
    arch/um/sys-i386/built-in.o: In function `sys_call_table':
    (.rodata+0x2d8): undefined reference to `ptregs_vm86old'
    arch/um/sys-i386/built-in.o: In function `sys_call_table':
    (.rodata+0x2f0): undefined reference to `ptregs_sigreturn'
    arch/um/sys-i386/built-in.o: In function `sys_call_table':
    (.rodata+0x2f4): undefined reference to `ptregs_clone'
    arch/um/sys-i386/built-in.o: In function `sys_call_table':
    (.rodata+0x3ac): undefined reference to `ptregs_vm86'
    arch/um/sys-i386/built-in.o: In function `sys_call_table':
    (.rodata+0x3c8): undefined reference to `ptregs_rt_sigreturn'
    arch/um/sys-i386/built-in.o: In function `sys_call_table':
    (.rodata+0x3fc): undefined reference to `ptregs_sigaltstack'
    arch/um/sys-i386/built-in.o: In function `sys_call_table':
    (.rodata+0x40c): undefined reference to `ptregs_vfork'

    This was introduced by commit 253f29a4, "x86: pass in pt_regs pointer
    for syscalls that need it"

    Signed-off-by: Miklos Szeredi
    Cc: Brian Gerst
    Cc: Tejun Heo
    Cc: Ingo Molnar
    Cc: Jeff Dike
    Reviewed-by: WANG Cong
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Miklos Szeredi
     
  • Fix the following compile error:

    arch/um/drivers/net_kern.c: In function 'uml_inetaddr_event':
    arch/um/drivers/net_kern.c:760: error: 'struct net_device' has no member named 'open'

    This was introduced by commit 8bb95b39, "uml: convert network device
    to netdevice ops".

    Signed-off-by: Miklos Szeredi
    Cc: Stephen Hemminger
    Cc: David S. Miller
    Cc: Jeff Dike
    Reviewed-by: WANG Cong
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Miklos Szeredi
     

02 Apr, 2009

2 commits


01 Apr, 2009

4 commits


27 Mar, 2009

2 commits


16 Mar, 2009

1 commit