Re: 5.1-CURRENT hangs on disk i/o? sysctl_old_user() non-sleepable locks

From: Stefan Eßer (se_at_freebsd.org)
Date: 06/19/03

  • Next message: Sergey A. Osokin: "Re: Proof of concept patch for device rearrangement"
    Date: Thu, 19 Jun 2003 11:31:46 +0200
    To: Don Lewis <truckman@freebsd.org>
    
    

    On 2003-06-18 20:41 -0700, Don Lewis <truckman@freebsd.org> wrote:
    > On 18 Jun, Chris Shenton wrote:
    > > Don Lewis <truckman@FreeBSD.org> writes:
    > >
    > >> Try the very untested patch below ...
    > >
    > >> RCS file: /home/ncvs/src/sys/kern/uipc_syscalls.c,v
    > >> retrieving revision 1.150
    > >> Try the very untested patch below ...
    > >> diff -u -r1.150 uipc_syscalls.c
    > >> --- uipc_syscalls.c 12 Jun 2003 05:52:09 -0000 1.150
    > >> +++ uipc_syscalls.c 18 Jun 2003 03:14:42 -0000
    > >> @@ -1775,10 +1775,13 @@
    > >> */
    > >> if ((error = fgetvp_read(td, uap->fd, &vp)) != 0)
    > >> goto done;
    > >> + vn_lock(vp, LK_EXCLUSIVE | LK_RETRY, td);
    > >> if (vp->v_type != VREG || VOP_GETVOBJECT(vp, &obj) != 0) {
    > >> error = EINVAL;
    > >> + VOP_UNLOCK(vp, 0, td);
    > >> goto done;
    > >> }
    > >> + VOP_UNLOCK(vp, 0, td);
    > >
    > > Tried it, rebuilt kernel, rebooted, no affect :-(
    > >
    > > You were correct about apache using it. Doing a simple
    > >
    > > fetch http://pectopah/
    > >
    > > causes the error, dropping me into ddb if panic enabled. A "tr" shows
    > > the same trace as I submitted yesterday :-(
    >
    > Wierd ... I just tested the patch with ftpd which also uses sendfile()
    > and didn't get any complaints from DEBUG_VFS_LOCKS.

    Not sure whether the following applies, but I think the patch
    should be commited anyway:

    In PR kern/46652 I reported, that DEBUG_VFS_LOCKS does never
    check the **vpp parameters. A patch is included in the PR and
    it does generate the missing tests.

    I asked for feedback on the hackers mail list (IIRC), but did
    not get any replies.

    Any objections against me committing the patch now ?

    (A different fix is mentioned in the PR, the patch I suggested
    was the minimal change to the code which made it work, the
    alternative seems cleaner to me ...) Please read PR kern/46652 !

    If nobody complains, I'll do the commit tomorrow.

    Regards, STefan

    Index: /usr/src/sys/tools/vnode_if.awk
    ===================================================================
    RCS file: /usr/cvs/src/sys/tools/vnode_if.awk,v
    retrieving revision 1.37
    diff -u -u -4 -r1.37 vnode_if.awk
    --- /usr/src/sys/tools/vnode_if.awk 26 Sep 2002 04:48:43 -0000 1.37
    +++ /usr/src/sys/tools/vnode_if.awk 31 Dec 2002 13:37:20 -0000
    @@ -64,8 +64,10 @@
     function printh(s) {print s > hfile;}
     
     function add_debug_code(name, arg, pos)
     {
    + if (arg == "vpp")
    + arg = "*vpp";
             if (lockdata[name, arg, pos]) {
                     printh("\tASSERT_VI_UNLOCKED("arg", \""uname"\");");
                     # Add assertions for locking
                     if (lockdata[name, arg, pos] == "L")
    _______________________________________________
    freebsd-current@freebsd.org mailing list
    http://lists.freebsd.org/mailman/listinfo/freebsd-current
    To unsubscribe, send any mail to "freebsd-current-unsubscribe@freebsd.org"


  • Next message: Sergey A. Osokin: "Re: Proof of concept patch for device rearrangement"

    Relevant Pages

    • Re: [ANNOUNCE] ddtree: A git kernel tree for storage servers
      ... > Do you happen to have a pointer to where these block layer deadlock ... Or will you be committing them shortly? ... torture tested version of the patch. ... max_vecs field cannot change during the life of the bio, ...
      (Linux-Kernel)
    • Re: FreeBSD/xbox: updated 7.0 patchset
      ... patch will be committed to the FreeBSD source tree. ... I mostly like this patch. ... I'm a little torn about committing those, ... they are all #ifdef XBOX. ...
      (freebsd-arch)
    • Re: 6.2; 6.3; EOL; combustible discussions
      ... committing the patch is almost zero -- the cost of QA'ing the patch, ... number of releases we support at once. ...
      (freebsd-stable)
    • CFT: upgt(4) - Conexant/Intersil PrismGT wireless USB driver
      ... I'd like to get problem reports of upgtdriver before committing this ... work to HEAD. ... This driver obtained from OpenBSD upgtand a patch can ...
      (freebsd-current)
    • [PATCH] [2.4.24-pre3] 1/5 EXT2/3 Updates
      ... # This patch format is intended for GNU patch command version 2.5 or higher. ... # The following is the BitKeeper ChangeSet Log ... # So what we do here is to try to strip the buffers from these pages as the ... because they are attached to a committing transaction. ...
      (Linux-Kernel)