Search Linux Wireless

Re: [PATCH v2] wifi: wilc1000: Added back-off algorithm to balance tx queue packets.

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



<Prasurjya.Rohansaikia@xxxxxxxxxxxxx> writes:

> From: Prasurjya Rohan Saikia <prasurjya.rohansaikia@xxxxxxxxxxxxx>
>
> Added an algorithm to backoff the Tx Task when low memory scenario is
> triggered at firmware. During high data transfer from host, the firmware
> runs out of VMM memory, which is used to hold the frames from the host.
> So added flow control to delay the transmit from host side when there is
> not enough space to accomodate frames in firmware side.
>
> Signed-off-by: Prasurjya Rohan Saikia <prasurjya.rohansaikia@xxxxxxxxxxxxx>

[...]

> -		} while (ret == WILC_VMM_ENTRY_FULL_RETRY && !wl->close);
> +			if (ret != WILC_VMM_ENTRY_FULL_RETRY)
> +				break;
> +			/* Back off from sending packets for some time.
> +			 * schedule_timeout will allow RX task to run and free
> +			 * buffers. Setting state to TASK_INTERRUPTIBLE will
> +			 * put the thread back to CPU running queue when it's
> +			 * signaled even if 'timeout' isn't elapsed. This gives
> +			 * faster chance for reserved SK buffers to be freed
> +			 */
> +			set_current_state(TASK_INTERRUPTIBLE);
> +			schedule_timeout(msecs_to_jiffies
> +					 (TX_BACKOFF_WEIGHT_MS));
> +		} while (!wl->close);

Why not msleep_interruptible()?

Also an ack from Ajay would be good.

-- 
https://patchwork.kernel.org/project/linux-wireless/list/

https://wireless.wiki.kernel.org/en/developers/documentation/submittingpatches



[Index of Archives]     [Linux Host AP]     [ATH6KL]     [Linux Wireless Personal Area Network]     [Linux Bluetooth]     [Wireless Regulations]     [Linux Netdev]     [Kernel Newbies]     [Linux Kernel]     [IDE]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite Hiking]     [MIPS Linux]     [ARM Linux]     [Linux RAID]

  Powered by Linux