Skip site navigation (1)Skip section navigation (2)
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>