Robert Watson
1a1238a112
Don't acquire Giant before calling closef() in close() (and elsewhere);
...
instead acquire it conditionally in closef() if it is required for
advisory locking. This removes Giant from the close() path of sockets
and pipes (and any other objects that don't acquire Giant in their
fo_close path, such as kqueues). Giant will still be acquired twice for
vnodes -- once for advisory lock teardown, and a second time in the
fo_close method. Both Poul-Henning and I believe that the advisory lock
teardown code can be moved into the vn_closefile path shortly.
This trims a percent or two off the cost of most non-vnode close
operations on SMP, but has a fairly minimal impact on UP where the cost
of a single mutex operation is pretty low.
2004-11-28 14:37:17 +00:00
..
2004-08-12 17:26:22 +00:00
2004-08-12 17:26:22 +00:00
2004-11-27 06:46:59 +00:00
2004-09-23 23:29:24 +00:00
2004-02-04 21:52:57 +00:00
2004-10-31 11:12:59 +00:00
2004-11-27 06:51:39 +00:00
2004-11-25 12:08:16 +00:00
2004-10-05 18:51:11 +00:00
2004-07-26 07:24:04 +00:00
2004-10-05 18:51:11 +00:00
2004-10-12 18:36:20 +00:00
2004-10-25 13:12:06 +00:00
2004-11-28 14:37:17 +00:00
2004-11-08 18:22:22 +00:00
2004-11-16 14:41:31 +00:00
2004-11-27 06:51:39 +00:00
2004-11-27 06:51:39 +00:00
2004-11-27 06:51:39 +00:00
2004-09-01 06:42:02 +00:00
2004-11-17 14:39:41 +00:00
2004-06-27 09:03:22 +00:00
2004-11-20 23:00:59 +00:00
2004-09-01 02:11:28 +00:00
2004-11-01 22:15:15 +00:00
2004-07-26 07:24:04 +00:00
2004-08-27 01:20:26 +00:00
2004-08-27 01:41:28 +00:00
2004-04-05 21:03:37 +00:00
2004-11-09 11:28:40 +00:00
2004-09-29 14:21:40 +00:00
2004-09-20 08:52:04 +00:00
2004-04-05 21:03:37 +00:00
2004-08-20 21:47:48 +00:00
2004-10-12 18:36:20 +00:00
2004-11-19 00:58:30 +00:00
2004-11-04 07:59:57 +00:00
2004-07-03 02:38:03 +00:00
2004-11-27 06:46:59 +00:00
2004-08-31 06:12:13 +00:00
2004-10-05 18:51:11 +00:00
2004-06-14 18:19:05 +00:00
2004-11-08 04:52:26 +00:00
2004-11-15 20:51:32 +00:00
2004-11-08 06:57:31 +00:00
2004-11-20 23:00:59 +00:00
2004-02-27 16:13:44 +00:00
2004-11-27 11:43:31 +00:00
2004-07-15 08:26:07 +00:00
2004-10-27 19:26:01 +00:00
2004-10-11 22:04:16 +00:00
2004-11-20 23:00:59 +00:00
2004-11-20 23:00:59 +00:00
2004-10-05 18:51:11 +00:00
2004-08-06 21:49:00 +00:00
2004-07-12 15:28:31 +00:00
2004-01-22 13:34:11 +00:00
2004-10-22 12:10:50 +00:00
2004-08-29 01:21:51 +00:00
2004-08-09 18:46:13 +00:00
2003-12-23 03:50:43 +00:00
2004-10-05 22:03:10 +00:00
2004-11-11 19:48:57 +00:00
2004-07-26 07:24:04 +00:00
2004-04-05 21:03:37 +00:00
2004-06-04 04:03:26 +00:00
2004-11-03 09:06:45 +00:00
2004-07-15 20:47:41 +00:00
2004-04-05 21:03:37 +00:00
2004-06-16 09:47:26 +00:00
2004-08-19 19:51:51 +00:00
2004-10-21 01:11:25 +00:00
2004-06-16 09:47:26 +00:00
2003-12-07 21:53:41 +00:00
2004-04-05 21:03:37 +00:00
2004-11-08 18:20:02 +00:00
2004-01-02 18:24:13 +00:00
2004-07-10 21:43:23 +00:00
2004-07-16 21:04:55 +00:00
2004-08-19 20:16:09 +00:00
2004-04-05 21:03:37 +00:00
2004-07-09 11:37:44 +00:00
2004-04-05 21:03:37 +00:00
2004-11-05 20:19:58 +00:00
2004-09-03 07:42:31 +00:00
2004-10-05 04:16:01 +00:00
2004-10-23 20:49:17 +00:00
2004-10-12 18:36:20 +00:00
2004-10-25 12:27:03 +00:00
2004-11-09 06:46:14 +00:00
2004-11-17 09:09:55 +00:00
2004-11-23 22:15:08 +00:00
2004-11-27 06:51:39 +00:00
2004-11-17 09:09:55 +00:00
2004-11-25 12:08:16 +00:00
2004-11-25 12:07:28 +00:00
2004-10-22 12:12:40 +00:00
2004-11-12 13:23:47 +00:00
2004-11-13 08:06:40 +00:00
2004-11-12 13:23:47 +00:00
2004-06-21 22:57:16 +00:00
2004-07-15 20:47:41 +00:00
2004-09-24 07:16:56 +00:00
2004-10-18 21:51:27 +00:00
2004-07-15 20:47:41 +00:00
2004-06-17 17:16:53 +00:00
2004-11-16 17:41:16 +00:00
2004-06-01 04:08:48 +00:00
2004-11-08 00:43:46 +00:00
2004-11-11 19:19:54 +00:00
2004-11-03 20:17:31 +00:00
2004-10-11 18:40:19 +00:00
2004-09-28 18:40:18 +00:00
2004-04-05 21:03:37 +00:00
2004-05-30 20:34:58 +00:00
2004-10-27 05:37:58 +00:00
2004-10-27 05:37:58 +00:00
2004-11-09 18:35:26 +00:00
2004-11-13 11:53:02 +00:00
2004-11-08 14:44:54 +00:00
2004-07-26 07:24:04 +00:00
2004-11-04 07:59:57 +00:00
2004-11-18 08:44:09 +00:00
2004-04-05 21:03:37 +00:00
2004-11-15 08:38:50 +00:00
2004-11-18 07:55:05 +00:00
2004-07-12 08:14:09 +00:00
2004-11-16 08:22:06 +00:00
2004-09-15 21:42:03 +00:00
2004-08-04 18:39:07 +00:00
2004-11-28 11:26:43 +00:00
2004-11-15 08:12:50 +00:00
2004-11-16 08:22:06 +00:00
2004-11-18 17:15:04 +00:00
2004-11-15 09:18:27 +00:00