[roll] Roll fuchsia [kernel][thread] Move owned_wait_queues_ out of wait_queue_state_ In preperation for applying more formal lock annotations to some of the fields protected by more complex locking protocols, move the `owned_wait_queues_` collection out of `Thread::wait_queue_state_`, and into the top level of Thread itself. `owned_wait_queues_` is the collection of OWQs currently owned by a thread, while the `owner_` member of an owned wait queue is the forward link from the queue to the thread. Just like other container relationships between threads, wait queues, and schedulers, this one requires a slightly special multi-lock protocol. In specific, threads are free to read over their collection of queues provided that they hold their lock. Likewise, queues are allowed to read their owner provided that they hold their own lock. Neither one is allowed to add or remove an edge between the two, however, unless they hold _both_ locks. The `wait_queue_state_` members of a thread are similar in nature, but with the roles of container and object reversed; the thread is the object contained in the queue instead of the other way around. So the members of `wait_queue_state_` are protected by the protocol which protects the relationship between threads blocked by queues, while the `owned_wait_queues_` member is protected by the relationship between queues owned by threads. They are not protected by the same thing. So, move `owned_wait_queues_` out of `wait_queue_state_` and put it in Thread itself, allowing it to be more properly annotated moving forward. Original-Reviewed-on: https://fuchsia-review.googlesource.com/c/fuchsia/+/1099995 Original-Revision: f76ddf7f5bb0bc80d0ed3de495df8674a2c84cc8 GitOrigin-RevId: 0c3eba8b4f57b1d49ba2150080a01703ea8a627f Change-Id: I58b2777e36602ae2d0c653b94661fcb03f72f73a
This repository contains Fuchsia's Global Integration manifest files.
All changes should be made to the internal version of this repository. Our infrastructure automatically updates this version when the internal one changes.
Currently all changes must be made by a Google employee. Non-Google employees wishing to make a change can ask for assistance in one of the communication channels documented at get involved.
First install Jiri.
Next run:
$ jiri init $ jiri import minimal https://fuchsia.googlesource.com/integration $ jiri update
Third party projects should have their own subdirectory in ./third_party.