K 10 svn:author V 3 mjg K 8 svn:date V 27 2018-03-04T21:41:05.780169Z K 7 svn:log V 434 sx: don't do an atomic op in upgrade if it cananot succeed The code already pays the cost of reading the lock to obtain the waiters flag. Checking whether there is more than one reader is not a problem and avoids dirtying the line. This also fixes a small corner case: if waiters were to show up between reading the flag and upgrading the lock, the operation would fail even though it should not. No correctness change here though. END