1
我在struct thread_info
中添加了一個變量來計算某個事件。 這是在來賓操作系統中完成的。
在執行虛擬機的過程中,我每隔一段時間就從我的HOST讀取這些變量。
我曾經觀察過,有時我會得到預期的值,但有時候我會讀取垃圾值。我認爲海灣合作委員會正在優化我的變量,並且我正在閱讀的內存處於垃圾狀態。
我想知道可能的預防方法。
turnig關內核的GCC優化是沒有問題的,因爲我的目標是根據我計算的事件來加速虛擬機。
#pragma optimize("",off)
使效率降低,因爲那樣我就不得不將事件計數代碼(只有2行)分解爲一個函數。我計算的這個事件經常發生。
是否有我可以使用的#pragma技術?
將使我的變量易變的幫助原因?gcc是否優化了內核代碼?
感謝
我正在使用KVM ...虛擬機管理程序中有一些功能,它給出訪客機器地址讀取存儲在該虛擬機中的內容。競爭條件不是問題,因爲每個線程都可獨佔訪問自己的內核堆棧而無需鎖定.... – Deepthought