Re: svn commit: r254150 - head/sys/vm

2013-08-09 Thread Peter Wemm
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

2013-08-09 Thread Scott Long
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

2013-08-09 Thread Adrian Chadd
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

2013-08-09 Thread Peter Wemm
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

2013-08-09 Thread alc

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

2013-08-09 Thread 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?

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

2013-08-09 Thread Alan Cox

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

2013-08-09 Thread John Baldwin
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

2013-08-09 Thread Alan Cox

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

2013-08-09 Thread Alan Cox

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

2013-08-09 Thread John Baldwin
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

2013-08-09 Thread Alan Cox

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

2013-08-09 Thread John Baldwin
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

2013-08-09 Thread David E. O'Brien
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"