rust-dpdk
rust-dpdk copied to clipboard
Jenkins가 QEMU 안으로 들어갔습니다. 혹시 문제가 있으면 말씀 주세요. (특히 PCI쪽)
Related: #36 현재 packet을 모두 해제하지 않고 eal이 해제되면 panic 발생. (최종 try_collect가 false를 리턴할것이므로) * `'eal` lifetime을 Packet 관련 모든 struct에 도입하거나 * collector thread 를 만들어서 gc 수행
- `std::thread::JoinHandle`를 써도 unsafe하게 transmute하면 crossbeam sig를 구현할 수 있습니다. - 여하간 이 discussion을 archive하고 지금 코드대로 갑시다. _Originally posted by @jeehoonkang in https://github.com/_render_node/MDE3OlB1bGxSZXF1ZXN0UmV2aWV3NDMwNjcyMjcy/pull_request_reviews/more_threads_
## 문제 mempool에서 할당된 packet들이 여기저기에서 쓰이는데 mempool을 해제하기 전에 모든 packet들이 mempool에 들어와야만 해제 가능. ## 1. Mempool 과 Eal 의 lifetime을 분리하고 garbage collection thread를 도입 garbage collection...
TODO 아래 패치를 메일링 리스트로 보내기 ``` diff --git a/lib/librte_ethdev/rte_ethdev.c b/lib/librte_ethdev/rte_ethdev.c index 774c721b3..712209637 100644 --- a/lib/librte_ethdev/rte_ethdev.c +++ b/lib/librte_ethdev/rte_ethdev.c @@ -593,6 +593,7 @@ rte_eth_find_next_owned_by(uint16_t port_id, const uint64_t owner_id) { port_id =...
그동안 RUSTFLAGS를 써서 큰 문제가 없었습니다만 http://mails.dpdk.org/archives/users/2017-June/002032.html 와 같은 이유로 네트워크 드라이버 뿐만 아니라 pool 드라이버도 골라야 하는 상태입니다. 이와 관련해서 저는 해결책으로 1. cargo 에 어떻게든 whole-archive 옵션 추가...
현재 `Result` 입니다. 다른 후보로서 모든 LCore 로 spread 할 function을 받고 실행까지 하는 API를 생각해보았습니다. (`setup(rx_affinity, tx_affinity, per_core_function) -> impl Future`)
좋은 crate 찾기 혹은 만들기.. 후보: https://github.com/DoumanAsh/error-code
- [x] Readme 개편 - [x] dpdk-sys, dpdk 구분 - [x] RUSTFLAGS 제거 - [ ] eal 추상화 - [ ] ..
mempool seems always thread-safe: https://doc.dpdk.org/guides/prog_guide/mempool_lib.html "The mempool library is based on the DPDK lockless ring library and therefore is also multi-thread safe." https://doc.dpdk.org/guides/prog_guide/thread_safety_dpdk_functions.html But I want to double-check (because of...