cost 120 ms
處理器內核和 SMP 內核之間有什么區別?

[英]What is the difference between processor cores and SMP cores?

在Distributed Systems: fun and profit一書中的圖 3.2 中提到: 對於不同規模的集群,使用高端服務器節點(128 核 SMP)構建的集群相對於使用低端服務器節點(4 核 SMP)構建的具有相同數量處理器核心的集群的性能優勢。 128核和四核怎么稱為“相同數量的 ...

為什么 Linux 在 NUMA 節點之間幾乎平均分配線程?

[英]Why Linux distributes threads among NUMA nodes almost equally?

我正在運行一個具有多個線程的應用程序,似乎 Linux 在 NUMA 節點之間分配線程幾乎相等。 假設我的應用程序產生 4 個線程,而我的機器有 4 個 sockets。 我觀察到每個線程都分配給一個 NUMA 節點,幾乎相等地在所有節點之間分配線程。 這有什么原因嗎? 為什么不在一個插槽上分配所 ...

解決現代類 Unix 操作系統中的數據競賽問題

[英]Data Race Problem Solving in Modern Unix-like Operating Systems

在流行的現代類 Unix 操作系統的內核中,對稱多處理器 (SMP) 系統如何支持多線程:Linux、FreeBSD 和 Solaris(這里的 Solaris 我指的是商業 Oracle Solaris 或免費的 Nexenta 和 Illumos 項目)? 當我們有一台單處理器多任務計算機和適用 ...

vmalloc_init() 函數中的for_each_possible_cpu 宏,代碼是否只在一個cpu 中運行? 還是在每個 CPU 中?

[英]for_each_possible_cpu macro in vmalloc_init() function, does the code run in only one cpu? or in every cpu?

