Module Name: src
Committed By: mlelstv
Date: Sun Oct 6 07:15:34 UTC 2019
Modified Files:
src/sys/sys: filedesc.h
Log Message:
Use multiple cache lines for fd_dfdfile elements when necessary.
To generate a diff of this commit:
cvs rdiff -u -r1.64 -r1.65 src/sys/sys/filedesc.h
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Modified files:
Index: src/sys/sys/filedesc.h
diff -u src/sys/sys/filedesc.h:1.64 src/sys/sys/filedesc.h:1.65
--- src/sys/sys/filedesc.h:1.64 Tue Dec 26 08:30:58 2017
+++ src/sys/sys/filedesc.h Sun Oct 6 07:15:34 2019
@@ -1,4 +1,4 @@
-/* $NetBSD: filedesc.h,v 1.64 2017/12/26 08:30:58 kamil Exp $ */
+/* $NetBSD: filedesc.h,v 1.65 2019/10/06 07:15:34 mlelstv Exp $ */
/*-
* Copyright (c) 2008 The NetBSD Foundation, Inc.
@@ -112,6 +112,8 @@ typedef struct fdfile {
kcondvar_t ff_closing; /* d: notifier for close */
} fdfile_t;
+#define FDFILE_SIZE ((sizeof(fdfile_t)+CACHE_LINE_SIZE-1)/CACHE_LINE_SIZE*CACHE_LINE_SIZE)
+
/* Reference count */
#define FR_CLOSING (0x80000000) /* closing: must interlock */
#define FR_MASK (~FR_CLOSING) /* reference count */
@@ -132,7 +134,7 @@ typedef struct filedesc {
* Built-in fdfile_t records first, since they have strict
* alignment requirements.
*/
- uint8_t fd_dfdfile[NDFDFILE][CACHE_LINE_SIZE];
+ uint8_t fd_dfdfile[NDFDFILE][FDFILE_SIZE];
/*
* All of the remaining fields are locked by fd_lock.
*/