在2.6.27有宏DEFINE_PER_CPU(類型,變量)來定義每個CPU變量。每-CPU變量定義2.6.27
我可以使用這個宏在全局範圍內定義一個變量。但是,如果它是一個可變的結構裏面我編譯時看到錯誤..
爲前:
struct port_stats {
... ....
DEFINE_PER_CPU(long *, stats);
}
我看到的是錯誤..
* 錯誤:部分屬性不允許「per_cpu__stats」 *
相同的定義是確定的,如果其以外的結構。不知道這個錯誤的含義。有什麼建議麼 ?
你不能把'內由於各種原因結構DEFINE_PER_CPU',最明顯的是,它是宏擴展到與聲明的屬性和不能把屬性爲結構的成員。 你可以嘗試類似 ' struct port_stats { ...... . }; DEFINE_PER_CPU(結構port_stats,PSTAT);' – Sundar
@Sundar在以後的版本支持__percpu屬性其可以指定屬性percpu只用於結構的一些成員。看起來它不適用於舊內核中基於宏的定義? – Manohar