linux/Documentation/translations/zh_CN/io_ordering.txt
<<
>>
Prefs
   1Chinese translated version of Documentation/driver-api/io_ordering.rst
   2
   3If you have any comment or update to the content, please contact the
   4original document maintainer directly.  However, if you have a problem
   5communicating in English you can also ask the Chinese maintainer for
   6help.  Contact the Chinese maintainer if this translation is outdated
   7or if there is a problem with the translation.
   8
   9Chinese maintainer: Lin Yongting <linyongting@gmail.com>
  10---------------------------------------------------------------------
  11Documentation/driver-api/io_ordering.rst \xE7\x9A\x84\xE4\xB8\xAD\xE6\x96\x87\xE7\xBF\xBB\xE8\xAF\x91
  12
  13\xE5\xA6\x82\xE6\x9E\x9C\xE6\x83\xB3\xE8\xAF\x84\xE8\xAE\xBA\xE6\x88\x96\xE6\x9B\xB4\xE6\x96\xB0\xE6\x9C\xAC\xE6\x96\x87\xE7\x9A\x84\xE5\x86\x85\xE5\xAE\xB9\xEF\xBC\x8C\xE8\xAF\xB7\xE7\x9B\xB4\xE6\x8E\xA5\xE8\x81\x94\xE7\xB3\xBB\xE5\x8E\x9F\xE6\x96\x87\xE6\xA1\xA3\xE7\x9A\x84\xE7\xBB\xB4\xE6\x8A\xA4\xE8\x80\x85\xE3\x80\x82\xE5\xA6\x82\xE6\x9E\x9C\xE4\xBD\xA0\xE4\xBD\xBF\xE7\x94\xA8\xE8\x8B\xB1\xE6\x96\x87
  14\xE4\xBA\xA4\xE6\xB5\x81\xE6\x9C\x89\xE5\x9B\xB0\xE9\x9A\xBE\xE7\x9A\x84\xE8\xAF\x9D\xEF\xBC\x8C\xE4\xB9\x9F\xE5\x8F\xAF\xE4\xBB\xA5\xE5\x90\x91\xE4\xB8\xAD\xE6\x96\x87\xE7\x89\x88\xE7\xBB\xB4\xE6\x8A\xA4\xE8\x80\x85\xE6\xB1\x82\xE5\x8A\xA9\xE3\x80\x82\xE5\xA6\x82\xE6\x9E\x9C\xE6\x9C\xAC\xE7\xBF\xBB\xE8\xAF\x91\xE6\x9B\xB4\xE6\x96\xB0\xE4\xB8\x8D\xE5\x8F\x8A\xE6\x97\xB6\xE6\x88\x96\xE8\x80\x85\xE7\xBF\xBB
  15\xE8\xAF\x91\xE5\xAD\x98\xE5\x9C\xA8\xE9\x97\xAE\xE9\xA2\x98\xEF\xBC\x8C\xE8\xAF\xB7\xE8\x81\x94\xE7\xB3\xBB\xE4\xB8\xAD\xE6\x96\x87\xE7\x89\x88\xE7\xBB\xB4\xE6\x8A\xA4\xE8\x80\x85\xE3\x80\x82
  16
  17\xE4\xB8\xAD\xE6\x96\x87\xE7\x89\x88\xE7\xBB\xB4\xE6\x8A\xA4\xE8\x80\x85\xEF\xBC\x9A \xE6\x9E\x97\xE6\xB0\xB8\xE5\x90\xAC Lin Yongting <linyongting@gmail.com>
  18\xE4\xB8\xAD\xE6\x96\x87\xE7\x89\x88\xE7\xBF\xBB\xE8\xAF\x91\xE8\x80\x85\xEF\xBC\x9A \xE6\x9E\x97\xE6\xB0\xB8\xE5\x90\xAC Lin Yongting <linyongting@gmail.com>
  19\xE4\xB8\xAD\xE6\x96\x87\xE7\x89\x88\xE6\xA0\xA1\xE8\xAF\x91\xE8\x80\x85\xEF\xBC\x9A \xE6\x9E\x97\xE6\xB0\xB8\xE5\x90\xAC Lin Yongting <linyongting@gmail.com>
  20
  21
  22\xE4\xBB\xA5\xE4\xB8\x8B\xE4\xB8\xBA\xE6\xAD\xA3\xE6\x96\x87
  23---------------------------------------------------------------------
  24
  25\xE5\x9C\xA8\xE6\x9F\x90\xE4\xBA\x9B\xE5\xB9\xB3\xE5\x8F\xB0\xE4\xB8\x8A\xEF\xBC\x8C\xE6\x89\x80\xE8\xB0\x93\xE7\x9A\x84\xE5\x86\x85\xE5\xAD\x98\xE6\x98\xA0\xE5\xB0\x84I/O\xE6\x98\xAF\xE5\xBC\xB1\xE9\xA1\xBA\xE5\xBA\x8F\xE3\x80\x82\xE5\x9C\xA8\xE8\xBF\x99\xE4\xBA\x9B\xE5\xB9\xB3\xE5\x8F\xB0\xE4\xB8\x8A\xEF\xBC\x8C\xE9\xA9\xB1\xE5\x8A\xA8\xE5\xBC\x80\xE5\x8F\x91\xE8\x80\x85\xE6\x9C\x89\xE8\xB4\xA3\xE4\xBB\xBB
  26\xE4\xBF\x9D\xE8\xAF\x81I/O\xE5\x86\x85\xE5\xAD\x98\xE6\x98\xA0\xE5\xB0\x84\xE5\x9C\xB0\xE5\x9D\x80\xE7\x9A\x84\xE5\x86\x99\xE6\x93\x8D\xE4\xBD\x9C\xE6\x8C\x89\xE7\xA8\x8B\xE5\xBA\x8F\xE5\x9B\xBE\xE6\x84\x8F\xE7\x9A\x84\xE9\xA1\xBA\xE5\xBA\x8F\xE8\xBE\xBE\xE5\x88\xB0\xE8\xAE\xBE\xE5\xA4\x87\xE3\x80\x82\xE9\x80\x9A\xE5\xB8\xB8\xE8\xAF\xBB\xE5\x8F\x96\xE4\xB8\x80\xE4\xB8\xAA\xE2\x80\x9C\xE5\xAE\x89\xE5\x85\xA8\xE2\x80\x9D
  27\xE8\xAE\xBE\xE5\xA4\x87\xE5\xAF\x84\xE5\xAD\x98\xE5\x99\xA8\xE6\x88\x96\xE6\xA1\xA5\xE5\xAF\x84\xE5\xAD\x98\xE5\x99\xA8\xEF\xBC\x8C\xE8\xA7\xA6\xE5\x8F\x91IO\xE8\x8A\xAF\xE7\x89\x87\xE6\xB8\x85\xE5\x88\xB7\xE6\x9C\xAA\xE5\xA4\x84\xE7\x90\x86\xE7\x9A\x84\xE5\x86\x99\xE6\x93\x8D\xE4\xBD\x9C\xE5\x88\xB0\xE8\xBE\xBE\xE8\xAE\xBE\xE5\xA4\x87\xE5\x90\x8E\xE6\x89\x8D\xE5\xA4\x84\xE7\x90\x86\xE8\xAF\xBB\xE6\x93\x8D\xE4\xBD\x9C\xEF\xBC\x8C
  28\xE8\x80\x8C\xE8\xBE\xBE\xE5\x88\xB0\xE4\xBF\x9D\xE8\xAF\x81\xE7\x9B\xAE\xE7\x9A\x84\xE3\x80\x82\xE9\xA9\xB1\xE5\x8A\xA8\xE7\xA8\x8B\xE5\xBA\x8F\xE9\x80\x9A\xE5\xB8\xB8\xE5\x9C\xA8spinlock\xE4\xBF\x9D\xE6\x8A\xA4\xE7\x9A\x84\xE4\xB8\xB4\xE7\x95\x8C\xE5\x8C\xBA\xE9\x80\x80\xE5\x87\xBA\xE4\xB9\x8B\xE5\x89\x8D\xE4\xBD\xBF\xE7\x94\xA8\xE8\xBF\x99\xE7\xA7\x8D\xE6\x8A\x80\xE6\x9C\xAF\xE3\x80\x82
  29\xE8\xBF\x99\xE4\xB9\x9F\xE5\x8F\xAF\xE4\xBB\xA5\xE4\xBF\x9D\xE8\xAF\x81\xE5\x90\x8E\xE9\x9D\xA2\xE7\x9A\x84\xE5\x86\x99\xE6\x93\x8D\xE4\xBD\x9C\xE5\x8F\xAA\xE5\x9C\xA8\xE5\x89\x8D\xE9\x9D\xA2\xE7\x9A\x84\xE5\x86\x99\xE6\x93\x8D\xE4\xBD\x9C\xE4\xB9\x8B\xE5\x90\x8E\xE5\x88\xB0\xE8\xBE\xBE\xE8\xAE\xBE\xE5\xA4\x87\xEF\xBC\x88\xE8\xBF\x99\xE9\x9D\x9E\xE5\xB8\xB8\xE7\xB1\xBB\xE4\xBC\xBC\xE4\xBA\x8E\xE5\x86\x85\xE5\xAD\x98
  30\xE5\xB1\x8F\xE9\x9A\x9C\xE6\x93\x8D\xE4\xBD\x9C\xEF\xBC\x8Cmb()\xEF\xBC\x8C\xE4\xB8\x8D\xE8\xBF\x87\xE4\xBB\x85\xE9\x80\x82\xE7\x94\xA8\xE4\xBA\x8EI/O\xEF\xBC\x89\xE3\x80\x82
  31
  32\xE5\x81\x87\xE8\xAE\xBE\xE4\xB8\x80\xE4\xB8\xAA\xE8\xAE\xBE\xE5\xA4\x87\xE9\xA9\xB1\xE5\x8A\xA8\xE7\xA8\x8B\xE7\x9A\x84\xE5\x85\xB7\xE4\xBD\x93\xE4\xBE\x8B\xE5\xAD\x90\xEF\xBC\x9A
  33
  34        ...
  35CPU A:  spin_lock_irqsave(&dev_lock, flags)
  36CPU A:  val = readl(my_status);
  37CPU A:  ...
  38CPU A:  writel(newval, ring_ptr);
  39CPU A:  spin_unlock_irqrestore(&dev_lock, flags)
  40        ...
  41CPU B:  spin_lock_irqsave(&dev_lock, flags)
  42CPU B:  val = readl(my_status);
  43CPU B:  ...
  44CPU B:  writel(newval2, ring_ptr);
  45CPU B:  spin_unlock_irqrestore(&dev_lock, flags)
  46        ...
  47
  48\xE4\xB8\x8A\xE8\xBF\xB0\xE4\xBE\x8B\xE5\xAD\x90\xE4\xB8\xAD\xEF\xBC\x8C\xE8\xAE\xBE\xE5\xA4\x87\xE5\x8F\xAF\xE8\x83\xBD\xE4\xBC\x9A\xE5\x85\x88\xE6\x8E\xA5\xE6\x94\xB6\xE5\x88\xB0newval2\xE7\x9A\x84\xE5\x80\xBC\xEF\xBC\x8C\xE7\x84\xB6\xE5\x90\x8E\xE6\x8E\xA5\xE6\x94\xB6\xE5\x88\xB0newval\xE7\x9A\x84\xE5\x80\xBC\xEF\xBC\x8C\xE9\x97\xAE\xE9\xA2\x98\xE5\xB0\xB1
  49\xE5\x8F\x91\xE7\x94\x9F\xE4\xBA\x86\xE3\x80\x82\xE4\xB8\x8D\xE8\xBF\x87\xE5\xBE\x88\xE5\xAE\xB9\xE6\x98\x93\xE9\x80\x9A\xE8\xBF\x87\xE4\xB8\x8B\xE9\x9D\xA2\xE6\x96\xB9\xE6\xB3\x95\xE6\x9D\xA5\xE4\xBF\xAE\xE5\xA4\x8D\xEF\xBC\x9A
  50
  51        ...
  52CPU A:  spin_lock_irqsave(&dev_lock, flags)
  53CPU A:  val = readl(my_status);
  54CPU A:  ...
  55CPU A:  writel(newval, ring_ptr);
  56CPU A:  (void)readl(safe_register); /* \xE9\x85\x8D\xE7\xBD\xAE\xE5\xAF\x84\xE5\xAD\x98\xE5\x99\xA8\xEF\xBC\x9F*/
  57CPU A:  spin_unlock_irqrestore(&dev_lock, flags)
  58        ...
  59CPU B:  spin_lock_irqsave(&dev_lock, flags)
  60CPU B:  val = readl(my_status);
  61CPU B:  ...
  62CPU B:  writel(newval2, ring_ptr);
  63CPU B:  (void)readl(safe_register); /* \xE9\x85\x8D\xE7\xBD\xAE\xE5\xAF\x84\xE5\xAD\x98\xE5\x99\xA8\xEF\xBC\x9F*/
  64CPU B:  spin_unlock_irqrestore(&dev_lock, flags)
  65
  66\xE5\x9C\xA8\xE8\xA7\xA3\xE5\x86\xB3\xE6\x96\xB9\xE6\xA1\x88\xE4\xB8\xAD\xEF\xBC\x8C\xE8\xAF\xBB\xE5\x8F\x96safe_register\xE5\xAF\x84\xE5\xAD\x98\xE5\x99\xA8\xEF\xBC\x8C\xE8\xA7\xA6\xE5\x8F\x91IO\xE8\x8A\xAF\xE7\x89\x87\xE6\xB8\x85\xE5\x88\xB7\xE6\x9C\xAA\xE5\xA4\x84\xE7\x90\x86\xE7\x9A\x84\xE5\x86\x99\xE6\x93\x8D\xE4\xBD\x9C\xEF\xBC\x8C
  67\xE5\x86\x8D\xE5\xA4\x84\xE7\x90\x86\xE5\x90\x8E\xE9\x9D\xA2\xE7\x9A\x84\xE8\xAF\xBB\xE6\x93\x8D\xE4\xBD\x9C\xEF\xBC\x8C\xE9\x98\xB2\xE6\xAD\xA2\xE5\xBC\x95\xE5\x8F\x91\xE6\x95\xB0\xE6\x8D\xAE\xE4\xB8\x8D\xE4\xB8\x80\xE8\x87\xB4\xE9\x97\xAE\xE9\xA2\x98\xE3\x80\x82
  68