You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@couchdb.apache.org by GitBox <gi...@apache.org> on 2020/09/17 23:16:27 UTC

[GitHub] [couchdb] chewbranca opened a new pull request #3161: WIP: Workaround dirty schedulers in run_queue stats

chewbranca opened a new pull request #3161:
URL: https://github.com/apache/couchdb/pull/3161


   <!-- Thank you for your contribution!
   
        Please file this form by replacing the Markdown comments
        with your text. If a section needs no action - remove it.
   
        Also remember, that CouchDB uses the Review-Then-Commit (RTC) model
        of code collaboration. Positive feedback is represented +1 from committers
        and negative is a -1. The -1 also means veto, and needs to be addressed
        to proceed. Once there are no objections, the PR can be merged by a
        CouchDB committer.
   
        See: http://couchdb.apache.org/bylaws.html#decisions for more info. -->
   
   ## Overview
   
   This is a first pass at fixing https://github.com/apache/couchdb/issues/3160 for reporting proper run_queue statistics.
   
   
   <!-- Please give a short brief for the pull request,
        what problem it solves or how it makes things better. -->
   
   ## Testing recommendations
   
   <!-- Describe how we can test your changes.
        Does it provides any behaviour that the end users
        could notice? -->
   
   ## Related Issues or Pull Requests
   
   <!-- If your changes affects multiple components in different
        repositories please put links to those issues or pull requests here.  -->
   
   ## Checklist
   
   - [ ] Code is written and works correctly
   - [ ] Changes are covered by tests
   - [ ] Any new configurable parameters are documented in `rel/overlay/etc/default.ini`
   - [ ] A PR for documentation changes has been made in https://github.com/apache/couchdb-documentation
   


----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [couchdb] davisp commented on pull request #3161: WIP: Workaround dirty schedulers in run_queue stats

Posted by GitBox <gi...@apache.org>.
davisp commented on pull request #3161:
URL: https://github.com/apache/couchdb/pull/3161#issuecomment-696322179


   That's fair. I didn't realize those two weren't released in the same version. I'm fine leaving it until we've moved our minimum version to 20.


----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [couchdb] chewbranca commented on pull request #3161: WIP: Workaround dirty schedulers in run_queue stats

Posted by GitBox <gi...@apache.org>.
chewbranca commented on pull request #3161:
URL: https://github.com/apache/couchdb/pull/3161#issuecomment-696320444


   > Why not do the version that includes the dirty CPU schedulers given that we're doing dirty IO schedulers?
   
   @davisp I'm assuming you meant the opposite, I'm using the version with dirty CPU schedulers since we're not using IO schedulers.
   
   More to the point, I'm using `statistics(run_queue_lengths)` [1], which returns the list or normal scheduler queues followed by a single entry for the dirty CPU queue. This works for our immediate needs and what the PR does. There's also `statistics(run_queue_lengths_all)` [2] which returns the list of normal scheduler queues followed by an entry for the dirty CPU queue and another entry for the IO dirty queue.
   
   There isn't any dirty IO in Erlang yet, and we're not using any either, so I didn't include that. I think it does make sense to report the dirty IO queues as Erlang will switch to using them at some point in the future, however, I did not do that in this PR as the `statistics(run_queue_lengths_all)` statistic didn't land until OTP-20, and we still have partial support for OTP-19.
   The `statistics(run_queue_lengths)` statistic landed in OTP-18.3 so we're free to use that. I'm not opposed to using `statistics(run_queue_lengths_all)`, but if we're going to do that I think we should drop support for OTP-19 in the process.
   
   [1] http://erlang.org/doc/man/erlang.html#statistics_run_queue_lengths
   [2] http://erlang.org/doc/man/erlang.html#statistics_run_queue_lengths_all


----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [couchdb] davisp commented on pull request #3161: WIP: Workaround dirty schedulers in run_queue stats

Posted by GitBox <gi...@apache.org>.
davisp commented on pull request #3161:
URL: https://github.com/apache/couchdb/pull/3161#issuecomment-696322179


   That's fair. I didn't realize those two weren't released in the same version. I'm fine leaving it until we've moved our minimum version to 20.


----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [couchdb] chewbranca commented on pull request #3161: WIP: Workaround dirty schedulers in run_queue stats

Posted by GitBox <gi...@apache.org>.
chewbranca commented on pull request #3161:
URL: https://github.com/apache/couchdb/pull/3161#issuecomment-696320444


   > Why not do the version that includes the dirty CPU schedulers given that we're doing dirty IO schedulers?
   
   @davisp I'm assuming you meant the opposite, I'm using the version with dirty CPU schedulers since we're not using IO schedulers.
   
   More to the point, I'm using `statistics(run_queue_lengths)` [1], which returns the list or normal scheduler queues followed by a single entry for the dirty CPU queue. This works for our immediate needs and what the PR does. There's also `statistics(run_queue_lengths_all)` [2] which returns the list of normal scheduler queues followed by an entry for the dirty CPU queue and another entry for the IO dirty queue.
   
   There isn't any dirty IO in Erlang yet, and we're not using any either, so I didn't include that. I think it does make sense to report the dirty IO queues as Erlang will switch to using them at some point in the future, however, I did not do that in this PR as the `statistics(run_queue_lengths_all)` statistic didn't land until OTP-20, and we still have partial support for OTP-19.
   The `statistics(run_queue_lengths)` statistic landed in OTP-18.3 so we're free to use that. I'm not opposed to using `statistics(run_queue_lengths_all)`, but if we're going to do that I think we should drop support for OTP-19 in the process.
   
   [1] http://erlang.org/doc/man/erlang.html#statistics_run_queue_lengths
   [2] http://erlang.org/doc/man/erlang.html#statistics_run_queue_lengths_all


----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [couchdb] davisp commented on pull request #3161: WIP: Workaround dirty schedulers in run_queue stats

Posted by GitBox <gi...@apache.org>.
davisp commented on pull request #3161:
URL: https://github.com/apache/couchdb/pull/3161#issuecomment-695032560


   Why not do the version that includes the dirty CPU schedulers given that we're doing dirty IO schedulers?


----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [couchdb] chewbranca merged pull request #3161: Workaround dirty schedulers in run_queue stats

Posted by GitBox <gi...@apache.org>.
chewbranca merged pull request #3161:
URL: https://github.com/apache/couchdb/pull/3161


   


----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
users@infra.apache.org