13 Oct, 2009

1 commit

  • Meaning receive multiple messages, reducing the number of syscalls and
    net stack entry/exit operations.

    Next patches will introduce mechanisms where protocols that want to
    optimize this operation will provide an unlocked_recvmsg operation.

    This takes into account comments made by:

    . Paul Moore: sock_recvmsg is called only for the first datagram,
    sock_recvmsg_nosec is used for the rest.

    . Caitlin Bestler: recvmmsg now has a struct timespec timeout, that
    works in the same fashion as the ppoll one.

    If the underlying protocol returns a datagram with MSG_OOB set, this
    will make recvmmsg return right away with as many datagrams (+ the OOB
    one) it has received so far.

    . Rémi Denis-Courmont & Steven Whitehouse: If we receive N < vlen
    datagrams and then recvmsg returns an error, recvmmsg will return
    the successfully received datagrams, store the error and return it
    in the next call.

    This paves the way for a subsequent optimization, sk_prot->unlocked_recvmsg,
    where we will be able to acquire the lock only at batch start and end, not at
    every underlying recvmsg call.

    Signed-off-by: Arnaldo Carvalho de Melo
    Signed-off-by: David S. Miller

    Arnaldo Carvalho de Melo
     

25 Sep, 2009

1 commit

  • * 'for-linus' of git://git.monstr.eu/linux-2.6-microblaze: (24 commits)
    microblaze: Disable heartbeat/enable emaclite in defconfigs
    microblaze: Support simpleImage.dts make target
    microblaze: Fix _start symbol to physical address
    microblaze: Use LOAD_OFFSET macro to get correct LMA for all sections
    microblaze: Create the LOAD_OFFSET macro used to compute VMA vs LMA offsets
    microblaze: Copy ppc asm-compat.h for clean handling of constants in asm and C
    microblaze: Actually show KiB rather than pages in "Freeing initrd memory:"
    microblaze: Support ptrace syscall tracing.
    microblaze: Updated CPU version and FPGA family codes in PVR
    microblaze: Generate correct signal and siginfo for integer div-by-zero
    microblaze: Don't be noisy when userspace causes hardware exceptions
    microblaze: Remove ipc.h file which points to non-existing asm-generic file
    microblaze: Clear sticky FSR register after generating exception signals
    microblaze: Ensure CPU usermode is set on new userspace processes
    microblaze: Use correct kbuild variable KBUILD_CFLAGS
    microblaze: Save and restore msr in hw exception
    microblaze: Add architectural support for USB EHCI host controllers
    microblaze: Implement include/asm/syscall.h.
    microblaze: Improve checking mechanism for MSR instruction
    microblaze: Add checking mechanism for MSR instruction
    ...

    Linus Torvalds
     

24 Sep, 2009

4 commits

  • I need to disable heartbeat function because this features
    breaks testing in Qemu.

    Signed-off-by: Michal Simek

    Michal Simek
     
  • Instead of remembering to specify DTB= on the make commandline, this commit
    allows the much friendlier make simpleImage.
    where .dts is expected to be found in arch/microblaze/boot/dts/
    The resulting vmlinux, with the compiled DTS linked in, will be copied to
    boot/simpleImage.

    This mirrors the same functionality as on PowerPC,
    albeit achieving it in a slightly different way.

    + strip simpleImage file
    The size of output file is very similar to linux.bin.

    vmlinux - full elf without fdt blob
    simpleImage..unstrip - full elf with fdt blob
    simpleImage. - stripped elf with fdt blob

    Add symlink to generic system.dts in platform folder

    Signed-off-by: John Williams
    Signed-off-by: Michal Simek

    Michal Simek
     
  • * remove asm/atomic.h inclusion from linux/utsname.h --
    not needed after kref conversion
    * remove linux/utsname.h inclusion from files which do not need it

    NOTE: it looks like fs/binfmt_elf.c do not need utsname.h, however
    due to some personality stuff it _is_ needed -- cowardly leave ELF-related
    headers and files alone.

    Signed-off-by: Alexey Dobriyan
    Signed-off-by: Linus Torvalds

    Alexey Dobriyan
     
  • * git://git.kernel.org/pub/scm/linux/kernel/git/sam/kbuild-next: (30 commits)
    Use macros for .data.page_aligned section.
    Use macros for .bss.page_aligned section.
    Use new __init_task_data macro in arch init_task.c files.
    kbuild: Don't define ALIGN and ENTRY when preprocessing linker scripts.
    arm, cris, mips, sparc, powerpc, um, xtensa: fix build with bash 4.0
    kbuild: add static to prototypes
    kbuild: fail build if recordmcount.pl fails
    kbuild: set -fconserve-stack option for gcc 4.5
    kbuild: echo the record_mcount command
    gconfig: disable "typeahead find" search in treeviews
    kbuild: fix cc1 options check to ensure we do not use -fPIC when compiling
    checkincludes.pl: add option to remove duplicates in place
    markup_oops: use modinfo to avoid confusion with underscored module names
    checkincludes.pl: provide usage helper
    checkincludes.pl: close file as soon as we're done with it
    ctags: usability fix
    kernel hacking: move STRIP_ASM_SYMS from General
    gitignore usr/initramfs_data.cpio.bz2 and usr/initramfs_data.cpio.lzma
    kbuild: Check if linker supports the -X option
    kbuild: introduce ld-option
    ...

    Fix trivial conflict in scripts/basic/fixdep.c

    Linus Torvalds
     

