svn commit: r334101 - head/sys/arm64/include
Mark Johnston
markj at FreeBSD.org
Wed May 23 15:43:36 UTC 2018
Author: markj
Date: Wed May 23 15:43:35 2018
New Revision: 334101
URL: https://svnweb.freebsd.org/changeset/base/334101
Log:
Add GET_STACK_USAGE() for arm64.
Its absence meant that GEOM direct dispatch was disabled (the service
routines check the current thread's stack usage to determine whether
to hand off the request to a dedicated thread), and this change is
sufficient to enable direct dispatch by default.
Reviewed by: allanjude
MFC after: 2 weeks
Differential Revision: https://reviews.freebsd.org/D15527
Modified:
head/sys/arm64/include/proc.h
Modified: head/sys/arm64/include/proc.h
==============================================================================
--- head/sys/arm64/include/proc.h Wed May 23 15:26:56 2018 (r334100)
+++ head/sys/arm64/include/proc.h Wed May 23 15:43:35 2018 (r334101)
@@ -54,4 +54,18 @@ struct syscall_args {
int narg;
};
+#ifdef _KERNEL
+
+#include <machine/pcb.h>
+
+#define GET_STACK_USAGE(total, used) do { \
+ struct thread *td = curthread; \
+ (total) = td->td_kstack_pages * PAGE_SIZE - sizeof(struct pcb); \
+ (used) = (char *)td->td_kstack + \
+ td->td_kstack_pages * PAGE_SIZE - \
+ (char *)&td; \
+} while (0)
+
+#endif
+
#endif /* !_MACHINE_PROC_H_ */
More information about the svn-src-head
mailing list