Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 20 Aug 2008 08:31:58 +0000 (UTC)
From:      Ed Schouten <ed@FreeBSD.org>
To:        src-committers@FreeBSD.org, cvs-src@FreeBSD.org, cvs-all@FreeBSD.org
Subject:   cvs commit: src ObsoleteFiles.inc UPDATING src/bin/sh miscbltin.c src/etc login.conf src/etc/defaults devfs.rules src/lib/libc/stdlib Makefile.inc Symbol.map grantpt.3 ptsname.3 ptsname.c src/lib/libc/sys Makefile.inc Symbol.map getrlimit.2 ...
Message-ID:  <200808200836.m7K8aoi3023764@repoman.freebsd.org>

next in thread | raw e-mail | index | archive | help
ed          2008-08-20 08:31:58 UTC

  FreeBSD src repository

  Modified files:
    .                    ObsoleteFiles.inc UPDATING 
    bin/sh               miscbltin.c 
    etc                  login.conf 
    etc/defaults         devfs.rules 
    lib/libc/stdlib      Makefile.inc Symbol.map 
    lib/libc/sys         Makefile.inc Symbol.map getrlimit.2 
    lib/libutil          login.conf.5 login_class.c 
    share/man/man4       Makefile ddb.4 pty.4 termios.4 
    sys/amd64/conf       GENERIC 
    sys/bsm              audit_kevents.h 
    sys/compat/freebsd32 freebsd32_syscall.h freebsd32_syscalls.c 
                         freebsd32_sysent.c syscalls.master 
    sys/compat/linux     linux_ioctl.c linux_stats.c 
    sys/conf             NOTES files options 
    sys/dev/dcons        dcons.h dcons_os.c 
    sys/dev/nmdm         nmdm.c 
    sys/dev/ofw          ofw_console.c 
    sys/dev/syscons      schistory.c scmouse.c scterm-sc.c 
                         scvesactl.c scvidctl.c syscons.c 
                         syscons.h sysmouse.c 
    sys/dev/uart         uart_core.c uart_tty.c 
    sys/dev/usb          ucom.c ucomvar.h uftdi.c umodem.c 
    sys/fs/devfs         devfs_vnops.c 
    sys/i386/conf        GENERIC XBOX 
    sys/i386/ibcs2       ibcs2_ioctl.c 
    sys/ia64/conf        GENERIC SKI 
    sys/ia64/ia64        ssc.c 
    sys/kern             init_main.c init_sysent.c kern_acct.c 
                         kern_conf.c kern_descrip.c kern_exit.c 
                         kern_proc.c kern_resource.c subr_prf.c 
                         syscalls.c syscalls.master 
                         systrace_args.c tty.c tty_compat.c 
                         tty_cons.c tty_info.c tty_pts.c tty_pty.c 
    sys/modules/nmdm     Makefile 
    sys/modules/rc       Makefile 
    sys/pc98/cbus        scterm-sck.c 
    sys/pc98/conf        GENERIC NOTES 
    sys/powerpc/conf     GENERIC 
    sys/sparc64/conf     GENERIC 
    sys/sun4v/conf       GENERIC 
    sys/sun4v/sun4v      hvcons.c 
    sys/sys              conf.h file.h param.h proc.h resource.h 
                         resourcevar.h syscall.h syscall.mk 
                         sysproto.h termios.h tty.h ttycom.h 
                         ttydefaults.h user.h 
    usr.bin/fstat        fstat.c 
    usr.bin/procstat     procstat.1 procstat_files.c 
    usr.sbin/pstat       pstat.8 pstat.c 
  Added files:
    lib/libc/stdlib      ptsname.3 ptsname.c 
    lib/libc/sys         posix_openpt.2 
    share/man/man4       pts.4 
    sys/kern             tty_inq.c tty_outq.c tty_ttydisc.c 
    sys/sys              ttydevsw.h ttydisc.h ttyqueue.h 
  Removed files:
    lib/libc/stdlib      grantpt.3 
    sys/kern             tty_conf.c 
    sys/sys              linedisc.h 
  Log:
  SVN rev 181905 on 2008-08-20 08:31:58Z by ed
  
  Integrate the new MPSAFE TTY layer to the FreeBSD operating system.
  
  The last half year I've been working on a replacement TTY layer for the
  FreeBSD kernel. The new TTY layer was designed to improve the following:
  
  - Improved driver model:
  
    The old TTY layer has a driver model that is not abstract enough to
    make it friendly to use. A good example is the output path, where the
    device drivers directly access the output buffers. This means that an
    in-kernel PPP implementation must always convert network buffers into
    TTY buffers.
  
    If a PPP implementation would be built on top of the new TTY layer
    (still needs a hooks layer, though), it would allow the PPP
    implementation to directly hand the data to the TTY driver.
  
  - Improved hotplugging:
  
    With the old TTY layer, it isn't entirely safe to destroy TTY's from
    the system. This implementation has a two-step destructing design,
    where the driver first abandons the TTY. After all threads have left
    the TTY, the TTY layer calls a routine in the driver, which can be
    used to free resources (unit numbers, etc).
  
    The pts(4) driver also implements this feature, which means
    posix_openpt() will now return PTY's that are created on the fly.
  
  - Improved performance:
  
    One of the major improvements is the per-TTY mutex, which is expected
    to improve scalability when compared to the old Giant locking.
    Another change is the unbuffered copying to userspace, which is both
    used on TTY device nodes and PTY masters.
  
  Upgrading should be quite straightforward. Unlike previous versions,
  existing kernel configuration files do not need to be changed, except
  when they reference device drivers that are listed in UPDATING.
  
  Obtained from:          //depot/projects/mpsafetty/...
  Approved by:            philip (ex-mentor)
  Discussed:              on the lists, at BSDCan, at the DevSummit
  Sponsored by:           Snow B.V., the Netherlands
  dcons(4) fixed by:      kan
  
  Revision  Changes      Path
  1.155     +3 -0        src/ObsoleteFiles.inc
  1.539     +19 -0       src/UPDATING
  1.36      +4 -1        src/bin/sh/miscbltin.c
  1.6       +2 -1        src/etc/defaults/devfs.rules
  1.52      +1 -0        src/etc/login.conf
  1.55      +6 -6        src/lib/libc/stdlib/Makefile.inc
  1.8       +0 -1        src/lib/libc/stdlib/Symbol.map
  1.4       +0 -225      src/lib/libc/stdlib/grantpt.3 (dead)
  1.1       +160 -0      src/lib/libc/stdlib/ptsname.3 (new)
  1.1       +95 -0       src/lib/libc/stdlib/ptsname.c (new)
  1.137     +2 -2        src/lib/libc/sys/Makefile.inc
  1.18      +1 -0        src/lib/libc/sys/Symbol.map
  1.25      +3 -1        src/lib/libc/sys/getrlimit.2
  1.1       +135 -0      src/lib/libc/sys/posix_openpt.2 (new)
  1.62      +3 -2        src/lib/libutil/login.conf.5
  1.27      +13 -12      src/lib/libutil/login_class.c
  1.426     +1 -0        src/share/man/man4/Makefile
  1.57      +7 -1        src/share/man/man4/ddb.4
  1.1       +181 -0      src/share/man/man4/pts.4 (new)
  1.20      +48 -201     src/share/man/man4/pty.4
  1.34      +20 -4       src/share/man/man4/termios.4
  1.507     +1 -1        src/sys/amd64/conf/GENERIC
  1.14      +1 -0        src/sys/bsm/audit_kevents.h
  1.86      +2 -1        src/sys/compat/freebsd32/freebsd32_syscall.h
  1.77      +1 -0        src/sys/compat/freebsd32/freebsd32_syscalls.c
  1.87      +1 -0        src/sys/compat/freebsd32/freebsd32_sysent.c
  1.102     +1 -0        src/sys/compat/freebsd32/syscalls.master
  1.142     +7 -2        src/sys/compat/linux/linux_ioctl.c
  1.93      +11 -1       src/sys/compat/linux/linux_stats.c
  1.1504    +1 -8        src/sys/conf/NOTES
  1.1331    +5 -3        src/sys/conf/files
  1.636     +1 -1        src/sys/conf/options
  1.7       +1 -1        src/sys/dev/dcons/dcons.h
  1.23      +48 -345     src/sys/dev/dcons/dcons_os.c
  1.41      +158 -252    src/sys/dev/nmdm/nmdm.c
  1.40      +32 -111     src/sys/dev/ofw/ofw_console.c
  1.21      +3 -4        src/sys/dev/syscons/schistory.c
  1.43      +2 -3        src/sys/dev/syscons/scmouse.c
  1.24      +1 -1        src/sys/dev/syscons/scterm-sc.c
  1.26      +4 -8        src/sys/dev/syscons/scvesactl.c
  1.40      +6 -12       src/sys/dev/syscons/scvidctl.c
  1.461     +156 -171    src/sys/dev/syscons/syscons.c
  1.91      +15 -9       src/sys/dev/syscons/syscons.h
  1.31      +32 -103     src/sys/dev/syscons/sysmouse.c
  1.25      +1 -2        src/sys/dev/uart/uart_core.c
  1.30      +72 -93      src/sys/dev/uart/uart_tty.c
  1.67      +131 -203    src/sys/dev/usb/ucom.c
  1.11      +5 -3        src/sys/dev/usb/ucomvar.h
  1.39      +16 -11      src/sys/dev/usb/uftdi.c
  1.72      +2 -2        src/sys/dev/usb/umodem.c
  1.165     +0 -3        src/sys/fs/devfs/devfs_vnops.c
  1.497     +1 -1        src/sys/i386/conf/GENERIC
  1.10      +1 -1        src/sys/i386/conf/XBOX
  1.32      +17 -2       src/sys/i386/ibcs2/ibcs2_ioctl.c
  1.99      +1 -1        src/sys/ia64/conf/GENERIC
  1.26      +1 -1        src/sys/ia64/conf/SKI
  1.31      +40 -100     src/sys/ia64/ia64/ssc.c
  1.294     +1 -1        src/sys/kern/init_main.c
  1.241     +2 -1        src/sys/kern/init_sysent.c
  1.99      +3 -3        src/sys/kern/kern_acct.c
  1.220     +0 -11       src/sys/kern/kern_conf.c
  1.337     +12 -0       src/sys/kern/kern_descrip.c
  1.312     +28 -34      src/sys/kern/kern_exit.c
  1.266     +30 -27      src/sys/kern/kern_proc.c
  1.190     +25 -0       src/sys/kern/kern_resource.c
  1.131     +14 -10      src/sys/kern/subr_prf.c
  1.225     +2 -1        src/sys/kern/syscalls.c
  1.244     +1 -0        src/sys/kern/syscalls.master
  1.25      +27 -0       src/sys/kern/systrace_args.c
  1.282     +1374 -2852  src/sys/kern/tty.c
  1.40      +32 -23      src/sys/kern/tty_compat.c
  1.25      +0 -205      src/sys/kern/tty_conf.c (dead)
  1.145     +12 -3       src/sys/kern/tty_cons.c
  1.2       +4 -10       src/sys/kern/tty_info.c
  1.1       +502 -0      src/sys/kern/tty_inq.c (new)
  1.1       +365 -0      src/sys/kern/tty_outq.c (new)
  1.19      +516 -783    src/sys/kern/tty_pts.c
  1.160     +60 -752     src/sys/kern/tty_pty.c
  1.1       +1131 -0     src/sys/kern/tty_ttydisc.c (new)
  1.4       +0 -9        src/sys/modules/nmdm/Makefile
  1.4       +1 -6        src/sys/modules/rc/Makefile
  1.18      +1 -1        src/sys/pc98/cbus/scterm-sck.c
  1.309     +2 -2        src/sys/pc98/conf/GENERIC
  1.93      +1 -1        src/sys/pc98/conf/NOTES
  1.82      +1 -1        src/sys/powerpc/conf/GENERIC
  1.140     +1 -1        src/sys/sparc64/conf/GENERIC
  1.21      +1 -1        src/sys/sun4v/conf/GENERIC
  1.9       +49 -113     src/sys/sun4v/sun4v/hvcons.c
  1.243     +0 -3        src/sys/sys/conf.h
  1.81      +1 -0        src/sys/sys/file.h
  1.193     +0 -141      src/sys/sys/linedisc.h (dead)
  1.363     +1 -1        src/sys/sys/param.h
  1.518     +4 -5        src/sys/sys/proc.h
  1.33      +2 -1        src/sys/sys/resource.h
  1.54      +2 -0        src/sys/sys/resourcevar.h
  1.222     +3 -2        src/sys/sys/syscall.h
  1.177     +3 -2        src/sys/sys/syscall.mk
  1.226     +6 -1        src/sys/sys/sysproto.h
  1.23      +13 -6       src/sys/sys/termios.h
  1.104     +5 -18       src/sys/sys/tty.h
  1.28      +2 -1        src/sys/sys/ttycom.h
  1.21      +1 -0        src/sys/sys/ttydefaults.h
  1.1       +158 -0      src/sys/sys/ttydevsw.h (new)
  1.1       +105 -0      src/sys/sys/ttydisc.h (new)
  1.1       +157 -0      src/sys/sys/ttyqueue.h (new)
  1.77      +1 -0        src/sys/sys/user.h
  1.70      +52 -0       src/usr.bin/fstat/fstat.c
  1.6       +3 -1        src/usr.bin/procstat/procstat.1
  1.7       +5 -0        src/usr.bin/procstat/procstat_files.c
  1.50      +39 -76      src/usr.sbin/pstat/pstat.8
  1.105     +53 -87      src/usr.sbin/pstat/pstat.c



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200808200836.m7K8aoi3023764>