Hi All,
New cpu is added during runtime. NDIS miniport calls flow for PNP state machine looks fine.
Before adding cpu:
- NDIS_RECEIVE_SCALE_CAPABILITIES updated with NumberOfReceiveQueues and NumberOfIndirectionTableEntries. Based on Active Cpus present. During NdisMSetMiniportAttributes.
- OID_GEN_RECEIVE_SCALE_PARAMETERS SetInformation recieved with Indirection table for mapping. Maping recived for available queues
After adding cpu
- NumberOfReceiveQueues updated to new queues based on newly added cpus during NdisMSetMiniportAttributes.
- OID_GEN_RECEIVE_SCALE_PARAMETERS Indirection table shows old data mapping.
NDIS is expecting any params for RSS indirection table for newly added cpu?
PNP Call Flow for miniport during hot plug cpu:
ReceiverDisable: 1: <====> (Indicated = 913 Returned = 913)
MiniportPause: MiniportPause
MiniportHaltEx: MiniportHaltEx
AdapterSetGeneralAttributes: 1: RSS ENABLED (5 QUEUES)
MiniportInitializeEx: MiniportInitializeEx
MiniportDevicePnPEventNotify: <===>
AdapterQueryInformation: UNSUPPORTED OID 00010300
AdapterGetReceiveScaleParameters: NdisGroupActiveProcessorCount:5
AdapterGetReceiveScaleParameters: KeQueryActiveProcessorCountEx:5
OID_GEN_RECEIVE_SCALE_PARAMETERS Recieved with Old Indirection Table.
Indirection Flag also set for updated mapping by NDIS
AdapterQueryInformation: UNSUPPORTED OID 00010300
DisplayLinkState: 1: LINK: UP: SPEED=100000000000 DUPLEX=FULL
ReceiverEnable: 1: <====>
MiniportRestart: MiniportRestart