在 powerpc 上使用 pthread_create 開 thread 的限制

我們生活周遭存在太多太多的 embedded system ,過去 embedded system 有專屬的 OS,現在 linux 也可以應用在嵌入式環境,不過本版將廣泛討論所有嵌入式系統不只 linux 喔,歡迎有這方面經驗或有興趣的朋友一同進來討論。

版主: chester

在 powerpc 上使用 pthread_create 開 thread 的限制

文章Franklin » 週一 10月 22, 2007 10:06 am

想請教各位一個問題

目前我們用 Freescale 8349 (powerpc) 的平台,搭配 2.6.13 的 kernel 寫程式,不過遇到了一個問題。當我們的執行緒 (thread) 開到 160 個 (含 main thread) 之後,再用 pthread_create 就會傳回 EAGAIN。不管先前開的 thread 有沒有離開 (用 pthread_exit) ,都是一樣的結果。

看了一些 manpage 與 google 之後,我們推測應該是因為 pthread_exit 並不會釋放一些資源。pthread_exit 之後用 pthread_join 可以解決這個問題,但是對我們實際上要解決的問題並沒有幫助,因為 subthread 要 join 必須 parent thread 在那邊等它結束,而我們之所以要開 subthread 就是因為不想等...

不知道有沒有人可以幫忙給我們一點提示,例如:
1. 要如何在 thread 離開之後釋放佔用的資源
2. 這個上限跟哪個系統的限制有關?我們正在實驗調整 NR_OPEN 的值,不知道還有沒有人可以給我們其它的建議?

謝謝!
頭像
Franklin
懵懂的國中生
懵懂的國中生
 
文章: 171
註冊時間: 週五 6月 16, 2006 1:13 pm

回到 embedded system

誰在線上

正在瀏覽這個版面的使用者:沒有註冊會員 和 1 位訪客