svn commit: r289279 - in head/sys: kern vm
Adrian Chadd
adrian.chadd at gmail.com
Sat Nov 7 03:59:26 UTC 2015
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 at 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 at gmail.com> wrote:
>> Hi Tijl, and others;
>>
>> Here's something that Jeff came up with that fixes my problem:
>>
>> adrian at 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
More information about the svn-src-all
mailing list