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>
