Files
mirror_zfs/include/sys
Brian Behlendorf eb0f407a2b Add PF_NOFS debugging flag
PF_NOFS is a per-process debug flag which is set in current->flags to
detect when a process is performing an unsafe allocation.  All tasks
with PF_NOFS set must strictly use KM_PUSHPAGE for allocations because
if they enter direct reclaim and initiate I/O they may deadlock.

When debugging is disabled, any incorrect usage will be detected and
a call stack with a warning will be printed to the console.  The flags
will then be automatically corrected to allow for safe execution.  If
debugging is enabled this will be treated as a fatal condition.

To avoid any risk of conflicting with the existing PF_ flags.  The
PF_NOFS bit shadows the rarely used PF_MUTEX_TESTER bit.  Only when
CONFIG_RT_MUTEX_TESTER is not set, and we know this bit is unused,
will the PF_NOFS bit be valid.  Happily, most existing distributions
ship a kernel with CONFIG_RT_MUTEX_TESTER disabled.

Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov>
2012-08-27 12:00:55 -07:00
..
2012-08-27 11:46:23 -07:00
2012-08-27 11:46:23 -07:00
2012-08-27 11:46:23 -07:00
2010-05-17 15:18:00 -07:00
2010-05-17 15:18:00 -07:00
2010-05-17 15:18:00 -07:00
2010-05-17 15:18:00 -07:00
2010-05-17 15:18:00 -07:00
2010-05-17 15:18:00 -07:00
2010-05-17 15:18:00 -07:00
2010-05-17 15:18:00 -07:00
2010-05-17 15:18:00 -07:00
2012-04-06 12:06:19 -07:00
2010-05-17 15:18:00 -07:00
2010-05-17 15:18:00 -07:00
2010-06-11 15:57:25 -07:00
2010-05-17 15:18:00 -07:00
2010-05-17 15:18:00 -07:00
2011-03-22 12:18:44 -07:00
2010-05-17 15:18:00 -07:00
2010-05-17 15:18:00 -07:00
2010-05-17 15:18:00 -07:00
2010-05-17 15:18:00 -07:00
2010-05-17 15:18:00 -07:00
2011-04-06 20:06:03 -07:00
2010-05-17 15:18:00 -07:00
2010-05-17 15:18:00 -07:00
2010-05-17 15:18:00 -07:00
2011-01-27 16:06:09 -08:00
2011-02-23 14:32:15 -08:00
2011-01-27 16:06:09 -08:00
2011-01-27 16:06:09 -08:00
2010-05-17 15:18:00 -07:00
2010-05-17 15:18:00 -07:00
2010-05-17 15:18:00 -07:00
2012-05-03 09:56:15 -07:00
2011-01-27 16:06:09 -08:00
2012-08-27 12:00:55 -07:00
2010-05-17 15:18:00 -07:00
2012-02-02 11:28:00 -08:00
2010-08-27 14:23:48 -07:00
2010-05-17 15:18:00 -07:00
2010-05-17 15:18:00 -07:00
2010-05-17 15:18:00 -07:00
2010-05-17 15:18:00 -07:00
2010-05-17 15:18:00 -07:00
2010-05-17 15:18:00 -07:00
2011-04-29 13:58:45 -07:00
2010-05-17 15:18:00 -07:00
2011-01-27 16:06:09 -08:00
2010-06-11 15:57:25 -07:00
2010-05-17 15:18:00 -07:00
2010-06-11 15:57:25 -07:00
2010-05-17 15:18:00 -07:00
2010-05-17 15:18:00 -07:00
2010-05-17 15:18:00 -07:00
2010-05-17 15:18:00 -07:00
2011-01-27 16:06:09 -08:00
2010-07-20 13:29:35 -07:00
2010-05-17 15:18:00 -07:00
2010-05-17 15:18:00 -07:00
2012-05-18 13:57:44 -07:00
2010-05-17 15:18:00 -07:00
2010-06-11 15:57:25 -07:00
2010-05-17 15:18:00 -07:00
2012-07-02 09:33:09 -07:00
2010-05-17 15:18:00 -07:00
2010-05-17 15:18:00 -07:00
2012-08-27 12:00:42 -07:00
2012-07-02 09:33:09 -07:00
2011-11-11 09:18:28 -08:00
2010-05-17 15:18:00 -07:00
2010-05-17 15:18:00 -07:00
2010-06-11 15:57:25 -07:00
2010-05-17 15:18:00 -07:00
2010-05-17 15:18:00 -07:00
2010-05-17 15:18:00 -07:00
2010-05-17 15:18:00 -07:00
2010-05-17 15:18:00 -07:00
2011-04-29 12:10:54 -07:00
2010-05-17 15:18:00 -07:00
2011-11-09 16:51:25 -08:00
2011-11-11 09:18:28 -08:00
2010-05-17 15:18:00 -07:00