I think managed to adapt it to 9k:

diff -c /n/dump/2026/0318/sys/src/9k/k10/trap.c /sys/src/9k/k10/trap.c
/n/dump/2026/0318/sys/src/9k/k10/trap.c:622,628 - /sys/src/9k/k10/trap.c:622,628
                        if(vec->irq == IdtPIC+IrqCLOCK || vec->irq == IdtTIMER)
                                clockintr = 1;
                        else
-                               if(up)
+                               if(up && m->ilockdepth == 0)
                                        preempted();
                }
        } else if (user)
/n/dump/2026/0318/sys/src/9k/k10/trap.c:632,638 - /sys/src/9k/k10/trap.c:632,638
        splhi();
  
        /* delaysched set because we held a lock or because our quantum ended */
-       if(up && up->delaysched && clockintr){
+       if(up && up->delaysched && clockintr && m->ilockdepth == 0){
                sched();
                splhi();
        }
diff -c /n/dump/2026/0318/sys/src/9k/k10/x86watchdog.c 
/sys/src/9k/k10/x86watchdog.c
/n/dump/2026/0318/sys/src/9k/k10/x86watchdog.c:140,145 - 
/sys/src/9k/k10/x86watchdog.c:140,146
                r = rdmsr(Msrmiscen);
                if(!(r & 0x80LL)) {
                        print("x86watchdog: p4 can't enable\n");
+                       iunlock(wd);
                        return;
                }
                zeromsrs(0x300, 18);                    /* perfctr */

On Tue, Mar 17, 2026 at 12:05:26PM +0700, hahahahacker2009 wrote:
> Vào Thứ 3, 17 thg 3, 2026 vào lúc 09:14 David du Colombier
> <[email protected]> đã viết:
> >
> > Please try this patch 
> > http://9legacy.org/9legacy/patch/pc-x86watchdog-ilock.diff
> >
> > It should fix the issue you encountered with KVM.
> >
> 
> This patch is for the 9/pc kernel, but I'm seeing the issue on 9k/k10 kernel
> 
> > --
> > David du Colombier

------------------------------------------
9fans: 9fans
Permalink: 
https://9fans.topicbox.com/groups/9fans/Ta43f70982c6bc008-M18d5928c18bcff268c513cd3
Delivery options: https://9fans.topicbox.com/groups/9fans/subscription

Reply via email to