22 Sep, 2009

16 commits


21 Sep, 2009

6 commits

  • Signed-off-by: Edgar E. Iglesias
    Signed-off-by: Michal Simek

    Michal Simek
     
  • It is more safe to use clear instead of msrset.
    We save some instructions too.

    Signed-off-by: Michal Simek

    Michal Simek
     
  • It was necessary to use fourth parameter(r8) in early_printk
    to show messages on console.

    Signed-off-by: Michal Simek

    Michal Simek
     
  • I wasn't able to further clean up the linker script using the
    INIT_DATA_SECTION macro because of the FIXME comment for the
    .init.ramfs section; when that is resolved we should convert
    microblaze to use INIT_DATA_SECTION.

    Signed-off-by: Tim Abbott
    Cc: Michal Simek
    Cc: microblaze-uclinux@itee.uq.edu.au
    Cc: Sam Ravnborg
    Signed-off-by: Michal Simek

    Tim Abbott
     
  • Bye-bye Performance Counters, welcome Performance Events!

    In the past few months the perfcounters subsystem has grown out its
    initial role of counting hardware events, and has become (and is
    becoming) a much broader generic event enumeration, reporting, logging,
    monitoring, analysis facility.

    Naming its core object 'perf_counter' and naming the subsystem
    'perfcounters' has become more and more of a misnomer. With pending
    code like hw-breakpoints support the 'counter' name is less and
    less appropriate.

    All in one, we've decided to rename the subsystem to 'performance
    events' and to propagate this rename through all fields, variables
    and API names. (in an ABI compatible fashion)

    The word 'event' is also a bit shorter than 'counter' - which makes
    it slightly more convenient to write/handle as well.

    Thanks goes to Stephane Eranian who first observed this misnomer and
    suggested a rename.

    User-space tooling and ABI compatibility is not affected - this patch
    should be function-invariant. (Also, defconfigs were not touched to
    keep the size down.)

    This patch has been generated via the following script:

    FILES=$(find * -type f | grep -vE 'oprofile|[^K]config')

    sed -i \
    -e 's/PERF_EVENT_/PERF_RECORD_/g' \
    -e 's/PERF_COUNTER/PERF_EVENT/g' \
    -e 's/perf_counter/perf_event/g' \
    -e 's/nb_counters/nb_events/g' \
    -e 's/swcounter/swevent/g' \
    -e 's/tpcounter_event/tp_event/g' \
    $FILES

    for N in $(find . -name perf_counter.[ch]); do
    M=$(echo $N | sed 's/perf_counter/perf_event/g')
    mv $N $M
    done

    FILES=$(find . -name perf_event.*)

    sed -i \
    -e 's/COUNTER_MASK/REG_MASK/g' \
    -e 's/COUNTER/EVENT/g' \
    -e 's/\/event_id/g' \
    -e 's/counter/event/g' \
    -e 's/Counter/Event/g' \
    $FILES

    ... to keep it as correct as possible. This script can also be
    used by anyone who has pending perfcounters patches - it converts
    a Linux kernel tree over to the new naming. We tried to time this
    change to the point in time where the amount of pending patches
    is the smallest: the end of the merge window.

    Namespace clashes were fixed up in a preparatory patch - and some
    stylistic fallout will be fixed up in a subsequent patch.

    ( NOTE: 'counters' are still the proper terminology when we deal
    with hardware registers - and these sed scripts are a bit
    over-eager in renaming them. I've undone some of that, but
    in case there's something left where 'counter' would be
    better than 'event' we can undo that on an individual basis
    instead of touching an otherwise nicely automated patch. )

    Suggested-by: Stephane Eranian
    Acked-by: Peter Zijlstra
    Acked-by: Paul Mackerras
    Reviewed-by: Arjan van de Ven
    Cc: Mike Galbraith
    Cc: Arnaldo Carvalho de Melo
    Cc: Frederic Weisbecker
    Cc: Steven Rostedt
    Cc: Benjamin Herrenschmidt
    Cc: David Howells
    Cc: Kyle McMartin
    Cc: Martin Schwidefsky
    Cc: "David S. Miller"
    Cc: Thomas Gleixner
    Cc: "H. Peter Anvin"
    Cc:
    LKML-Reference:
    Signed-off-by: Ingo Molnar

    Ingo Molnar
     
  • Signed-off-by: Joe Perches
    Signed-off-by: Tim Abbott
    Acked-by: Paul Mundt
    Signed-off-by: Sam Ravnborg

    Joe Perches
     

