diff options
author | markj <markj@FreeBSD.org> | 2016-08-14 19:02:57 +0000 |
---|---|---|
committer | markj <markj@FreeBSD.org> | 2016-08-14 19:02:57 +0000 |
commit | 93a2f27720646377824bafa4957633a395ca4f1e (patch) | |
tree | 01f858ef13116467efa6754413fdeabfb8de435e | |
parent | e7b779c3b4e0af2772ff96bbedacbc87cdc49639 (diff) | |
download | FreeBSD-src-93a2f27720646377824bafa4957633a395ca4f1e.zip FreeBSD-src-93a2f27720646377824bafa4957633a395ca4f1e.tar.gz |
MFC r303059
Release the second critical section in uma_zfree_arg() slightly earlier.
-rw-r--r-- | sys/vm/uma_core.c | 5 |
1 files changed, 2 insertions, 3 deletions
diff --git a/sys/vm/uma_core.c b/sys/vm/uma_core.c index ee0b207..11dceeb 100644 --- a/sys/vm/uma_core.c +++ b/sys/vm/uma_core.c @@ -2770,6 +2770,8 @@ zfree_start: goto zfree_start; } cache->uc_freebucket = NULL; + /* We are no longer associated with this CPU. */ + critical_exit(); /* Can we throw this on the zone full list? */ if (bucket != NULL) { @@ -2782,9 +2784,6 @@ zfree_start: LIST_INSERT_HEAD(&zone->uz_buckets, bucket, ub_link); } - /* We are no longer associated with this CPU. */ - critical_exit(); - /* * We bump the uz count when the cache size is insufficient to * handle the working set. |