cvs commit: src/bin/ps print.c ps.1 ps.c src/sys/dev/raid/vinum vinumdaemon.c src/sys/emulation/linux/i386 linux_ptrace.c src/sys/emulation/posix4 ksched.c src/sys/emulation/svr4 svr4_misc.c src/sys/i386/i386 db_trace.c pmap.c procfs_machdep.c ...
YONETANI Tomokazu
qhwt+dfly at les.ath.cx
Sat Nov 26 19:21:45 PST 2005
On Mon, Nov 14, 2005 at 10:50:18AM -0800, Matthew Dillon wrote:
> dillon 2005/11/14 10:50:18 PST
>
> DragonFly src repository
>
> Modified files:
> bin/ps print.c ps.1 ps.c
> sys/dev/raid/vinum vinumdaemon.c
> sys/emulation/linux/i386 linux_ptrace.c
> sys/emulation/posix4 ksched.c
> sys/emulation/svr4 svr4_misc.c
> sys/i386/i386 db_trace.c pmap.c procfs_machdep.c trap.c
> sys/kern init_main.c kern_exit.c kern_fork.c
> kern_proc.c kern_resource.c kern_sig.c
> kern_synch.c lwkt_thread.c sys_generic.c
> sys_process.c tty.c usched_bsd4.c
> vfs_sync.c
> sys/netproto/smb smb_subr.c
> sys/sys kernel.h proc.h systm.h thread.h
> sys/vfs/procfs procfs_ctl.c procfs_dbregs.c
> procfs_fpregs.c procfs_regs.c
> procfs_status.c
> sys/vm pmap.h vm_fault.c vm_glue.c vm_meter.c
> vm_pageout.c
> usr.bin/systat pigs.c
> usr.bin/top machine.c
> Log:
> Make tsleep/wakeup() MP SAFE for kernel threads and get us closer to
> making it MP SAFE for user processes. Currently the code is operating
> under the rule that access to a thread structure requires cpu locality of
> reference, and access to a proc structure requires the Big Giant Lock. The
> two are not mutually exclusive so, for example, tsleep/wakeup on a proc
> needs both cpu locality of reference *AND* the BGL. This was true with the
> old tsleep/wakeup and has now been documented.
Ok, I managed to narrow down. After this commit, both on UP and SMP kernel,
pressing ctrl+Z while browsing a manpage does not give control to the shell.
And this is still reproducible on HEAD.
- you need to press Enter following ctrl+Z to suspend a single cat command
waiting for stdin, instead of just a ctrl+Z
- this doesn't happen trying to suspend a simpler job like
$ cat | cat | less
- if I send SIGCONT to the rightmost one of the piped process(i.e. less)
it starts responding to keystrokes again
I don't remember whether I've seen this when I was using tsleep0x-patched
system, but I doubt it since I often suspend manpage and do something in
the same terminal rather than opening a new one.
More information about the Commits
mailing list