16 Sep, 2009

1 commit

  • * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/percpu: (46 commits)
    powerpc64: convert to dynamic percpu allocator
    sparc64: use embedding percpu first chunk allocator
    percpu: kill lpage first chunk allocator
    x86,percpu: use embedding for 64bit NUMA and page for 32bit NUMA
    percpu: update embedding first chunk allocator to handle sparse units
    percpu: use group information to allocate vmap areas sparsely
    vmalloc: implement pcpu_get_vm_areas()
    vmalloc: separate out insert_vmalloc_vm()
    percpu: add chunk->base_addr
    percpu: add pcpu_unit_offsets[]
    percpu: introduce pcpu_alloc_info and pcpu_group_info
    percpu: move pcpu_lpage_build_unit_map() and pcpul_lpage_dump_cfg() upward
    percpu: add @align to pcpu_fc_alloc_fn_t
    percpu: make @dyn_size mandatory for pcpu_setup_first_chunk()
    percpu: drop @static_size from first chunk allocators
    percpu: generalize first chunk allocator selection
    percpu: build first chunk allocators selectively
    percpu: rename 4k first chunk allocator to page
    percpu: improve boot messages
    percpu: fix pcpu_reclaim() locking
    ...

    Fix trivial conflict as by Tejun Heo in kernel/sched.c

    Linus Torvalds
     

21 Aug, 2009

1 commit


18 Aug, 2009

5 commits


14 Aug, 2009

1 commit

  • Conflicts:
    arch/sparc/kernel/smp_64.c
    arch/x86/kernel/cpu/perf_counter.c
    arch/x86/kernel/setup_percpu.c
    drivers/cpufreq/cpufreq_ondemand.c
    mm/percpu.c

    Conflicts in core and arch percpu codes are mostly from commit
    ed78e1e078dd44249f88b1dd8c76dafb39567161 which substituted many
    num_possible_cpus() with nr_cpu_ids. As for-next branch has moved all
    the first chunk allocators into mm/percpu.c, the changes are moved
    from arch code to mm/percpu.c.

    Signed-off-by: Tejun Heo

    Tejun Heo
     

30 Jul, 2009

1 commit


28 Jul, 2009

2 commits

  • * 'fixes-for-linus' of git://git.monstr.eu/linux-2.6-microblaze:
    microblaze: Makefile cleanup
    microblaze: Typo fix for cpu param inconsistency
    microblaze: Add support for R_MICROBLAZE_64_NONE
    microblaze: Get module loading working
    microblaze: remove sys_ipc
    microblaze: Support unaligned address for put/get_user macros
    microblaze: Detect new Microblaze 7.20 versions
    microblaze: Fix do_page_fault for no context
    microblaze: Add _PAGE_FILE macros to pgtable.h
    microblaze: Fix put_user macro for 64bits arguments
    microblaze: Clear print messages for DTB passing via r7
    microblaze: Not to clear r7 after copying DTB to kernel
    microblaze: Add messages about FDT blob
    microblaze: Final support for statically linked DTB
    microblaze: remove duplicated #include
    microblaze: Define tlb_flush macro

    Linus Torvalds
     
  • 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
     

27 Jul, 2009

1 commit

  • Reviewed the Makefile on request by Michal and this is the resulting changes.

    o Use ':=' for assignmnet so we do not re-evaluate for each use
    o Use $(shell echo xxx) to remove ""
    o Replaced CFLAGS_KERNEL with KBUILD_CFLAGS
    The settings are equally relevant for modules and the linked kernel
    o Dropped LDFLAGS_BLOB - it is no longer used
    o Refactored assignmnets to libs-y and core-y
    o Use MMU for the MMU specific extension. "MMUEXT" was hurting my eyes
    and I did not wanted it spread to m68k

    Signed-off-by: Sam Ravnborg
    Signed-off-by: Michal Simek

    Sam Ravnborg