[PATCH 008/196] Chinese: add translation of volatile-considered-harmful.txt
From: Greg Kroah-Hartman
Date: Fri Jan 25 2008 - 02:15:55 EST
From: Bryan Wu <bryan.wu@xxxxxxxxxx>
Signed-off-by: Bryan Wu <bryan.wu@xxxxxxxxxx>
Signed-off-by: Li Yang <leo@xxxxxxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxx>
---
.../zh_CN/volatile-considered-harmful.txt | 113 ++++++++++++++++++++
1 files changed, 113 insertions(+), 0 deletions(-)
create mode 100644 Documentation/zh_CN/volatile-considered-harmful.txt
diff --git a/Documentation/zh_CN/volatile-considered-harmful.txt b/Documentation/zh_CN/volatile-considered-harmful.txt
new file mode 100644
index 0000000..ba8149d
--- /dev/null
+++ b/Documentation/zh_CN/volatile-considered-harmful.txt
@@ -0,0 +1,113 @@
+Chinese translated version of Documentation/volatile-considered-harmful.txt
+
+If you have any comment or update to the content, please contact the
+original document maintainer directly. However, if you have a problem
+communicating in English you can also ask the Chinese maintainer for
+help. Contact the Chinese maintainer if this translation is outdated
+or if there is a problem with the translation.
+
+Maintainer: Jonathan Corbet <corbet@xxxxxxx>
+Chinese maintainer: Bryan Wu <bryan.wu@xxxxxxxxxx>
+---------------------------------------------------------------------
+Documentation/volatile-considered-harmful.txt ç??ä¸æ??ç¿»è¯?
+
+å¦?æ??æ?³è¯?论æ??æ?´æ?°æ?¬æ??ç??å??容ï¼?请ç?´æ?¥è??ç³»å??æ??æ¡£ç??ç»´æ?¤è??ã??å¦?æ??ä½ ä½¿ç?¨è?±æ??
+交æµ?æ??å?°é?¾ç??è¯?ï¼?ä¹?å?¯ä»¥å??ä¸æ??ç??ç»´æ?¤è??æ±?å?©ã??å¦?æ??æ?¬ç¿»è¯?æ?´æ?°ä¸?å??æ?¶æ??è??ç¿»
+è¯?å?å?¨é?®é¢?ï¼?请è??ç³»ä¸æ??ç??ç»´æ?¤è??ã??
+
+è?±æ??ç??ç»´æ?¤è??ï¼? Jonathan Corbet <corbet@xxxxxxx>
+ä¸æ??ç??ç»´æ?¤è??ï¼? ä¼?é¹? Bryan Wu <bryan.wu@xxxxxxxxxx>
+ä¸æ??ç??ç¿»è¯?è??ï¼? ä¼?é¹? Bryan Wu <bryan.wu@xxxxxxxxxx>
+ä¸æ??ç??æ ¡è¯?è??ï¼? å¼ æ±?è¾? Eugene Teo <eugeneteo@xxxxxxxxx>
+ æ?¨ç?? Dave Young <hidave.darkstar@xxxxxxxxx>
+以ä¸?为æ£æ??
+---------------------------------------------------------------------
+
+为ä»?ä¹?ä¸?åº?该使ç?¨â??volatileâ??ç±»å??
+------------------------------
+
+Cç¨?åº?å??é??常认为volatile表示æ??个å??é??å?¯ä»¥å?¨å½?å??æ?§è¡?ç??线ç¨?ä¹?å¤?被æ?¹å??ï¼?å? æ¤ï¼?å?¨å??æ ¸
+ä¸ç?¨å?°å?±äº«æ?°æ?®ç»?æ??æ?¶ï¼?常常ä¼?æ??Cç¨?åº?å??å??欢使ç?¨volatileè¿?ç±»å??é??ã??æ?¢å?¥è¯?说ï¼?ä»?们ç»?
+常ä¼?æ??volatileç±»å??ç??æ??æ??ç§?ç®?æ??ç??å??å?å??é??ï¼?å½?ç?¶å®?们ä¸?æ?¯ã??å?¨å??æ ¸ä¸ä½¿ç?¨volatileå?
+ä¹?æ?»æ?¯é??误ç??ï¼?æ?¬æ??æ¡£å°?解é??为ä»?ä¹?è¿?æ ·ã??
+
+ç??解volatileç??å?³é?®æ?¯ç?¥é??å®?ç??ç?®ç??æ?¯ç?¨æ?¥æ¶?é?¤ä¼?å??ï¼?å®?é??ä¸?å¾?å°?æ??人ç??æ£é??è¦?è¿?æ ·ç??åº?
+ç?¨ã??å?¨å??æ ¸ä¸ï¼?ç¨?åº?å??å¿?é¡»é?²æ¢æ??å¤?ç??并å??访é?®ç ´å??å?±äº«ç??æ?°æ?®ç»?æ??ï¼?è¿?å?¶å®?æ?¯ä¸?个å®?å?¨
+ä¸?å??ç??ä»»å?¡ã??ç?¨æ?¥é?²æ¢æ??å¤?并å??访é?®ç??ä¿?æ?¤æ?ªæ?½ï¼?å?¯ä»¥æ?´å? é«?æ??ç??é?¿å??大å¤?æ?°ä¼?å??ç?¸å?³ç??
+é?®é¢?ã??
+
+å??volatileä¸?æ ·ï¼?å??æ ¸æ??ä¾?äº?å¾?å¤?å??è¯æ?¥ä¿?è¯?并å??访é?®æ?¶ç??æ?°æ?®å®?å?¨ï¼?è?ªæ??é??, äº?æ?¥é??,å??
+å?å±?é??ç?ç?ï¼?ï¼?å??æ ·å?¯ä»¥é?²æ¢æ??å¤?ç??ä¼?å??ã??å¦?æ??å?¯ä»¥æ£ç¡®ä½¿ç?¨è¿?äº?å??æ ¸å??è¯ï¼?é?£ä¹?就没æ??
+å¿?è¦?å??使ç?¨volatileã??å¦?æ??ä»?ç?¶å¿?须使ç?¨volatileï¼?é?£ä¹?å? ä¹?å?¯ä»¥è?¯å®?å?¨ä»£ç ?ç??æ??å¤?æ??ä¸?
+个bugã??å?¨æ£ç¡®è®¾è®¡ç??å??æ ¸ä»£ç ?ä¸ï¼?volatileè?½å¸¦æ?¥ç??ä»?ä»?æ?¯ä½¿äº?æ??å??æ?¢ã??
+
+æ??è??ä¸?ä¸?è¿?段å?¸å??ç??å??æ ¸ä»£ç ?ï¼?
+
+ spin_lock(&the_lock);
+ do_something_on(&shared_data);
+ do_something_else_with(&shared_data);
+ spin_unlock(&the_lock);
+
+å¦?æ??æ??æ??ç??代ç ?é?½é?µå¾ªå? é??è§?å??ï¼?å½?æ??æ??the_lockç??æ?¶å??ï¼?ä¸?å?¯è?½æ??å¤?ç??æ?¹å??shared_dataç??
+å?¼ã??ä»»ä½?å?¯è?½è®¿é?®è¯¥æ?°æ?®ç??å?¶ä»?代ç ?é?½ä¼?å?¨è¿?个é??ä¸?ç?å¾?ã??è?ªæ??é??å??è¯è·?å??å?å±?é??ä¸?æ ·â??â?? å®?
+们æ?¾å¼?ç??ç?¨æ?¥ä¹¦å??æ??è¿?æ · â??â?? æ??å?³ç??æ?°æ?®è®¿é?®ä¸?ä¼?è·¨è¶?å®?们è??被ä¼?å??ã??æ??以æ?¬æ?¥ç¼?è¯?å?¨è®¤ä¸º
+å®?ç?¥é??å?¨shared_dataé??é?¢å°?æ??ä»?ä¹?ï¼?ä½?æ?¯å? 为spin_lock()è°?ç?¨è·?å??å?å±?é??ä¸?æ ·ï¼?ä¼?强å?¶ç¼?
+è¯?å?¨å¿?è®°å®?æ??ç?¥é??ç??ä¸?å??ã??é?£ä¹?å?¨è®¿é?®è¿?äº?æ?°æ?®æ?¶ä¸?ä¼?æ??ä¼?å??ç??é?®é¢?ã??
+
+å¦?æ??shared_data被声å??为volatileï¼?é??æ??ä½?å°?ä»?ç?¶æ?¯å¿?é¡»ç??ã??å°±ç®?æ??们ç?¥é??没æ??å?¶ä»?人æ£å?¨
+使ç?¨å®?ï¼?ç¼?è¯?å?¨ä¹?å°?被é?»æ¢ä¼?å??对临ç??å?ºå??shared_dataç??访é?®ã??å?¨é??æ??æ??ç??å??æ?¶ï¼?
+shared_dataä¸?æ?¯volatileç??ã??å?¨å¤?ç??å?±äº«æ?°æ?®ç??æ?¶å??ï¼?é??å½?ç??é??æ??ä½?å?¯ä»¥ä¸?å??é??è¦?
+volatile â??â?? 并ä¸?æ?¯æ??æ½?å?¨å?±å®³ç??ã??
+
+volatileç??å?å?¨ç±»å??æ??å??æ?¯ä¸ºé?£äº?å??å?æ? å°?ç??I/Oå¯?å?å?¨è??å®?ä¹?ã??å?¨å??æ ¸é??ï¼?å¯?å?å?¨è®¿é?®ä¹?åº?
+该被é??ä¿?æ?¤ï¼?ä½?æ?¯äººä»¬ä¹?ä¸?å¸?æ??ç¼?è¯?å?¨â??ä¼?å??â??临ç??å?ºå??ç??å¯?å?å?¨è®¿é?®ã??å??æ ¸é??I/Oç??å??å?访é?®
+æ?¯é??è¿?访é?®å?½æ?°å®?æ??ç??ï¼?ä¸?èµ?æ??é??è¿?æ??é??对I/Oå??å?ç??ç?´æ?¥è®¿é?®ï¼?并ä¸?ä¸?æ?¯å?¨æ??æ??ä½?ç³»æ?¶æ??ä¸?
+é?½è?½å·¥ä½?ã??é?£äº?访é?®å?½æ?°æ£æ?¯ä¸ºäº?é?²æ¢æ??å¤?ä¼?å??è??å??ç??ï¼?å? æ¤ï¼?å??说ä¸?次ï¼?volatileç±»å??ä¸?
+æ?¯å¿?é??ç??ã??
+
+å?¦ä¸?ç§?å¼?èµ·ç?¨æ?·å?¯è?½ä½¿ç?¨volatileç??æ??å?µæ?¯å½?å¤?ç??å?¨æ£å¿?ç??ç?å¾?ä¸?个å??é??ç??å?¼ã??æ£ç¡®æ?§è¡?ä¸?
+个å¿?ç?å¾?ç??æ?¹æ³?æ?¯ï¼?
+
+ while (my_variable != what_i_want)
+ cpu_relax();
+
+cpu_relax()è°?ç?¨ä¼?é??ä½?CPUç??è?½é??æ¶?è??æ??è??让ä½?äº?è¶?线ç¨?å??å¤?ç??å?¨ï¼?å®?ä¹?ä½?为å??å?å±?é??ä¸?æ ·å?º
+ç?°ï¼?æ??以ï¼?å??ä¸?次ï¼?volatileä¸?æ?¯å¿?é??ç??ã??å½?ç?¶ï¼?å¿?ç?å¾?ä¸?å¼?å§?å°±æ?¯ä¸?ç§?å??常è§?ç??å??æ³?ã??
+
+å?¨å??æ ¸ä¸ï¼?ä¸?äº?ç¨?å°?ç??æ??å?µä¸?volatileä»?ç?¶æ?¯æ??æ??ä¹?ç??ï¼?
+
+ - å?¨ä¸?äº?ä½?ç³»æ?¶æ??ç??ç³»ç»?ä¸?ï¼?å??许ç?´æ?¥ç??I/0å??å?访é?®ï¼?é?£ä¹?å??é?¢æ??å?°ç??访é?®å?½æ?°å?¯ä»¥ä½¿ç?¨
+ volatileã??å?ºæ?¬ä¸?ï¼?æ¯?ä¸?个访é?®å?½æ?°è°?ç?¨å®?è?ªå·±é?½æ?¯ä¸?个å°?ç??临ç??å?ºå??并ä¸?ä¿?è¯?äº?æ??ç?§
+ ç¨?åº?å??æ??æ??ç??é?£æ ·å??ç??访é?®æ??ä½?ã??
+
+ - æ??äº?ä¼?æ?¹å??å??å?ç??å??è??æ±?ç¼?代ç ?è?½ç?¶æ²¡æ??ä»?ä¹?å?¶ä»?æ??æ?¾ç??é??ä½?ç?¨ï¼?ä½?æ?¯æ??被GCCå? é?¤ç??å?¯
+ è?½æ?§ã??å?¨æ±?ç¼?声æ??ä¸å? ä¸?volatileå?³é?®å?å?¯ä»¥é?²æ¢è¿?ç§?å? é?¤æ??ä½?ã??
+
+ - Jiffieså??é??æ?¯ä¸?ç§?ç?¹æ®?æ??å?µï¼?è?½ç?¶æ¯?次å¼?ç?¨å®?ç??æ?¶å??é?½å?¯ä»¥æ??ä¸?å??ç??å?¼ï¼?ä½?读jiffies
+ å??é??æ?¶ä¸?é??è¦?ä»»ä½?ç?¹æ®?ç??å? é??ä¿?æ?¤ã??æ??以jiffieså??é??å?¯ä»¥ä½¿ç?¨volatileï¼?ä½?æ?¯ä¸?èµ?æ??
+ å?¶ä»?è·?jiffiesç?¸å??ç±»å??å??é??使ç?¨volatileã??Jiffies被认为æ?¯ä¸?ç§?â??æ??è ¢ç??é??ç??ç?©"
+ ï¼?Linusç??è¯?ï¼?å? 为解å?³è¿?个é?®é¢?æ¯?ä¿?æ??ç?°ç?¶è¦?麻ç?¦ç??å¤?ã??
+
+ - ç?±äº?æ??äº?I/0设å¤?å?¯è?½ä¼?ä¿®æ?¹è¿?ç»ä¸?è?´ç??å??å?,æ??以æ??æ?¶,æ??å??è¿?ç»ä¸?è?´å??å?ç??æ?°æ?®ç»?æ??
+ ç??æ??é??é??è¦?æ£ç¡®ç??使ç?¨volatileã??ç½?ç»?é??é??å?¨ä½¿ç?¨ç??ç?¯ç?¶ç¼?å?å?ºæ£æ?¯è¿?ç±»æ??å½¢ç??ä¸?个ä¾?
+ å?ï¼?å?¶ä¸é??é??å?¨ç?¨æ?¹å??æ??é??æ?¥è¡¨ç¤ºå?ªäº?æ??述符已ç»?å¤?ç??è¿?äº?ã??
+
+对äº?大å¤?代ç ?ï¼?ä¸?è¿°å? ç§?å?¯ä»¥ä½¿ç?¨volatileç??æ??å?µé?½ä¸?é??ç?¨ã??æ??以ï¼?使ç?¨volatileæ?¯ä¸?ç§?
+bug并ä¸?é??è¦?对è¿?æ ·ç??代ç ?é¢?å¤?ä»?ç»?æ£?æ?¥ã??é?£äº?è¯?å?¾ä½¿ç?¨volatileç??å¼?å??人å??é??è¦?é??ä¸?æ¥æ?³æ?³
+ä»?们ç??æ£æ?³å®?ç?°ç??æ?¯ä»?ä¹?ã??
+
+é??常欢è¿?å? é?¤volatileå??é??ç??è¡¥ä¸? ï¼? å?ªè¦?è¯?æ??è¿?äº?è¡¥ä¸?å®?æ?´ç??è??è??äº?并å??é?®é¢?ã??
+
+注é??
+----
+
+[1] http://lwn.net/Articles/233481/
+[2] http://lwn.net/Articles/233482/
+
+è?´è°¢
+----
+
+æ??å??ç?±Randy Dunlapæ?¨å?¨å¹¶ä½?å??æ¥ç ?究
+ç?±Jonathan Corbetæ?°å??
+å??è??Satyam Sharmaï¼?Johannes Stezenbachï¼?Jesper Juhlï¼?Heikki Orsilaï¼?
+H. Peter Anvinï¼?Philipp Hahnå??Stefan Richterç??æ??è§?æ?¹å??äº?æ?¬æ¡£ã??
--
1.5.3.8
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/