summaryrefslogtreecommitdiff
path: root/arch
diff options
context:
space:
mode:
author项小羽 <[email protected]>2022-07-11 05:19:30 +0000
committer项小羽 <[email protected]>2022-07-11 05:19:30 +0000
commit4ca20702c9e9438bdc3736ff3db94aa28ed88297 (patch)
tree9ebe4bdcc3d833b36c4d36c98521d4d4c12f2ca4 /arch
parent6015080e9ea64f9304f17f610d736cb1ed52924f (diff)
turn off debug, modify makefile for test, ready for iouringtsing-kernel
Diffstat (limited to 'arch')
-rw-r--r--arch/x86/kernel/uintr_core.c7
-rw-r--r--arch/x86/kernel/uintr_fd.c2
2 files changed, 7 insertions, 2 deletions
diff --git a/arch/x86/kernel/uintr_core.c b/arch/x86/kernel/uintr_core.c
index 4e5545e6d903..dca8819ac3fd 100644
--- a/arch/x86/kernel/uintr_core.c
+++ b/arch/x86/kernel/uintr_core.c
@@ -673,11 +673,13 @@ int do_uintr_register_handler(u64 handler)
xsave = &fpu->state.xsave;
xsave->header.xfeatures |= XFEATURE_MASK_UINTR;
p = get_xsave_addr(&fpu->state.xsave, XFEATURE_UINTR);
+ printk("----uintr xsave addr is %px\n",p);
if (p) {
p->handler = handler;
p->upid_addr = (u64)ui_recv->upid_ctx->upid;
p->stack_adjust = 128;
p->uinv = UINTR_NOTIFICATION_VECTOR;
+ printk("the xsave addr is %p\n handler: 0x%llx | upid_addr: 0x%llx | uif: %d\n", p, handler,p->upid_addr,p->uif_pad3); // 改
}
}
@@ -806,8 +808,11 @@ void switch_uintr_return(void)
* carefully manage the race with the hardware if the UPID gets
* updated after the read.
*/
- if (READ_ONCE(upid->puir))
+
+ if (READ_ONCE(upid->puir)){
+ printk("sending self ipi\n");
apic->send_IPI_self(UINTR_NOTIFICATION_VECTOR);
+ }
}
}
diff --git a/arch/x86/kernel/uintr_fd.c b/arch/x86/kernel/uintr_fd.c
index 06d7f4f84119..891c4568d60b 100644
--- a/arch/x86/kernel/uintr_fd.c
+++ b/arch/x86/kernel/uintr_fd.c
@@ -12,7 +12,7 @@
#include <linux/syscalls.h>
#include <asm/uintr.h>
-static bool Debug = true;
+static bool Debug = false;
struct uintrfd_ctx {
struct uintr_receiver_info *r_info;