Skip to contentSkip to conversation

"TX WTHRESH must be set to 0 if tx_rs_thresh is greater than 1"

DISCUSSION Matthew Hall 3 participants 5 messages Oct 18, 2014 – Oct 20, 2014 3 messages not in the archive

lore
Share & tools
lore
#0 lore raw

Hello,

I'm just trying to understand what you're supposed to do about this error to get the optiomal configuration / performance. The error message and comments seem like they're designed for Intel ethernet driver hackers not security hackers like myself! ;-)

Note: I'm trying out the Intel 82545EM in VirtualBox because the virtio-net approach didn't work, for reasons I enumerated in some previous mails.

    /*
     * If rs_bit_thresh is greater than 1, then TX WTHRESH should be
     * set to 0. If WTHRESH is greater than zero, the RS bit is ignored
     * by the NIC and all descriptors are written back after the NIC
     * accumulates WTHRESH descriptors.
     */
    if (tx_conf->tx_thresh.wthresh != 0 && tx_rs_thresh != 1) {
        RTE_LOG(ERR, PMD, "TX WTHRESH must be set to 0 if "
            "tx_rs_thresh is greater than 1. (tx_rs_thresh=%u "
            "port=%d queue=%d)\n", (unsigned int)tx_rs_thresh,
                (int)dev->data->port_id, (int)queue_idx);
        return -(EINVAL);
    }

Thanks,
Matthew.

#2 lore raw
In reply to a message not in the archive

Which DPDK version are you using

marc

Quoted 26 lines · Matthew Hall

Hello,

I'm just trying to understand what you're supposed to do about this error to get the optiomal configuration / performance. The error message and comments seem like they're designed for Intel ethernet driver hackers not security hackers like myself! ;-)

Note: I'm trying out the Intel 82545EM in VirtualBox because the virtio-net approach didn't work, for reasons I enumerated in some previous mails.

     /*
      * If rs_bit_thresh is greater than 1, then TX WTHRESH should be
      * set to 0. If WTHRESH is greater than zero, the RS bit is ignored
      * by the NIC and all descriptors are written back after the NIC
      * accumulates WTHRESH descriptors.
      */
     if (tx_conf->tx_thresh.wthresh != 0 && tx_rs_thresh != 1) {
         RTE_LOG(ERR, PMD, "TX WTHRESH must be set to 0 if "
             "tx_rs_thresh is greater than 1. (tx_rs_thresh=%u "
             "port=%d queue=%d)\n", (unsigned int)tx_rs_thresh,
                 (int)dev->data->port_id, (int)queue_idx);
         return -(EINVAL);
     }

Thanks,
Matthew.

#4 lore raw
In reply to a message not in the archive

1.7.1 with a few minor clang compatibility patches in the example apps

Signature · 1 line
Sent from my mobile device.
Quoted 37 lines · Marc Sune

Which DPDK version are you using

marc

Quoted 3 lines · Matthew Hall

Hello,

I'm just trying to understand what you're supposed to do about this

error to

Quoted 1 line

get the optiomal configuration / performance. The error message and

comments

Quoted 1 line

seem like they're designed for Intel ethernet driver hackers not

security

Quoted 3 lines

hackers like myself! ;-)

Note: I'm trying out the Intel 82545EM in VirtualBox because the

virtio-net

Quoted 1 line

approach didn't work, for reasons I enumerated in some previous

mails.

Quoted 4 lines

/*
* If rs_bit_thresh is greater than 1, then TX WTHRESH should be
* set to 0. If WTHRESH is greater than zero, the RS bit is

ignored

Quoted 13 lines
      * by the NIC and all descriptors are written back after the NIC
      * accumulates WTHRESH descriptors.
      */
     if (tx_conf->tx_thresh.wthresh != 0 && tx_rs_thresh != 1) {
         RTE_LOG(ERR, PMD, "TX WTHRESH must be set to 0 if "
             "tx_rs_thresh is greater than 1. (tx_rs_thresh=%u "
             "port=%d queue=%d)\n", (unsigned int)tx_rs_thresh,
                 (int)dev->data->port_id, (int)queue_idx);
         return -(EINVAL);
     }

Thanks,
Matthew.

#6 lore raw
In reply to a message not in the archive
Quoted 1 line · Matthew Hall

1.7.1 with a few minor clang compatibility patches in the example apps

Rather than trying to tune the results yourself, maybe you could look to merge in the following patch set also, to offload responsibility for the driver settings to the driver itself.

http://thread.gmane.org/gmane.comp.networking.dpdk.devel/6189

/Bruce

Quoted 42 lines
Signature · 1 line
Sent from my mobile device.
Quoted 37 lines · Marc Sune

Which DPDK version are you using

marc

Quoted 3 lines · Matthew Hall

Hello,

I'm just trying to understand what you're supposed to do about this

error to

Quoted 1 line

get the optiomal configuration / performance. The error message and

comments

Quoted 1 line

seem like they're designed for Intel ethernet driver hackers not

security

Quoted 3 lines

hackers like myself! ;-)

Note: I'm trying out the Intel 82545EM in VirtualBox because the

virtio-net

Quoted 1 line

approach didn't work, for reasons I enumerated in some previous

mails.

Quoted 4 lines

/*
* If rs_bit_thresh is greater than 1, then TX WTHRESH should be
* set to 0. If WTHRESH is greater than zero, the RS bit is

ignored

Quoted 13 lines
      * by the NIC and all descriptors are written back after the NIC
      * accumulates WTHRESH descriptors.
      */
     if (tx_conf->tx_thresh.wthresh != 0 && tx_rs_thresh != 1) {
         RTE_LOG(ERR, PMD, "TX WTHRESH must be set to 0 if "
             "tx_rs_thresh is greater than 1. (tx_rs_thresh=%u "
             "port=%d queue=%d)\n", (unsigned int)tx_rs_thresh,
                 (int)dev->data->port_id, (int)queue_idx);
         return -(EINVAL);
     }

Thanks,
Matthew.

#7 lore raw
Quoted 10 lines · Bruce Richardson
Quoted 1 line · Matthew Hall

1.7.1 with a few minor clang compatibility patches in the example apps

Rather than trying to tune the results yourself, maybe you could look to merge in the following patch set also, to offload responsibility for the driver settings to the driver itself.

http://thread.gmane.org/gmane.comp.networking.dpdk.devel/6189

/Bruce

Sounds good... I'll try it out and see if I can cherry-pick it onto my codebase.

Matthew.