#12694 NORM Future : page allocation failure, mwifiex
Zarro Boogs per Child
bugtracker at laptop.org
Mon Nov 4 04:36:39 EST 2013
#12694: page allocation failure, mwifiex
------------------------------+---------------------------------------------
Reporter: Quozl | Owner:
Type: defect | Status: new
Priority: normal | Milestone: Future Release
Component: kernel | Version: Software Build 13.2.0-13
Resolution: | Keywords:
Next_action: design | Verified: 0
Deployment_affected: | Blockedby:
Blocking: |
------------------------------+---------------------------------------------
Comment(by Quozl):
The best reproducer for this problem is:
{{{
# deplete memory
sudo dd if=/dev/mmcblk0 of=/dev/null &
# watch free until memory is mostly consumed by buffers or cache
# begin file transfer
rsync -avp server:big-file .
# expect kernel messages within 15 to 30 seconds
}}}
A patch was developed to do ''the actions required to read the packets and
dismiss the interrupt ... even if memory cannot be allocated, losing the
data,''.
The patch is here: http://dev.laptop.org/~quozl/y/1VdGLj.txt
What this patch does:
* turn off receive aggregation, (see comment below),
* preallocate a buffer during driver startup,
* use the buffer during receive interrupt when memory cannot be
allocated,
* avoid passing the buffer to the network stack,
* recycle the buffer for further use.
What results were observed:
* the rsync over ssh did not stall, whereas previously it did,
* the consequent command timeout was not observed,
* the failure to allocate was logged in kernel messages, quite often,
* the lack of event or command response processing eventually resulted in
process hangs of new command invocations of ifconfig or tcpdump.
Receive aggregation if left on resulted in corruption of the socket
buffers, but this may have been my fault.
--
Ticket URL: <http://dev.laptop.org/ticket/12694#comment:6>
One Laptop Per Child <http://laptop.org/>
OLPC bug tracking system
More information about the Bugs
mailing list