PowerVM

 View Only

Concurrent update of AIX/VIOS FC driver attributes

By YADAGIRI RAJABOINA posted Tue January 16, 2024 08:33 AM

  

Introduction

This blog describes improvements in AIX/VIOS Fibre channel(FC) device driver stack to update ODM attributes - num_cmd_elems and io_dma concurrently while the device is in configured state. 

The attribute num_cmd_elems controls the maximum number of pending I/O requests in a FC adapter and io_dma controls the amount of I/O DMA region that the adapter driver requests while configuring the FC HBA.

What’s New

The FC adapter driver allocates resources based on the ODM default value of the corresponding attribute during configuration of the driver. Starting from VIOS 4.1.0.10 & AIX 7.3 TL0 SP0 these attributes can be changed concurrently for FC HBAs that has data rates equal to or more than 16Gb. 

Note: In case of VIOS the below mentioned commands need to be run after ‘oem_setup_env’ command.

How the values of these attributes can be changed in older VIOS/AIX releases

How attributes can be changed from releases VIOS 4.1.0.10, AIX 7.3 TL0 SP0 and beyond

# rmdev -Rl fcsX
# chdev -l fcsX -a num_cmd_elems=<n>

# cfgmgr -l fcsX



    
       # chdev -l fcsX -a num_cmd_elems=<n> -U

 

        
# rmdev -Rl fcsX
# chdev -l fcsX -a io_dma=<n>
# cfgmgr -l fcsX

   

# chdev -l fcsX -a io_dma=<n> -U

Monitoring the resource availability

For the heavy I/O workload, when the configured resources are not sufficient, the corresponding I/O request is held in pending queues of the drivers temporarily, till the resources are available. And to reflect the shortage of such resources, the driver updates some of the driver’s statistics. The user can see such statistics through fcstat command output fields No Command Resource Count and No DMA Resource Count as shown below.

$ fcstat fcs0

FIBRE CHANNEL STATISTICS REPORT: fcs0

. . . .

FC SCSI Adapter Driver Information

  No DMA Resource Count: 1314241

  No Adapter Elements Count: 0

  No Command Resource Count: 2335493

. . . .

$

Steps for concurrent update

 

When fcstat reports shortage for such resources the user can update these attributes concurrently as shown below.

Note: In case of VIOS the below mentioned commands need to be run after ‘oem_setup_env’ command.

# lsattr -El fcs0 | grep num_cmd_elems

num_cmd_elems 1024       Maximum number of COMMANDS to queue to the adapter True+

# lsattr -Rl fcs0 -a num_cmd_elems

200...2048 (+1)

# chdev -l fcs0 -a num_cmd_elems=2048 -U

fcs0 changed

# lsattr -El fcs0 | grep num_cmd_elems

num_cmd_elems 2048       Maximum number of COMMANDS to queue to the adapter True+

# lsattr -El fcs0 | grep io_dma

io_dma        512        IO_DMA                                             True+

# lsattr -Rl fcs0 -a io_dma

256...2048 (+16)

# chdev -l fcs0 -a io_dma=2048 -U

fcs0 changed

# lsattr -El fcs0 | grep io_dma

io_dma        2048       IO_DMA                                             True+

Contacting the PowerVM Team

Have questions for the PowerVM team or want to learn more?  Follow our discussion group on LinkedIn IBM PowerVM or IBM Community Discussions.

0 comments
95 views

Permalink