Date: Fri, 6 Nov 2015 19:59:25 -0800 From: Adrian Chadd <adrian.chadd@gmail.com> To: Tijl Coosemans <tijl@freebsd.org> Cc: Jeff Roberson <jeff@freebsd.org>, "src-committers@freebsd.org" <src-committers@freebsd.org>, "svn-src-all@freebsd.org" <svn-src-all@freebsd.org>, "svn-src-head@freebsd.org" <svn-src-head@freebsd.org>, Konstantin Belousov <kib@freebsd.org> Subject: Re: svn commit: r289279 - in head/sys: kern vm Message-ID: <CAJ-VmoncHPvd4sNpvb%2BQBmhsUy3bEVGbzHcjhT3oVwDiQBeghA@mail.gmail.com> In-Reply-To: <CAJ-Vmo=zJ4YCYKRTZj5F7sme-oKOJHXLBNS7=N9Q64bD8RSeYA@mail.gmail.com> References: <201510140210.t9E2A79H056595@repo.freebsd.org> <20151029212554.799f76eb@kalimero.tijl.coosemans.org> <CAJ-Vmok5ndjfV0OrKf9R1-Dbec6Fah-GFph0u-HbvsxAAwZHBw@mail.gmail.com> <CAJ-Vmo=zJ4YCYKRTZj5F7sme-oKOJHXLBNS7=N9Q64bD8RSeYA@mail.gmail.com>
next in thread | previous in thread | raw e-mail | index | archive | help
hiya, Just bringing this to peoples attention again - the same issue (buf exhaustion, stuck in a loop trying to wake things up) exists. I'm going to commit the sched_yield() change with a big comment about why it's here and that it needs further investigation. That way things are stable again enough to use whilst this gets debugged. Thanks! -adrian On 4 November 2015 at 12:43, Adrian Chadd <adrian.chadd@gmail.com> wrote: > HI, > > FYI - this patch did fix my initial issue, but further work in > multi-user mode caused it to still hang. I haven't diagnosed it yet; I > just put back the yield call so bufdaemon could run. > > So yeah, we still have some work to do. It hit the same problem; stuck > in a loop calling the path to wakeup bufdaemon, but then not sleeping > on anything. > > > > -adrian > > > On 2 November 2015 at 14:13, Adrian Chadd <adrian.chadd@gmail.com> wrote: >> Hi Tijl, and others; >> >> Here's something that Jeff came up with that fixes my problem: >> >> adrian@victoria:~/work/freebsd/head-embedded/src % svn diff sys/kern/ >> Index: sys/kern/vfs_bio.c >> =================================================================== >> --- sys/kern/vfs_bio.c (revision 290048) >> +++ sys/kern/vfs_bio.c (working copy) >> @@ -2910,7 +2910,7 @@ >> } while(buf_scan(false) == 0); >> >> if (reserved) >> - bufspace_release(maxsize); >> + atomic_subtract_long(&bufspace, maxsize); >> if (bp != NULL) { >> bp->b_flags |= B_INVAL; >> brelse(bp); >> >> >> Would you/others please try this and see if it improves things? It >> improves things for me on these memory-starved MIPS boards. >> >> >> >> -a
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CAJ-VmoncHPvd4sNpvb%2BQBmhsUy3bEVGbzHcjhT3oVwDiQBeghA>