這與編程無關,但我在這里問.. 在 linux start_kernel() 函數中,在 mm_init() 函數中,我看到 vmalloc_init() 函數。 在函數內部,我看到這樣的代碼。 void __init vmalloc_init(void) { struct vmap_are ...

關於 spin_lock_irqsave 的困惑:在什么嵌套情況下保持中斷狀態?

[英]Confusion around spin_lock_irqsave: in what nested situation is interrupt state kept?

有很多關於自旋鎖的問答,但它仍然讓我感到困惑。 我認為這是因為問題和答案假設了不同的設置,或者在他們詢問或回答時沒有清楚地解釋關於它是否是 SMP 或者它是否是搶占內核的設置(並且還混合了一些舊信息)。 我的第一個問題是:( Q1 )在 SMP 情況下, schedule()同時在每個處理器上運行 ...

seastar 如何在不同的 CPU 上調用代碼?

[英]How seastar invoke codes on different cpus?

我目前正在使用 seastart 框架,發現它聲稱 seastart 可以將任務提交到不同的 CPU。 Seastar 聲稱它在不同的核心之間不共享任何內容。 所以我認為seastar將不同的線程綁定到不同的CPU,並將不同的任務提交給不同的后台線程(稱為引擎、容器什么的)。 seas ...

我有一個看起來像 cpu 緩存一致性的問題,我不知道如何解決。 兩個cpu看到同一個內存的不同內容

[英]I have a cpu cache coherency-looking problem that I can't figure out how to fix. Two cpus see different contents of the same memory

我有一個非常奇怪的問題,我無法弄清楚,在我 30 多年的編程生涯中,我從未見過如此無法解釋的事情。 顯然我做錯了什么,但無法弄清楚是什么,我什至無法找到解決方法。 我編寫了一個實現塊設備的 linux 內核模塊。 它調用用戶空間通過 ioctl 為塊設備提供數據(就像在用戶空間程序中通過 ioct ...

UI 線程綁定 AtomicInteger

[英]UI Thread Bound AtomicInteger

我一直在閱讀有關 SMP 機器(x86/ARM)和編譯器重新排序以提高效率的信息。 現在我想創建一個計數器,並且該變量作為 ActivityLifecycleCallbacks 實現的私有成員存在。 對這個變量的操作是在來自 Android 的回調上執行的(它總是在 UI 線程上)。 現在因為“x ...

CPU1 上線失敗

[英]CPU1 failed to come online

有人可以解釋為什么我們在 SMP 環境中的 kernel 中收到以下消息嗎? CPU1 上線失敗源碼 kernel_msm-4.9/kernel/arch/arm/kernel/smp.c: ...

Linux 內核中的 nr_cpu_ids 與 NR_CPUS

[英]nr_cpu_ids vs NR_CPUS in Linux Kernel

我試圖了解 Linux 內核支持多少個處理器。 將為我提供內核支持的最大處理器數,我可以使用內核命令行參數 nr_cpus 覆蓋它。 要查找在線 cpus 的數量,我可以使用 num_online_cpus() 函數 那什么是nr_cpu_ids呢? NR_CPUs 和 ncr_cpu_ ...

有關SMP和U-boot的QEMU / vExpress問題

[英]QEMU/vExpress issue regarding SMP and U-boot

很長一段時間以來,使用多個CPU核心的QEMU / vExpress和U-boot仍然存在問題(vExpress指的是ARM Cortex-A15 CPU)。 在深入研究Qemu / U-boot代碼之前,有沒有人進一步調查過這個問題? (我已經准備好進一步研究vExpress的bootst ...

是否應該在異構多線程CPU上啟用SMP?

[英]Should I enable SMP on heterogeneous multi-threaded CPU's?

我正在為big.LITTLE板構建Linux內核,並且一直想知道CONFIG_SMP選項是否啟用了內核的對稱處理支持。 Linux的文檔說應該在多線程處理器上啟用它,但是我想知道對稱多處理是否不僅只能在實際上對稱的處理器上正常工作。 我知道SMP是什么,但是我還沒有找到任何提示或文檔,沒有關 ...

如何更改Erlang Makefile,使其啟用SMP模式?

[英]How can I change the Erlang makefile so that it enables the SMP mode?

我想開發一個需要SMP的應用程序。 但是在我正在使用的Erlang makefile中,這些選項是在非smp模式下設置的。 因此,當我啟動應用程序時,在Shell中收到一個錯誤,指示需要SMP仿真器,並且我應該從erl -smp開始。 如何更改Erlang Makefile,使其啟用SMP ...

如何在適當的位置重新排序數組以將偶數索引項放在奇數之前?

[英]How can I re-sort an array in-place to put the even indexed items before the odd?

我有一個排序數組,我想重新排序,以便先前甚至索引的項目在開頭,然后是奇數索引項目。 例如: [a, b, c, d, e, f] => [a, c, e, b, d, f] 。 我也將(另外)想要做相反的事情,首先使用奇數索引: 例如: [a, b, c, d, e, f ...

在linux內核模塊中尋找意外搶占的原因

[英]Looking for cause of unexpected preemption in linux kernel module

我有一個小的Linux內核模塊,它是設備驅動程序的原型,該設備驅動程序還不存在。 該代碼需要從頭到尾以最快的速度執行幾秒鍾的計算。 我正在嘗試使用ndelay()調用來模擬intel rdtscp指令來測量這是否可能。 我發現它有99.9%的時間按預期運行,但有0.1%的時間卻有很大的延遲 ...

是否有任何RTOS支持SMP調度?

[英]Does any RTOS support SMP scheduling?

我們有一個項目,其中SOC具有像ARM Cortex-R8這樣的多核。 因此,我們需要一個支持SMP調度的開源RTOS。 但是,似乎至少從官方發行版開始,RTOS都不支持SMP。 有人可以提出建議嗎? ...

為什么必須使用巨人鎖才能使用任何非睡鎖

[英]Why Giant Lock must be taken before any non-sleepable locks

我試圖理解第三點的原因 -最重要的是必須從下面的鏈接獲得條件: https://www.freebsd.org/cgi/man.cgi?locking(9) 巨人 Giant是一種特殊的互斥鎖,用於保護尚未擁有自己鎖的數據結構。 由於它提供類似於舊的spl(9)接口的語義,因 ...

在基於SMP的linux系統中訪問另一個cpu的“ current_task”指針

[英]Access “current_task” pointer of another cpu in a SMP based linux system

我正在編寫一些內核驅動程序,需要檢查哪個線程在特定內核的某個點上正在運行。 我的驅動程序在每個內核上運行一個內核線程,我需要不時同步一些線程以執行某些任務。 從調試日志中可以觀察到的是,有時一個線程等待太多其他線程。 我做了一些補丁,將__preempt_count存儲在其他內核上,以檢查 ...

進入保護模式:三重故障

[英]Entering Protected Mode: Triple-Fault

我正在向我的內核添加SMP,其中AP應該啟動。 它以實時模式啟動,並在進入保護模式時出現故障。 要清楚,它在JMP 0x8上出現故障:......加載CR0后。 我確信AP正在獲取其代碼,因為在它之間的任何地方循環可以防止出現故障。 將代碼區域APBoot-APBootSequenceE ...


 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM