Matthew Ahrens 384f8a09f8 Illumos #4347 ZPL can use dmu_tx_assign(TXG_WAIT)
Fix a lock contention issue by allowing threads not holding
ZPL locks to block when waiting to assign a transaction.

Porting Notes:

zfs_putpage() still uses TXG_NOWAIT, unlike the upstream version.  This
case may be a contention point just like zfs_write(), however it is not
safe to block here since it may be called during memory reclaim.

Reviewed by: George Wilson <george.wilson@delphix.com>
Reviewed by: Adam Leventhal <ahl@delphix.com>
Reviewed by: Dan McDonald <danmcd@nexenta.com>
Reviewed by: Boris Protopopov <boris.protopopov@nexenta.com>
Approved by: Dan McDonald <danmcd@nexenta.com>

References:
  https://www.illumos.org/issues/4347
  illumos/illumos-gate@e722410c49

Ported-by: Ned Bass <bass6@llnl.gov>
Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov>
2013-12-06 09:30:51 -08:00
..
2013-11-05 12:26:00 -08:00
2013-09-04 16:01:24 -07:00
2013-10-25 13:59:40 -07:00
2013-11-05 12:23:35 -08:00
2013-10-31 14:58:04 -07:00
2013-10-31 14:58:04 -07:00
2013-10-31 14:58:04 -07:00
2013-11-04 11:27:41 -08:00
2013-11-05 12:23:35 -08:00
2013-11-05 12:25:26 -08:00
2013-11-04 10:55:25 -08:00
2013-11-05 12:25:26 -08:00
2013-11-04 10:55:25 -08:00
2013-11-05 12:23:35 -08:00
2013-10-31 14:58:04 -07:00
2013-11-05 12:23:35 -08:00
2013-11-05 12:24:24 -08:00
2013-11-05 12:14:21 -08:00
2013-11-04 10:55:25 -08:00
2013-10-31 14:58:04 -07:00
2012-10-15 16:01:54 -07:00
2010-08-31 08:38:46 -07:00
2013-10-22 10:12:39 -07:00
2013-10-30 14:51:27 -07:00
2013-10-25 13:59:40 -07:00
2013-11-05 12:25:44 -08:00
2013-09-04 16:01:24 -07:00
2013-09-25 15:44:22 -07:00
2013-11-04 10:55:25 -08:00
2010-08-31 13:41:59 -07:00
2010-08-31 13:41:58 -07:00
2013-11-04 10:55:25 -08:00
2013-10-31 14:58:04 -07:00
2013-11-05 12:14:48 -08:00
2013-10-31 09:16:03 -07:00
2013-09-04 16:01:24 -07:00
2013-11-04 10:55:25 -08:00
2013-10-31 14:58:04 -07:00
2012-08-27 12:01:37 -07:00
2013-10-31 14:58:04 -07:00
2013-10-31 14:58:04 -07:00
2013-11-05 12:17:07 -08:00
2013-10-31 14:58:04 -07:00
2013-11-04 10:55:25 -08:00
2013-10-31 14:58:04 -07:00
2013-10-31 14:58:04 -07:00
2013-10-31 14:58:04 -07:00
2013-11-04 10:55:25 -08:00
2013-10-31 14:58:04 -07:00
2013-11-04 10:55:25 -08:00
2010-08-31 13:41:58 -07:00
2013-05-01 17:05:52 -07:00
2013-10-30 14:51:27 -07:00
2013-10-31 14:58:04 -07:00
2013-10-31 14:58:04 -07:00
2013-11-04 10:55:25 -08:00
2013-11-04 10:55:25 -08:00
2013-10-31 14:58:04 -07:00
2013-10-31 14:58:04 -07:00
2013-10-31 14:58:04 -07:00
2013-11-05 12:25:01 -08:00
2010-09-17 16:24:15 -07:00
2013-11-05 12:14:21 -08:00