Re: svn commit: r254150 - head/sys/vm
On Fri, Aug 9, 2013 at 2:22 PM, Adrian Chadd wrote: > No, we should upgrade the cluster, watch it fail, and then let people > experience their own handiwork. It could turn out a bit like this: http://devopsreactions.tumblr.com/post/57780524288/our-engineers-are-working-to-fix-the-problem-in-the > Sheesh. :( > > > > -adrian > > > On 9 August 2013 14:19, Peter Wemm wrote: >> On Fri, Aug 9, 2013 at 2:13 PM, Adrian Chadd wrote: >>> ... ? >>> >>> Can we please back it all out and then re-test attilio's patch with >>> alan's fix, before committing it all again? >>> >>> I kinda have a vested interest at ${WORK} to be able to test -10 HEAD >>> right now for all these performance investigations and fixes that need >>> to happen for us; having the VM change and break _right now_ is going >>> to actually cause us pain. >> >> The current state of HEAD also kinda rules out refreshing freebsd.org >> machines this week too. >> >> -- >> Peter Wemm - pe...@wemm.org; pe...@freebsd.org; pe...@yahoo-inc.com; KI6FJV >> UTF-8: for when a ' just won\342\200\231t do. >> ZFS must be the bacon of file systems. "everything's better with >> ZFS" -- Peter Wemm - pe...@wemm.org; pe...@freebsd.org; pe...@yahoo-inc.com; KI6FJV UTF-8: for when a ' just won\342\200\231t do. ZFS must be the bacon of file systems. "everything's better with ZFS" ___ svn-src-head@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/svn-src-head To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"
Re: svn commit: r254150 - head/sys/vm
Yes, at least some of this stuff is coming to light because we're aggressively tracking top-of-tree in both 9 and 10. Which is good. But highly annoying at times. But good in the long run. It means that 9.2 won't suck, and 10.0 won't suck. =-) Scott On Aug 9, 2013, at 3:22 PM, Adrian Chadd wrote: > No, we should upgrade the cluster, watch it fail, and then let people > experience their own handiwork. > > Sheesh. :( > > > > -adrian > > > On 9 August 2013 14:19, Peter Wemm wrote: >> On Fri, Aug 9, 2013 at 2:13 PM, Adrian Chadd wrote: >>> ... ? >>> >>> Can we please back it all out and then re-test attilio's patch with >>> alan's fix, before committing it all again? >>> >>> I kinda have a vested interest at ${WORK} to be able to test -10 HEAD >>> right now for all these performance investigations and fixes that need >>> to happen for us; having the VM change and break _right now_ is going >>> to actually cause us pain. >> >> The current state of HEAD also kinda rules out refreshing freebsd.org >> machines this week too. >> >> -- >> Peter Wemm - pe...@wemm.org; pe...@freebsd.org; pe...@yahoo-inc.com; KI6FJV >> UTF-8: for when a ' just won\342\200\231t do. >> ZFS must be the bacon of file systems. "everything's better with >> ZFS" ___ svn-src-head@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/svn-src-head To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"
Re: svn commit: r254150 - head/sys/vm
No, we should upgrade the cluster, watch it fail, and then let people experience their own handiwork. Sheesh. :( -adrian On 9 August 2013 14:19, Peter Wemm wrote: > On Fri, Aug 9, 2013 at 2:13 PM, Adrian Chadd wrote: >> ... ? >> >> Can we please back it all out and then re-test attilio's patch with >> alan's fix, before committing it all again? >> >> I kinda have a vested interest at ${WORK} to be able to test -10 HEAD >> right now for all these performance investigations and fixes that need >> to happen for us; having the VM change and break _right now_ is going >> to actually cause us pain. > > The current state of HEAD also kinda rules out refreshing freebsd.org > machines this week too. > > -- > Peter Wemm - pe...@wemm.org; pe...@freebsd.org; pe...@yahoo-inc.com; KI6FJV > UTF-8: for when a ' just won\342\200\231t do. > ZFS must be the bacon of file systems. "everything's better with > ZFS" ___ svn-src-head@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/svn-src-head To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"
Re: svn commit: r254150 - head/sys/vm
On Fri, Aug 9, 2013 at 2:13 PM, Adrian Chadd wrote: > ... ? > > Can we please back it all out and then re-test attilio's patch with > alan's fix, before committing it all again? > > I kinda have a vested interest at ${WORK} to be able to test -10 HEAD > right now for all these performance investigations and fixes that need > to happen for us; having the VM change and break _right now_ is going > to actually cause us pain. The current state of HEAD also kinda rules out refreshing freebsd.org machines this week too. -- Peter Wemm - pe...@wemm.org; pe...@freebsd.org; pe...@yahoo-inc.com; KI6FJV UTF-8: for when a ' just won\342\200\231t do. ZFS must be the bacon of file systems. "everything's better with ZFS" ___ svn-src-head@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/svn-src-head To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"
Re: svn commit: r254150 - head/sys/vm
Quoting Adrian Chadd : ... ? Can we please back it all out and then re-test attilio's patch with alan's fix, before committing it all again? John is doing a sanity check on my patch. He'll commit it shortly. So, I don't think that we need to go as far as backing anything out. I kinda have a vested interest at ${WORK} to be able to test -10 HEAD right now for all these performance investigations and fixes that need to happen for us; having the VM change and break _right now_ is going to actually cause us pain. Thanks, -adrian ___ svn-src-head@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/svn-src-head To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"
Re: svn commit: r254150 - head/sys/vm
... ? Can we please back it all out and then re-test attilio's patch with alan's fix, before committing it all again? I kinda have a vested interest at ${WORK} to be able to test -10 HEAD right now for all these performance investigations and fixes that need to happen for us; having the VM change and break _right now_ is going to actually cause us pain. Thanks, -adrian ___ svn-src-head@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/svn-src-head To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"
Re: svn commit: r254150 - head/sys/vm
On Aug 9, 2013, at 1:45 PM, John Baldwin wrote: > On Friday, August 09, 2013 4:40:10 pm Alan Cox wrote: >> >> On Aug 9, 2013, at 1:34 PM, Alan Cox wrote: >> >>> >>> On Aug 9, 2013, at 12:56 PM, John Baldwin wrote: >>> On Friday, August 09, 2013 12:43:50 pm David E. O'Brien wrote: > Author: obrien > Date: Fri Aug 9 16:43:50 2013 > New Revision: 254150 > URL: http://svnweb.freebsd.org/changeset/base/254150 > > Log: > Add missing 'VPO_BUSY' from r254141 to fix kernel build break. > > Modified: > head/sys/vm/vm_page.h This can't possibly be correct as r254138 just removed this flag. If it > isn't obvious how to fix the uses added back in r254141, then r254141 should be reverted instead. Hmm, looking at the relevant bits of r254141, it doesn't look obvious: + /* Detach the old page from the resident tailq. */ + TAILQ_REMOVE(&object->memq, mold, listq); + vm_page_lock(mold); >>> >>> Replace the next four lines with >>> >>> vm_page_xunbusy(mold); >>> >> >> On second thought, no, because it could lead to lock recursion. > > What about this. I think this matches the common idiom I've seen in > other places. > > Index: vm_page.c > === > --- vm_page.c (revision 254158) > +++ vm_page.c (working copy) > @@ -1202,12 +1202,9 @@ >/* Detach the old page from the resident tailq. */ >TAILQ_REMOVE(&object->memq, mold, listq); >vm_page_lock(mold); > - if (mold->oflags & VPO_BUSY) { > - mold->oflags &= ~VPO_BUSY; > - vm_page_flash(mold); > - } >mold->object = NULL; >vm_page_unlock(mold); > + vm_page_xunbusy(mold); > >/* Insert the new page in the resident tailq. */ >if (mpred != NULL) > > > -- Index: vm/vm_page.c === --- vm/vm_page.c(revision 254146) +++ vm/vm_page.c(working copy) @@ -1174,6 +1174,8 @@ vm_page_prev(vm_page_t m) /* * Uses the page mnew as a replacement for an existing page at index * pindex which must be already present in the object. + * + * The existing page must not be on a paging queue. */ vm_page_t vm_page_replace(vm_page_t mnew, vm_object_t object, vm_pindex_t pindex) @@ -1198,16 +1200,14 @@ vm_page_replace(vm_page_t mnew, vm_object_t object mnew->object = object; mnew->pindex = pindex; mold = vm_radix_replace(&object->rtree, mnew, pindex); + KASSERT(mold->queue == PQ_NONE, + ("vm_page_replace: mold is on a paging queue")); /* Detach the old page from the resident tailq. */ TAILQ_REMOVE(&object->memq, mold, listq); - vm_page_lock(mold); - if (mold->oflags & VPO_BUSY) { - mold->oflags &= ~VPO_BUSY; - vm_page_flash(mold); - } + mold->object = NULL; - vm_page_unlock(mold); + vm_page_xunbusy(mold); /* Insert the new page in the resident tailq. */ if (mpred != NULL) ___ svn-src-head@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/svn-src-head To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"
Re: svn commit: r254150 - head/sys/vm
On Friday, August 09, 2013 4:40:10 pm Alan Cox wrote: > > On Aug 9, 2013, at 1:34 PM, Alan Cox wrote: > > > > > On Aug 9, 2013, at 12:56 PM, John Baldwin wrote: > > > >> On Friday, August 09, 2013 12:43:50 pm David E. O'Brien wrote: > >>> Author: obrien > >>> Date: Fri Aug 9 16:43:50 2013 > >>> New Revision: 254150 > >>> URL: http://svnweb.freebsd.org/changeset/base/254150 > >>> > >>> Log: > >>> Add missing 'VPO_BUSY' from r254141 to fix kernel build break. > >>> > >>> Modified: > >>> head/sys/vm/vm_page.h > >> > >> This can't possibly be correct as r254138 just removed this flag. If it isn't > >> obvious how to fix the uses added back in r254141, then r254141 should be > >> reverted instead. > >> > >> Hmm, looking at the relevant bits of r254141, it doesn't look obvious: > >> > >> + /* Detach the old page from the resident tailq. */ > >> + TAILQ_REMOVE(&object->memq, mold, listq); > >> + vm_page_lock(mold); > > > > Replace the next four lines with > > > > vm_page_xunbusy(mold); > > > > On second thought, no, because it could lead to lock recursion. What about this. I think this matches the common idiom I've seen in other places. Index: vm_page.c === --- vm_page.c (revision 254158) +++ vm_page.c (working copy) @@ -1202,12 +1202,9 @@ /* Detach the old page from the resident tailq. */ TAILQ_REMOVE(&object->memq, mold, listq); vm_page_lock(mold); - if (mold->oflags & VPO_BUSY) { - mold->oflags &= ~VPO_BUSY; - vm_page_flash(mold); - } mold->object = NULL; vm_page_unlock(mold); + vm_page_xunbusy(mold); /* Insert the new page in the resident tailq. */ if (mpred != NULL) -- John Baldwin ___ svn-src-head@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/svn-src-head To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"
Re: svn commit: r254150 - head/sys/vm
On Aug 9, 2013, at 1:39 PM, John Baldwin wrote: > On Friday, August 09, 2013 4:34:36 pm Alan Cox wrote: >> >> On Aug 9, 2013, at 12:56 PM, John Baldwin wrote: >> >>> On Friday, August 09, 2013 12:43:50 pm David E. O'Brien wrote: Author: obrien Date: Fri Aug 9 16:43:50 2013 New Revision: 254150 URL: http://svnweb.freebsd.org/changeset/base/254150 Log: Add missing 'VPO_BUSY' from r254141 to fix kernel build break. Modified: head/sys/vm/vm_page.h >>> >>> This can't possibly be correct as r254138 just removed this flag. If it > isn't >>> obvious how to fix the uses added back in r254141, then r254141 should be >>> reverted instead. >>> >>> Hmm, looking at the relevant bits of r254141, it doesn't look obvious: >>> >>> + /* Detach the old page from the resident tailq. */ >>> + TAILQ_REMOVE(&object->memq, mold, listq); >>> + vm_page_lock(mold); >> >> Replace the next four lines with >> >> vm_page_xunbusy(mold); > > That is going to recurse on vm_page_lock(), is that ok? > No, it's not. >>> + if (mold->oflags & VPO_BUSY) { >>> + mold->oflags &= ~VPO_BUSY; >>> + vm_page_flash(mold); >>> + } >>> >>> Since nothing is setting this flag, this can't possibly work correctly >>> currently. I wouldn't boot a top-of-tree kernel right now. :( >>> >>> -- >>> John Baldwin >>> >> >> > > -- > John Baldwin > ___ svn-src-head@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/svn-src-head To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"
Re: svn commit: r254150 - head/sys/vm
On Aug 9, 2013, at 1:34 PM, Alan Cox wrote: > > On Aug 9, 2013, at 12:56 PM, John Baldwin wrote: > >> On Friday, August 09, 2013 12:43:50 pm David E. O'Brien wrote: >>> Author: obrien >>> Date: Fri Aug 9 16:43:50 2013 >>> New Revision: 254150 >>> URL: http://svnweb.freebsd.org/changeset/base/254150 >>> >>> Log: >>> Add missing 'VPO_BUSY' from r254141 to fix kernel build break. >>> >>> Modified: >>> head/sys/vm/vm_page.h >> >> This can't possibly be correct as r254138 just removed this flag. If it >> isn't >> obvious how to fix the uses added back in r254141, then r254141 should be >> reverted instead. >> >> Hmm, looking at the relevant bits of r254141, it doesn't look obvious: >> >> + /* Detach the old page from the resident tailq. */ >> + TAILQ_REMOVE(&object->memq, mold, listq); >> + vm_page_lock(mold); > > Replace the next four lines with > > vm_page_xunbusy(mold); > On second thought, no, because it could lead to lock recursion. >> + if (mold->oflags & VPO_BUSY) { >> + mold->oflags &= ~VPO_BUSY; >> + vm_page_flash(mold); >> + } >> >> Since nothing is setting this flag, this can't possibly work correctly >> currently. I wouldn't boot a top-of-tree kernel right now. :( >> >> -- >> John Baldwin >> > > ___ svn-src-head@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/svn-src-head To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"
Re: svn commit: r254150 - head/sys/vm
On Friday, August 09, 2013 4:34:36 pm Alan Cox wrote: > > On Aug 9, 2013, at 12:56 PM, John Baldwin wrote: > > > On Friday, August 09, 2013 12:43:50 pm David E. O'Brien wrote: > >> Author: obrien > >> Date: Fri Aug 9 16:43:50 2013 > >> New Revision: 254150 > >> URL: http://svnweb.freebsd.org/changeset/base/254150 > >> > >> Log: > >> Add missing 'VPO_BUSY' from r254141 to fix kernel build break. > >> > >> Modified: > >> head/sys/vm/vm_page.h > > > > This can't possibly be correct as r254138 just removed this flag. If it isn't > > obvious how to fix the uses added back in r254141, then r254141 should be > > reverted instead. > > > > Hmm, looking at the relevant bits of r254141, it doesn't look obvious: > > > > + /* Detach the old page from the resident tailq. */ > > + TAILQ_REMOVE(&object->memq, mold, listq); > > + vm_page_lock(mold); > > Replace the next four lines with > > vm_page_xunbusy(mold); That is going to recurse on vm_page_lock(), is that ok? > > + if (mold->oflags & VPO_BUSY) { > > + mold->oflags &= ~VPO_BUSY; > > + vm_page_flash(mold); > > + } > > > > Since nothing is setting this flag, this can't possibly work correctly > > currently. I wouldn't boot a top-of-tree kernel right now. :( > > > > -- > > John Baldwin > > > > -- John Baldwin ___ svn-src-head@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/svn-src-head To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"
Re: svn commit: r254150 - head/sys/vm
On Aug 9, 2013, at 12:56 PM, John Baldwin wrote: > On Friday, August 09, 2013 12:43:50 pm David E. O'Brien wrote: >> Author: obrien >> Date: Fri Aug 9 16:43:50 2013 >> New Revision: 254150 >> URL: http://svnweb.freebsd.org/changeset/base/254150 >> >> Log: >> Add missing 'VPO_BUSY' from r254141 to fix kernel build break. >> >> Modified: >> head/sys/vm/vm_page.h > > This can't possibly be correct as r254138 just removed this flag. If it > isn't > obvious how to fix the uses added back in r254141, then r254141 should be > reverted instead. > > Hmm, looking at the relevant bits of r254141, it doesn't look obvious: > > + /* Detach the old page from the resident tailq. */ > + TAILQ_REMOVE(&object->memq, mold, listq); > + vm_page_lock(mold); Replace the next four lines with vm_page_xunbusy(mold); > + if (mold->oflags & VPO_BUSY) { > + mold->oflags &= ~VPO_BUSY; > + vm_page_flash(mold); > + } > > Since nothing is setting this flag, this can't possibly work correctly > currently. I wouldn't boot a top-of-tree kernel right now. :( > > -- > John Baldwin > ___ svn-src-head@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/svn-src-head To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"
Re: svn commit: r254150 - head/sys/vm
On Friday, August 09, 2013 12:43:50 pm David E. O'Brien wrote: > Author: obrien > Date: Fri Aug 9 16:43:50 2013 > New Revision: 254150 > URL: http://svnweb.freebsd.org/changeset/base/254150 > > Log: > Add missing 'VPO_BUSY' from r254141 to fix kernel build break. > > Modified: > head/sys/vm/vm_page.h This can't possibly be correct as r254138 just removed this flag. If it isn't obvious how to fix the uses added back in r254141, then r254141 should be reverted instead. Hmm, looking at the relevant bits of r254141, it doesn't look obvious: + /* Detach the old page from the resident tailq. */ + TAILQ_REMOVE(&object->memq, mold, listq); + vm_page_lock(mold); + if (mold->oflags & VPO_BUSY) { + mold->oflags &= ~VPO_BUSY; + vm_page_flash(mold); + } Since nothing is setting this flag, this can't possibly work correctly currently. I wouldn't boot a top-of-tree kernel right now. :( -- John Baldwin ___ svn-src-head@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/svn-src-head To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"
svn commit: r254150 - head/sys/vm
Author: obrien Date: Fri Aug 9 16:43:50 2013 New Revision: 254150 URL: http://svnweb.freebsd.org/changeset/base/254150 Log: Add missing 'VPO_BUSY' from r254141 to fix kernel build break. Modified: head/sys/vm/vm_page.h Modified: head/sys/vm/vm_page.h == --- head/sys/vm/vm_page.h Fri Aug 9 16:34:12 2013(r254149) +++ head/sys/vm/vm_page.h Fri Aug 9 16:43:50 2013(r254150) @@ -171,6 +171,7 @@ struct vm_page { #defineVPO_UNMANAGED 0x04/* no PV management for page */ #defineVPO_SWAPINPROG 0x08/* swap I/O in progress on page */ #defineVPO_NOSYNC 0x10/* do not collect for syncer */ +#defineVPO_BUSY0x20/* TBD */ /* * Busy page implementation details. ___ svn-src-head@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/svn-src-head To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"