Current-Users archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: USB deadlock?



Thomas Klausner <tk%giga.or.at@localhost> wrote:
>I'm doing my backups to USB disks. Last month this worked fine, with
>9.99.48/amd64 the backup process (unison) hung twice, only
>force-reboot got me out of the first one.
>
>The process is hung in ps "D+". top says "uvn_fp".

I don't have an answer to the hang but had been meaning to submit a
patch for review that might help with tracking it down.

There are two candidates for this wait point but the first six
characters of the names are the same, I just took out one character
so that top(1) could tell them apart.

I haven't seen any problems using it.

Index: uvm_vnode.c
===================================================================
RCS file: /cvsroot/src/sys/uvm/uvm_vnode.c,v
retrieving revision 1.107
diff -u -r1.107 uvm_vnode.c
--- uvm_vnode.c 27 Feb 2020 22:12:54 -0000      1.107
+++ uvm_vnode.c 3 Mar 2020 12:49:55 -0000
@@ -314,7 +314,7 @@
                                        return 0;
                                }
                                rw_exit(uobj->vmobjlock);
-                               uvm_wait("uvn_fp1");
+                               uvm_wait("uvnfp1");
                                uvm_page_array_clear(a);
                                rw_enter(uobj->vmobjlock, RW_WRITER);
                                continue;
@@ -339,7 +339,7 @@
                        UVMHIST_LOG(ubchist, "wait %#jx (color %ju)",
                            (uintptr_t)pg, VM_PGCOLOR(pg), 0, 0);
                        UVM_UNLOCK_AND_WAIT_RW(pg, uobj->vmobjlock, 0,
-                                              "uvn_fp2", 0);
+                                              "uvnfp2", 0);
                        uvm_page_array_clear(a);
                        rw_enter(uobj->vmobjlock, RW_WRITER);
                        continue;


Home | Main Index | Thread Index | Old Index