28 Apr, 2007

1 commit

  • * master.kernel.org:/pub/scm/linux/kernel/git/davem/sparc-2.6: (67 commits)
    [SCSI] SUNESP: Complete driver rewrite to version 2.0
    [SPARC64]: Convert PCI over to generic struct iommu/strbuf.
    [SPARC]: device_node name constification fallout
    [SPARC64]: Convert SBUS over to generic iommu/strbuf structs.
    [SPARC64]: Add generic iommu and strbuf structs to iommu.h
    [SPARC64]: Consolidate {sbus,pci}_iommu_arena.
    [SPARC]: Make device_node name and type const
    [SPARC64]: constify some paramaters of OF routines
    [TIGON3]: of_get_property() returns const.
    [SPARC64]: Fix PCI rework to adhere to of_get_property() const return.
    [SPARC64]: Document and fix calculation of pages_avail.
    [SPARC64]: Make sure pbm->prom_node is setup easly enough in psycho.c
    [SPARC64]: Use bootmem_bootmap_pages() in choose_bootmap_pfn().
    [SPARC64]: Add proper header file extern for cmdline_memory_size.
    [SPARC64]: Kill sparc_ultra_dump_{i,d}tlb()
    [SPARC64]: Use DECLARE_BITMAP and BITS_TO_LONGS in mm/init.c
    [SPARC64]: Give move verbose show_mem() output just like i386.
    [SPARC64]: Mark show_mem() printk's with KERN_INFO.
    [SPARC64]: Kill kvaddr_to_phys() and friends.
    [SPARC64]: Privatize sun4u_get_pte() and fix name.
    ...

    Linus Torvalds
     

26 Apr, 2007

3 commits

  • We have several platforms using local copies of identical
    code.

    Signed-off-by: David S. Miller

    David S. Miller
     
  • Now that network timestamps use ktime_t infrastructure, we can add a new
    SOL_SOCKET sockopt SO_TIMESTAMPNS.

    This command is similar to SO_TIMESTAMP, but permits transmission of
    a 'timespec struct' instead of a 'timeval struct' control message.
    (nanosecond resolution instead of microsecond)

    Control message is labelled SCM_TIMESTAMPNS instead of SCM_TIMESTAMP

    A socket cannot mix SO_TIMESTAMP and SO_TIMESTAMPNS : the two modes are
    mutually exclusive.

    sock_recv_timestamp() became too big to be fully inlined so I added a
    __sock_recv_timestamp() helper function.

    Signed-off-by: Eric Dumazet
    CC: linux-arch@vger.kernel.org
    Signed-off-by: David S. Miller

    Eric Dumazet
     
  • Now network timestamps use ktime_t infrastructure, we can add a new
    ioctl() SIOCGSTAMPNS command to get timestamps in 'struct timespec'.
    User programs can thus access to nanosecond resolution.

    Signed-off-by: Eric Dumazet
    CC: Stephen Hemminger
    Signed-off-by: David S. Miller

    Eric Dumazet
     

28 Mar, 2007

2 commits

  • The IRQ3 define was removed when asm-sh/irq.h was cleaned up,
    this updates the hp6xx header to use the IRQ number directly.

    Signed-off-by: Kristoffer Ericson
    Signed-off-by: Paul Mundt

    Kristoffer Ericson
     
  • As reported by Manuel:

    When I build linux with GCC-4.x and enable
    CONFIG_CC_OPTIMIZE_FOR_SIZE linking fails with this error:

    LD .tmp_vmlinux1
    kernel/built-in.o: In function '__cmpxchg_called_with_bad_pointer'
    make[1]: *** [.tmp_vmlinux1] Error 1
    make: *** [_all] Error 2

    This ended up being an inlining problem, fixed by explicitly
    including linux/compiler.h and grabbing the definitions from there.

    Signed-off-by: Paul Mundt

    Paul Mundt
     

14 Mar, 2007

1 commit


12 Mar, 2007

2 commits


05 Mar, 2007

3 commits


15 Feb, 2007

1 commit


14 Feb, 2007

2 commits


13 Feb, 2007

13 commits


12 Feb, 2007

1 commit

  • The line discipline numbers N_* are currently defined for each architecture
    individually, but (except for a seeming mistake) identically, in
    asm/termios.h. There is no obvious reason why these numbers should be
    architecture specific, nor any apparent relationship with the termios
    structure. The total number of these, NR_LDISCS, is defined in linux/tty.h
    anyway. So I propose the following patch which moves the definitions of
    the individual line disciplines to linux/tty.h too.

    Three of these numbers (N_MASC, N_PROFIBUS_FDL, and N_SMSBLOCK) are unused
    in the current kernel, but the patch still keeps the complete set in case
    there are plans to use them yet.

    Signed-off-by: Tilman Schmidt
    Cc:
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Tilman Schmidt
     

10 Feb, 2007

1 commit


14 Dec, 2006

2 commits

  • Virtually index, physically tagged cache architectures can get away
    without cache flushing when forking. This patch adds a new cache
    flushing function flush_cache_dup_mm(struct mm_struct *) which for the
    moment I've implemented to do the same thing on all architectures
    except on MIPS where it's a no-op.

    Signed-off-by: Ralf Baechle
    Signed-off-by: Linus Torvalds

    Ralf Baechle
     
  • Currently, to tell a task that it should go to the refrigerator, we set the
    PF_FREEZE flag for it and send a fake signal to it. Unfortunately there
    are two SMP-related problems with this approach. First, a task running on
    another CPU may be updating its flags while the freezer attempts to set
    PF_FREEZE for it and this may leave the task's flags in an inconsistent
    state. Second, there is a potential race between freeze_process() and
    refrigerator() in which freeze_process() running on one CPU is reading a
    task's PF_FREEZE flag while refrigerator() running on another CPU has just
    set PF_FROZEN for the same task and attempts to reset PF_FREEZE for it. If
    the refrigerator wins the race, freeze_process() will state that PF_FREEZE
    hasn't been set for the task and will set it unnecessarily, so the task
    will go to the refrigerator once again after it's been thawed.

    To solve first of these problems we need to stop using PF_FREEZE to tell
    tasks that they should go to the refrigerator. Instead, we can introduce a
    special TIF_*** flag and use it for this purpose, since it is allowed to
    change the other tasks' TIF_*** flags and there are special calls for it.

    To avoid the freeze_process()-refrigerator() race we can make
    freeze_process() to always check the task's PF_FROZEN flag after it's read
    its "freeze" flag. We should also make sure that refrigerator() will
    always reset the task's "freeze" flag after it's set PF_FROZEN for it.

    Signed-off-by: Rafael J. Wysocki
    Acked-by: Pavel Machek
    Cc: Russell King
    Cc: David Howells
    Cc: Andi Kleen
    Cc: "Luck, Tony"
    Cc: Benjamin Herrenschmidt
    Cc: Paul Mackerras
    Cc: Paul Mundt
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Rafael J. Wysocki
     

12 Dec, 2006

8 commits