History log of /dflybsd-src/sys/vfs/hammer/hammer_signal.c (Results 1 – 6 of 6)
Revision Date Author Comments
# 2d7e662f 05-Mar-2016 Matthew Dillon <dillon@apollo.backplane.com>

hammer - Fix coredump bug which can stall processes

* Fix a coredump bug which can stall the process. If a process > 100MB is
in the process of being coredumped, a signal will cause the hammer_wr

hammer - Fix coredump bug which can stall processes

* Fix a coredump bug which can stall the process. If a process > 100MB is
in the process of being coredumped, a signal will cause the hammer_write()
path to hit tstop() due to the core-dump being in progress. Unfortunately
the write might be happening from the kernel core generator itself which
will stall the process forever with a number of locks held.

hammer only checks for signals on very large (> 100MB) read() and write()
calls so the issue does not effect coredumps of smaller processes.

* Use CURSIG_NOBLOCK() instead of CURSIG().

show more ...


# cbf26eb2 05-Sep-2015 Tomohiro Kusumi <kusumi.tomohiro@gmail.com>

sys/vfs/hammer: Adjust and cleanup _KERNEL

Remove no longer necessary _KERNEL that was originally
added for usr.bin/fstat/hammer.c to include
<vfs/hammer/hammer.h> by 872a7eee.

<vfs/hammer/hammer.h

sys/vfs/hammer: Adjust and cleanup _KERNEL

Remove no longer necessary _KERNEL that was originally
added for usr.bin/fstat/hammer.c to include
<vfs/hammer/hammer.h> by 872a7eee.

<vfs/hammer/hammer.h> isn't supposed to be necessary by
userspace except for a few (actually only above file)
unusual userspace programs that want to access in-kernel
data structures (like incore inode), so it's better not
to pollute <vfs/hammer/hammer.h> with bunch of _KERNEL
ifdefs in the first place if possible.

Also see 23e66b3b and 1caa2035.

show more ...


# 745703c7 07-Jul-2015 Tomohiro Kusumi <kusumi.tomohiro@gmail.com>

hammer: Remove trailing whitespaces

- (Non-functional commits could make it difficult to git-blame
the history if there are too many of those)


# b0aab9b9 24-Aug-2010 Matthew Dillon <dillon@apollo.backplane.com>

HAMMER VFS - Make all entry points MPSAFE, remove giant & critical sections

* All VFS, VOP, ioops, and bio_done entry points are now mpsafe and no
longer use giant.

* Implement hmp->fs_token and

HAMMER VFS - Make all entry points MPSAFE, remove giant & critical sections

* All VFS, VOP, ioops, and bio_done entry points are now mpsafe and no
longer use giant.

* Implement hmp->fs_token and hmp->io_token for each HAMMER mount.

All operations that previously needed the MP lock now use hmp->fs_token.
All operations that interact with BIO callbacks now use hmp->io_token.
All critical sections now use io_token (these previously interlocked
against IO callbacks).

NOTE: read (for cached data) and getattr were MPSAFE before and
continue to be MPSAFE.

show more ...


# 3824f392 20-Jun-2009 Matthew Dillon <dillon@apollo.backplane.com>

HAMMER (and kernel) - Fix cpu-bound kernel thread issue.

* HAMMER now calls a new kernel function, lwkt_user_yield(), in its
ioctl-based loops (such as the reblocker).

* Add a new LWKT function c

HAMMER (and kernel) - Fix cpu-bound kernel thread issue.

* HAMMER now calls a new kernel function, lwkt_user_yield(), in its
ioctl-based loops (such as the reblocker).

* Add a new LWKT function called lwkt_user_yield(). This function
causes a kernel thread to yield at user priority (instead of kernel
priority).

This function also deals with a nasty issue related to the MP lock.
A cpu-bound kernel thread holding the MP lock can prevent other
cpus from serving interrupt threads which also need the MP lock.
Detect the condition and release the MP lock for 10uS to give the
other cpus a chance to pick it up. This is a bad hack but it
actually does work.

* Move passive_release() from MD code to kern/lwkt_thread.c and add
an inline for the passive release recovery function. Adjust all
platforms to use the new API instead of rolling the same code for
each platform.

Reported-by: Many, but especially Hasso Tepper <hasso@estpak.ee>

show more ...


# 855942b6 20-Mar-2008 Matthew Dillon <dillon@dragonflybsd.org>

HAMMER 33C/many: features and bug fixes.

* Add a signal test for long-running ioctl's which allows them to be
interrupted.

* Assert that a record update's delete_tid does not match it's create_ti

HAMMER 33C/many: features and bug fixes.

* Add a signal test for long-running ioctl's which allows them to be
interrupted.

* Assert that a record update's delete_tid does not match it's create_tid
and fix a case in the rename code and another case in the inode update
code where this could occur.

* Add a feature to the pruning ioctl that the new snapshot softlink
option for 'hammer prune' needs.

* Fix a minor overflow assertion in the transaction code.

show more ...