** Description changed:

- Right off the top, here's the smoking gun:
- http://kerneltrap.org/mailarchive/linux-kernel/2010/7/20/4596144 "[inode
- not file system] Shrinker fixes for XFS"
+ The calculations that set vm.min_free_kbytes are too parsimonious.  This
+ leads to log messages that start with the text:
  
- Back story: kernel 2.6.32.12 does not have xfs_reclaim_inode_shrink() but 
2.6.32.13 and subsequent kernels do, see:
- http://lxr.linux.no/#linux+v2.6.32.12/fs/xfs/linux-2.6/xfs_sync.c
- http://lxr.linux.no/#linux+v2.6.32.13/fs/xfs/linux-2.6/xfs_sync.c#L796
+ fooprog: page allocation failure. order:0, mode:0x4020
  
- Also see how different xfs_reclaim_inode_shrink() is in newer kernels:
- http://lxr.linux.no/#linux+v2.6.36.3/fs/xfs/linux-2.6/xfs_sync.c#L884
- http://lxr.linux.no/#linux+v2.6.37/fs/xfs/linux-2.6/xfs_sync.c#L951
+ and go on for scores of lines.
  
- Lucid came with 2.6.32.12.27 (possibly older versions too) so this is a
- regression inserted into the LTS.
+ By doubling the value set in vm.min_free_kbytes I was able to squelch
+ those messages.
  
- So what goes wrong?
- 
- I am seeing a program call read(2) of a regular file on an XFS file
- system. The kernel stack trace shows that eventually
- __alloc_pages_slowpath() is called then an e1000e IRQ happens which also
- eventually calls __alloc_pages_slowpath() and then a log message
- "fooprog: page allocation failure. order:0, mode:0x4020" almost
- immediately happens.
- 
- http://stackoverflow.com/questions/4764544/is-alloc-pages-slowpath-
- reentrant-safe-or-not
- 
- Entire kernel stack trace showing this https://gist.github.com/790577 (with 
bpbkar as the apex process)
- Entire kernel stack trace showing this https://gist.github.com/790584 (with 
nfsd as the apex process)
- 
- Yes, I know enough to test on newer kernels especially since the LKML
- http://kerneltrap.org/mailarchive/linux-kernel/2010/7/20/4596144 post
- admitted to providing patches but it will take some time to set up a
- testing lab.
- 
- ProblemType: Bug
- DistroRelease: Ubuntu 10.04
- Package: linux-image-2.6.32-27-generic-pae 2.6.32-27.49
- Regression: Yes
- Reproducible: Yes
- ProcVersionSignature: Ubuntu 2.6.32-26.48-generic-pae 2.6.32.24+drm33.11
- Uname: Linux 2.6.32-26-generic-pae i686
- NonfreeKernelModules: nvidia
- AlsaVersion: Advanced Linux Sound Architecture Driver Version 1.0.21.
- Architecture: i386
- AudioDevicesInUse:
-  USER        PID ACCESS COMMAND
-  /dev/snd/controlC0:  kstailey   2271 F.... pulseaudio
- CRDA: Error: [Errno 2] No such file or directory
- Card0.Amixer.info:
-  Card hw:0 'Intel'/'HDA Intel at 0xfcff8000 irq 22'
-    Mixer name : 'Realtek ALC1200'
-    Components : 'HDA:10ec0888,10438357,00100101'
-    Controls      : 36
-    Simple ctrls  : 21
- Card1.Amixer.info:
-  Card hw:1 'NVidia'/'HDA NVidia at 0xfe8fc000 irq 16'
-    Mixer name : 'Nvidia ID b'
-    Components : 'HDA:10de000b,10de0101,00100100'
-    Controls      : 0
-    Simple ctrls  : 0
- Card1.Amixer.values:
- 
- Date: Fri Jan 21 18:32:05 2011
- HibernationDevice: RESUME=UUID=d2c6ea4a-78ef-4792-8a53-ad5a1e30feb4
- MachineType: System manufacturer System Product Name
- ProcCmdLine: BOOT_IMAGE=/boot/vmlinuz-2.6.32-26-generic-pae 
root=UUID=d70f74ea-d936-480e-baca-4803cf11fa07 ro quiet splash
- ProcEnviron:
-  PATH=(custom, user)
-  LANG=en_US.UTF-8
-  SHELL=/bin/bash
- RelatedPackageVersions: linux-firmware 1.34.1
- RfKill:
- 
- SourcePackage: linux
- dmi.bios.date: 06/11/2010
- dmi.bios.vendor: American Megatrends Inc.
- dmi.bios.version: 1102
- dmi.board.asset.tag: To Be Filled By O.E.M.
- dmi.board.name: P5Q3
- dmi.board.vendor: ASUSTeK Computer INC.
- dmi.board.version: Rev 1.xx
- dmi.chassis.asset.tag: Asset-1234567890
- dmi.chassis.type: 3
- dmi.chassis.vendor: Chassis Manufacture
- dmi.chassis.version: Chassis Version
- dmi.modalias: 
dmi:bvnAmericanMegatrendsInc.:bvr1102:bd06/11/2010:svnSystemmanufacturer:pnSystemProductName:pvrSystemVersion:rvnASUSTeKComputerINC.:rnP5Q3:rvrRev1.xx:cvnChassisManufacture:ct3:cvrChassisVersion:
- dmi.product.name: System Product Name
- dmi.product.version: System Version
- dmi.sys.vendor: System manufacturer
+ See https://gist.github.com/790577 https://gist.github.com/792128
+ https://gist.github.com/790584 for log messages

** Description changed:

  The calculations that set vm.min_free_kbytes are too parsimonious.  This
  leads to log messages that start with the text:
  
  fooprog: page allocation failure. order:0, mode:0x4020
  
- and go on for scores of lines.
+ and go on for dozens of lines.
  
  By doubling the value set in vm.min_free_kbytes I was able to squelch
  those messages.
  
  See https://gist.github.com/790577 https://gist.github.com/792128
  https://gist.github.com/790584 for log messages

-- 
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/706136

Title:
  e1001e driver requires more memory than the default

-- 
ubuntu-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to