mirror of
https://git.proxmox.com/git/mirror_zfs.git
synced 2025-01-12 19:20:28 +03:00
Add TASKQ_NORECLAIM flag
It has become necessary to be able to optionally disable direct memory reclaim for certain taskqs. To support this the TASKQ_NORECLAIM flags has been added which sets the PF_MEMALLOC bit for all threads in the taskq.
This commit is contained in:
parent
dde6b7b137
commit
372c257233
@ -40,6 +40,7 @@
|
||||
#define TASKQ_DYNAMIC 0x00000004
|
||||
#define TASKQ_THREADS_CPU_PCT 0x00000008
|
||||
#define TASKQ_DC_BATCH 0x00000010
|
||||
#define TASKQ_NORECLAIM 0x00000020
|
||||
|
||||
typedef unsigned long taskqid_t;
|
||||
typedef void (task_func_t)(void *);
|
||||
|
@ -371,6 +371,10 @@ taskq_thread(void *args)
|
||||
ASSERT(tq);
|
||||
current->flags |= PF_NOFREEZE;
|
||||
|
||||
/* Disable the direct memory reclaim path */
|
||||
if (tq->tq_flags & TASKQ_NORECLAIM)
|
||||
current->flags |= PF_MEMALLOC;
|
||||
|
||||
sigfillset(&blocked);
|
||||
sigprocmask(SIG_BLOCK, &blocked, NULL);
|
||||
flush_signals(current);
|
||||
|
Loading…
Reference in New Issue
Block a user