]> git.proxmox.com Git - ceph.git/blobdiff - ceph/src/seastar/src/core/dpdk_rte.cc
import 15.2.0 Octopus source
[ceph.git] / ceph / src / seastar / src / core / dpdk_rte.cc
index 77171c1da74cf87bd494410738866ecf67508dec..c928d229bdf4a7cfc6a4cec6fd557982b39e49b7 100644 (file)
@@ -37,12 +37,19 @@ void eal::init(cpuset cpus, boost::program_options::variables_map opts)
     }
 
     std::stringstream mask;
-    mask << std::hex << cpus.to_ulong();
+    cpuset nibble = 0xF;
+    while (cpus.any()) {
+        mask << std::hex << (cpus & nibble).to_ulong();
+        cpus >>= 4;
+    }
+
+    std::string mask_str = mask.str();
+    std::reverse(mask_str.begin(), mask_str.end());
 
     // TODO: Inherit these from the app parameters - "opts"
     std::vector<std::vector<char>> args {
         string2vector(opts["argv0"].as<std::string>()),
-        string2vector("-c"), string2vector(mask.str()),
+        string2vector("-c"), string2vector(mask_str),
         string2vector("-n"), string2vector("1")
     };