Since the oplog can never be dropped, there's no need to hold an IX lock on the oplog when writing into it.
Hold locks in fewer callers of waitForAllEarlierOplogWritesToBeVisible()
support non-doc-locking storage engines in SERVER-36534
Writing transaction oplog entries must not take locks while holding an oplog slot
Hold lock on oplog as soon as optime is reserved