DragonFly-2.3.1.893.gd9345 master sys/bus/cam cam_sim.c cam_xpt.

看板DFBSD_commit作者時間16年前 (2009/07/15 11:01), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串1/1
commit d9345d3a15a76b50686600e9c522f9e1ba9c855a Author: Matthew Dillon <dillon@apollo.backplane.com> Date: Tue Jul 14 03:14:33 2009 -0700 tsleep() - Add PINTERLOCKED flag to catch edge case. When the tsleep_interlock() + UNLOCK + tsleep() combination is used it is possible for an incoming wakeup IPI to be processed even if the combination is used within a critical section, because operations inbetween the two may send an IPI. Under heavy loads sending an IPI can force incoming IPIs to be processed synchronously to avoid deadlocks. It is also possible for tsleep itself to create this condition when it releases the user process schedule prior to descheduling itself. PINTERLOCKED causes tsleep to check whether the bit set by tsleep_interlock() is still set. If it is not set we simply return without sleeping. Summary of changes: sys/bus/cam/cam_sim.c | 5 +++-- sys/bus/cam/cam_xpt.c | 2 +- sys/dev/disk/ahci/ahci_dragonfly.c | 2 +- sys/dev/disk/aic7xxx/aic_osm_lib.c | 4 ++-- sys/dev/disk/sili/sili_dragonfly.c | 2 +- sys/dev/drm/drmP.h | 2 +- sys/dev/drm/drm_drv.c | 2 +- sys/dev/drm/drm_lock.c | 4 ++-- sys/dev/drm/radeon_cp.c | 14 ++++++++------ sys/dev/netif/iwi/if_iwi.c | 11 ++++++----- sys/dev/raid/aac/aac.c | 6 +++--- sys/dev/sound/pcm/sound.c | 2 +- sys/kern/kern_synch.c | 16 ++++++++++++++++ sys/kern/kern_umtx.c | 3 ++- sys/kern/lwkt_ipiq.c | 2 +- sys/kern/lwkt_serialize.c | 4 ++-- sys/kern/subr_bus.c | 2 +- sys/kern/sys_pipe.c | 2 +- sys/kern/vfs_bio.c | 9 +++++---- sys/kern/vfs_vnops.c | 2 +- sys/net/tap/if_tap.c | 2 +- sys/netproto/smb/smb_subr.c | 2 +- sys/sys/param.h | 1 + sys/vfs/hammer/hammer_io.c | 4 ++-- sys/vfs/hammer/hammer_subs.c | 4 ++-- 25 files changed, 66 insertions(+), 43 deletions(-) http://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/d9345d3a15a76b50686600e9c522f9e1ba9c855a -- DragonFly BSD source repository
文章代碼(AID): #1ANKPo1y (DFBSD_commit)