Netgate Discussion Forum
    • Categories
    • Recent
    • Tags
    • Popular
    • Users
    • Search
    • Register
    • Login

    Multicore doesn't seem to be working?

    Scheduled Pinned Locked Moved General pfSense Questions
    6 Posts 4 Posters 1.5k Views
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • N
      Nsixtyfour
      last edited by

      I am using 2.2.2 nanobsd with a Celeron J1900, specifically a http://www.supermicro.com/products/motherboard/celeron/X10/X10SBA-L.cfm, and it doesn't seem to be using all the cores properly. I am only getting around 45MB/s over CIFS and top has a single core maxed and the interrupts doesn't look that bad. Here is the output during a transfer, the [kernel] jumps up to high 90's then over 20 seconds or so maxes out at the slightly above 100% as shown:

      last pid: 66260;  load averages:  2.41,  1.01,  0.46                                            up 0+00:06:58  20:43:31
      60 processes:  2 running, 57 sleeping, 1 waiting
      CPU 0:  0.0% user,  0.0% nice,  0.0% system, 18.3% interrupt, 81.7% idle
      CPU 1:  0.0% user,  0.0% nice,  1.1% system,  0.4% interrupt, 98.5% idle
      CPU 2:  0.0% user,  0.0% nice,  0.4% system,  1.5% interrupt, 98.1% idle
      CPU 3:  0.0% user,  0.0% nice, 99.6% system,  0.0% interrupt,  0.4% idle
      Mem: 63M Active, 33M Inact, 180M Wired, 1024K Cache, 66M Buf, 7498M Free
      Swap:
      
        PID USERNAME  THR PRI NICE   SIZE    RES STATE   C   TIME    WCPU COMMAND
         11 root        4 155 ki31     0K    64K RUN     3  25:01 282.03% [idle]
          0 root       22  -8    0     0K   352K -       1   1:44 100.78% [kernel]
         12 root       28 -72    -     0K   448K WAIT    3   0:43  17.82% [intr]
          5 root        1 -16    -     0K    16K -       1   0:02   0.00% [fdc0]
      20944 root        1  26    0   228M 42404K accept  1   0:00   0.00% php-fpm: pool lighty (php-fpm)
         16 root        4 -68    -     0K    64K -       1   0:00   0.00% [usb]
      30837 unbound     4  20    0 59572K 19228K kqread  1   0:00   0.00% /usr/local/sbin/unbound -c /var/unbound/unbound.con
      35072 root        1  20    0 21996K  3160K CPU1    1   0:00   0.00% top -aSP
         15 root        1 -16    -     0K    16K -       1   0:00   0.00% [rand_harvestq]
      72775 root        1  20    0 28176K 18060K select  1   0:00   0.00% /usr/local/sbin/ntpd -g -c /var/etc/ntpd.conf -p /v
         57 root        1  -8    -     0K    16K mdwait  0   0:00   0.00% [md1]
          6 root        1 -16    -     0K    16K pftm    1   0:00   0.00% [pf purge]
          4 root        2 -16    -     0K    32K -       0   0:00   0.00% [cam]
      21173 root        1  20    0 12464K  2176K select  2   0:00   0.00% /usr/local/sbin/apinger -c /var/etc/apinger.conf
      16793 root        1  20    0 16812K  2320K bpf     1   0:00   0.00% /usr/local/sbin/filterlog -i pflog0 -p /var/run/fil
          1 root        1  20    0  9472K   852K wait    1   0:00   0.00% [init]
      47353 root        1  52   20 17144K  2536K wait    3   0:00   0.00% /bin/sh /var/db/rrd/updaterrd.sh
      31990 root        1  20    0 55636K  6056K select  0   0:00   0.00% sshd: root@pts/0 (sshd)
      62506 root        1  20    0 14664K  2416K select  2   0:00   0.00% /usr/sbin/syslogd -s -c -c -l /var/dhcpd/var/run/lo
         14 root        3  -8    -     0K    48K -       0   0:00   0.00% [geom]
      36625 dhcpd       1  20    0 24820K 12516K select  1   0:00   0.00% /usr/local/sbin/dhcpd -user dhcpd -group _dhcp -chr
        283 root        1  20    0   224M 24208K kqread  1   0:00   0.00% php-fpm: master process (/usr/local/lib/php-fpm.con
      34471 root        1  20    0 17484K  3456K pause   3   0:00   0.00% /bin/tcsh
      25347 root        1  20    0 54896K  5528K kqread  1   0:00   0.00% /usr/local/sbin/lighttpd -f /var/etc/lighty-webConf
      69980 root        1  52    0 43576K  2700K wait    2   0:00   0.00% login [pam] (login)
      
      

      This is a pretty clean install, I have only added a few NATs. Currently I have TSO and LRO disabled and chucksum enabled. I have tried toggling them in various ways, but it doesn't help. I have increased nmbclusters to 1M, tried hw.igb.fc_setting=0 and net.inet.tcp.tso=0 and none help.

      1 Reply Last reply Reply Quote 0
      • N
        Nullity
        last edited by

        A bit of Googling says CIFS/SAMBA may not support threading. https://www.samba.org/samba/docs/man/Samba-Developers-Guide/architecture.html

        Are you sure CIFS can make use of SMP?

        Please correct any obvious misinformation in my posts.
        -Not a professional; an arrogant ignoramous.

        1 Reply Last reply Reply Quote 0
        • N
          Nsixtyfour
          last edited by

          I'm pretty sure CIFS isn't the issue, I was getting 110MBps over my 1Gb connection and now get 225MBps reads and 800MBps writes over my 10Gb connection.

          1 Reply Last reply Reply Quote 0
          • H
            Harvy66
            last edited by

            The firewall cannot use SMP to accelerate a single data flow, but does so to accelerate many flows. CIFS is probably only using a single flow which is why only one core is getting used.

            Why that single flow is running a single core is the bottleneck. I wonder what the heck "kernel" is that it's using 100% of a core. 17% interrupts is pretty high, but that may be normal for a 10watt CPU.

            1 Reply Last reply Reply Quote 0
            • D
              doktornotor Banned
              last edited by

              Please, stop using CIFS to test. You won't get meaningful results. For SMB to use multiple TCP connections, you need SMB 3.0 with multichannel on both sides, with Receive Side Scaling (RSS) enabled NIC.

              1 Reply Last reply Reply Quote 0
              • N
                Nsixtyfour
                last edited by

                Ah I see what you mean now, then everything seems fine except the interrupts being a bit higher than you think they should be. Thanks I will see if I can get them a bit lower.

                1 Reply Last reply Reply Quote 0
                • First post
                  Last post
                Copyright 2025 Rubicon Communications LLC (Netgate). All rights reserved.