From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Abu M. Muttalib" Subject: Page Allocation Failure, Why?? Bug in kernel?? Date: Thu, 1 Jun 2006 14:25:53 +0530 Message-ID: MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="----=_NextPart_000_0000_01C68587.4A037EA0" Sender: owner-linux-mm@kvack.org Return-Path: To: linux-mm@kvack.org List-ID: This is a multi-part message in MIME format. ------=_NextPart_000_0000_01C68587.4A037EA0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit Hi, I tried to run an application, try-sound.c. In the course of the run of the application I repeatedly got page allocation failure, despite the fact that enough pages are free. Why this is so, is it a bug in mm subsystem of Linux kernel 2.6.13? Any pointer to help understand this behavior will be highly appreciated. ~Abu. ------=_NextPart_000_0000_01C68587.4A037EA0 Content-Type: application/octet-stream; name="Page_Allocation_Failure.tar.bz2" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="Page_Allocation_Failure.tar.bz2" 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 uPu7sZZevt19OrLv4kXoRf8ur6uGv2SL4vdr6Ld7L46QvV6iLnwqKeVgi9OrSUlX39nRr5riU8Xd 4Smmv993Sm+/i19rcJ0WGVGLbKg+znUp9PfJKejfdmXLb6mfo8+BjfY/cZFVf88V936/Hath7oSP dpCRAkil+jP1S90P+nntt+0V+MRP92fn+4yP657R2kJHwkCEB4fh/syhIwz/g3K+6ViQkdYAAg/5 Kvjg++STURY283T4/N6r/r/08PP/fb9VljkRfqwi86LT91J60p9ZTtKclOSm5Utin41FhCaSLKRY RdCLZSK0VNgV65TmU2IMlNpTEpioPioppz7zXuz/rf1dfF88p5df1Pm9yp4fG96L7kLnkWpFzu1v vl29Gfwy7dff8mSL/Vusrbjvx7WL/ts+vq0beVFnC4XywtXsouTT6/Dh28q+zifHFF8vVyev9XD8 m/+FF7q+bzQuH4kLo9iLm+XjotnFo+u6u/ei817s7mx9e25NOPr0155QtFPZKYU8eN+7cppUHLX7 tj8XnvJfj0r1d/m9/u32XzbPC6PiF3dDkumstX5tP0XvskXYi8n3fPnvfzC8NmrmuPy/j/84/LZ/ 2atsLZeGPLhZ5rk1fN+R022er5pT7zu7imJTFTHWz/ywIZ0WElMSLEqLfjZn7M0Xl9fx82tFvRdH Pa/w31akX2Y3r4Cq6t2cL3Iu+U+fxdeSnp16ynx8FOcyUx57jp5/D+BpvovP9Nx+/i9+aL5iLb+z Pl+a22r/Hw3XgixItAs76kXkZ6vt6/nItki0asY9v+vKvZzY8l6vkItPxbf7ri+rZr6PVcL0Xbz7 vk88LGXTcezZnX4fZj8PDn+jl8T1b+4i41z6cfNY4tnP6+CLei5vddefvzu/iOxw/4z/q888xnP2 f04hIz+3930BIn8Dse4CR7RHP6p28ObGd03091xPT5N3p4urddPNCVXF4vfz7uK/vwZeb/hyeOi5 POi4Waxf3cz6ddvsNm/h488Zqn2cefmRauVFmi4bsrtyrdRY7MWry2/s5Av1IvH4vD2+Hq+bv8O7 3+XP7r6fZ+ELsSQ+jPw/habWN25oxOvEdiGnTOpDTtdSGFEw9jBAxOnJYZ3R0IaY1IWauKR6bGXZ TbG5bSGnSTEqkaGetxl2RL0Y220hpRu7SSdHYhpjUhZupckuMuym2Ma0hlWYhpTNZiGmJRW0hp0k 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 zMzM00DTSlNmylKlTZs002bLLMypU2bLLNNNmzZsssqVKU002bLLNNNmylNmzU1LLJKlTMqVJLLN NLLKlTZs1NTMpTZs001NTTTZs1NTU1KysqVNmypU2bNptKUrKzTTU1KlTZs2bLS0qVKysrKzabS2 WzU1NTU00rKzU1LS01NSlKyskss2bNptLLNTUqVNNLLLLLLMylJKUkzMzMJJMwk00kdtWtV92ta1 XrKqLkpVb/IiyRbfMRfVeCLGd6kXkZX0LFmi3UW+RcVFpC8aLUUWaL0SLRRfWi1IsqLRF8maLR1o tX2osO+qot0i3osiVGyg7JTCU1KY+ESRY4PjMuEoUsLq6rV1KKmmr5EWVFi+Rj125p6wuqi33Ui3 18u/Fua0WvRo3nXwfqKd1qU63Ep39uhokhj6gvnheyRdaLCLAqsQqtHHqkp9CU21JFjrnVUw6qmV TbP2+77suPRv8iLrRZ23Miyr8mM7F++Uq1JVemkWdpjvC8SLK+jrRevbItKLnKSrbl02EXTUkqzy 6Pjs78dPkRbPhRIdrTx2KdnZ+rpe593+X9/5Ovfec1eUxU6Qt+iLmpFpdcJiw6MroKSP8Wr9L3FS 3pSHGMxYzMGZmCxRRRYsViKkxjAYoxjaLAGotIUbbGjYixRo2xGqq8Va2tPCU2P4pTZvSmBbZx2J diU7/qx5t5TUpq7+LXWfdqlPvFP5wKfZCzC4se1F4Ui81hFxcr5YWFzqvBtqNqosaE1FSSVBY2i2 xSViAjYqLRjUlEUWjREbY2DJJRUYiiksaTUyxqi1FQFGNRtiKNFJaINiikLG1EWTYoCsRtpNiTY1 Y1ijbRbFsGybFMrGxisWkqKDbEaIxsVotY2IwVaSxVjWjWu2+N8PW2vMzuXwRZXSixmFruvyymUz 0RetFp3otULt2diL6VF1ItwXkRbHzkowp+iU+SU+vZKcPF0zX0a9XOv/P7t3hjei3ItsoUu3Xxe2 40Xk2PGpNmTsRcrNnwRctrzqmAsY7O7iRcfv1FKH0eJKfZJF2BT95T2Eo1SLCLBCskX6UWQVP6aI sruKLHyUlMBeqRerqsUX5NNiLEF6UWLKi2Iuzxr4ssdoqvReCLPCLF7aRaIvKi8QWJFvehj1cnPp Kfr++47j5EW/ci+yFVjivniiynYiyqospF4IsIvwY1Xyc3MF0ez0OzHUUlWXNReqvddQqvEi9vLx otEXHcvXaslmi4/HuWekIr0UWJFhFioMkoyIOhTJFMKZJFoFdZT8LtKfNKZKZKbQskW328iLPmRd aL3fUi+3U3Iv5X+1KeqiQ+eU+1Qcqm1kpzKZpoU0qfz7fbsFoqqLI+GU+Yp0+PLHMy006s81lq0R eNF2rbp8bYi/tz20XnReR2oteVqxi278u/bVPpRaItfciyRbL1lJV0yLpzRfk++Krpott+UU/aSQ +Mkh+0kh/GSQ60SHf7/e+lge97frzyblTzteb8On5oXku7xotOFjiW3Ki81Fgi5ikqxW1i1+QLyO JF5KRaq9mP+OLeoFOpF1M6RcSLiRf1zvrRYC+OG0JDxn5naC8inHv1Zf1+yU6BdZVkKrXf1evLS+ 2ySL+PAi+nvv0Iv0YRZ/svza7pbikq+TyXSi6tL4W1F2Ivfki9SL9CLbIv1sa/oRZIvUi+VF5kX6 rRF/sVRyCq6ehFj+d+oVWfx/iRfCF1VpX28Uiw/sRflRYkWCmSm1QeEpkpkpkFcKmCFdqL++5NQi 3xFk9PDQRbJFplIWyKr7ebcRaoVXrzWP344UN/1FMinGYe7t+vt5/6uO54zH/ezbapJ1lNbf6fxG zu3z0dv6aJDk/r09WfK9K18d79t6SVYdnDh9tSLsRf7ezwX4KklX4+7y8ePXtRIfMUxUzw9JJD9t 4Sngor24RDVcEWK9MKs2EWPuhY6PMKj6oi/d/kRZEWW0izIsyLs0v1fjd/8OWklXSi6flrq+7yXf 3+WRY+9F+u1c2SLT4XfZFSJeFFz0XqFSYRYSFYoTCqjX7teyop6/Hj1WgJ6PGi5FApnn1Iv23F59 3rt/09zNxL3a86RdvRZrkZQvaixkRdXXeysNfdQFNpSVZdnN247/LSLh3QuJF+ylPMqe7Hzv9alO 9KYZZgRqz+Y+09zmSLpZXfqvhejt+spv8zcVz/koquqRavNyBdbaFokplb8fN6cnLWvFiF31ZWzl 8vwIuatCi8vkdeMZ60keGy+Nwkvn+KLVhFpWWL6Skq2Ryohz0JIePdKespp+PHU+87+6lOrvM+9n p+7ilP39u7alMvB+81vLwYVIfhpT3+T4HN/D8rT7sz+jL9Gz5+/QL5TK+r9XwJT1yn8eFMerxfTx Kb9+6pwcqn32HEi/T5N3+r9Pk1osciL0bfu/+tmrx59eri6PLp7aK9QYpinjqE9RxwJT3Pa/sVO7 20SHwKDCSh9PxMzrKbv3bSniKsIsIsM6LcxC2ejxemVPaRf89dd+KrzFMfKqdsJfTCH1PHunXWSk h+M422+gfS/E/ieG3gU5ZmZmEkMmFO7NmSnV62fHh+YhWH1sZUVjakx4zvEWVbMBc1ryxiF6CLIi 8iLN7vN/wy2dQi5qFzYC38+QWX5W6khkkhjbFTLilPW9nP6eSnKVtrWswGZVvSmSnxUps1MhGMze Keee7ZvZKZ8uVU18OmcSm23TNim042msy2lNAu/4L3ff+b75tiw1mjxdFRIeViU+Pz0vm8KVHyNK nbYp6OKJDh50gPp+T6emkpt5pTtrmU4+tkLxJIeWZTHTOuVBvVMyFywpxKbtbZ4r+19Upy5p0wuT l/FuUW5hFsskXk9PFXTjXQtWwxU9+7WfT874YWx8yU/x0pjSpFbrhdRU5awFpy0XFReF5cu/yaaX RKIfCIbUp/0pTfptp6kSHaU2lOhvylPAqWEpv97HDx5+fOpTv4/smzfu0JEiSHqSRCZ7E/n8TRaU ZNhyi5iOISI8JAFCYeeE+GQtzBJHuhIhMRcWrTTLLLdjZ5/Lr7fh8PjReW5UlNlwFXXIkMmMKkGV Eh4ynpeea8PP4s31xnwc+7l60pte6Kd9FNUU7wU99EhpFMVOdjdU5pTxxU/llMRTFQYVPLOvRqP2 /BUY3JIaOKg/+/k5+NlKdfXKazJTHt1dMN3aU+Pac7MeVU5ot8lPl7cvLpw6791KbuddZuzkp3ab bSnzcUSHJVI9uJKMyAsVmUEOEp9byzwbUSG3B2IUT/B3fr/b49lFOahTMMmUp8ElHwlO+9WfU0ae 37dtbPl/UQUYUyqYUxnaVPYqbzDPB67W+Sm7HtlNHy1T+tQacfP3lO5lQeFKdw+1U9u+3H9iors6 0Wui18vKRcNqL8+EXMRaER2vqJIjeYMEij+PtzQAmwBZTF/Xi1eAU+BKYHgBT5Ne97JKairaiwhN pFlRfjvxurhGMciSVerSx6CvjepU74Xq9oKbeXva+n1axnSt4pqiQzN625JT4opnFU1dAsZUmHzc v6Li4RF5eiiyhfthYuH1XHsotWznq2+JFw1WiE0ReNU2ePkRZrKFibMXRRdtsIu2Kr6CL3/NsRe+ /Ci79P10WrL69meexncOWk6v7BUfko8FSrltYi+u2PqtKEVuvFElNKD1KDupT9YwSH6LvfLdx+TP +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 ------=_NextPart_000_0000_01C68587.4A037EA0 Content-Type: application/octet-stream; name="try-sound.c" Content-Transfer-Encoding: quoted-printable Content-Disposition: attachment; filename="try-sound.c" #include =0A= #include =0A= #include =0A= =0A= // YoKu 20-10-04 for PMU=0A= #include =0A= #include =0A= // YoKu=0A= =0A= =0A= #define PAGES 900=0A= #define SIGPAGE 4096 =0A= #define REFERESH 0=0A= // LCD VDIG_1=0A= #define LCD 2 =0A= =0A= // LCD_BACKLIGHT CURR1=0A= #define LCD_BACKLIGHT 3 =0A= #define I2C_DEV "/dev/i2c-0" // I2C Device File=0A= #define PMU_CHARGER "/dev/PMU_CHARGER"=0A= #define WAVE_PIPE "/tmp/WAVE_PIPE"=0A= #define PMU_ADDR 0x41 // PMU Write Address=0A= #define POWER_CONTROL 9=0A= #define ON 1=0A= #define OFF 0=0A= #define LCD_ON_MASK 0x04 // 0000 0100 = POWER_CONTROL=0A= #define LCD_BACKLIGHT_ON_MASK 0x04 // 0000 0100 = CURR_CONTROL=0A= #define CURR_CONTROL 40=0A= #define CURR_MODE 41=0A= =0A= =0A= int fdI2C;=0A= unsigned char gbyLCDBackOn =3D 1;=0A= =0A= fn_SwitchDev(unsigned char byDev, unsigned char byOp)=0A= {=0A= __s16 byPresent_val;=0A= =0A= if ( byDev =3D=3D LCD )=0A= {=0A= if( (byPresent_val =3D i2c_smbus_read_byte_data(fdI2C , = POWER_CONTROL)) < 0) =0A= {=0A= perror("\nfn_SwitchDev: I2C POWER_CONTROL Read Fail") ;=0A= }=0A= else=0A= {=0A= if ( byOp =3D=3D ON )=0A= {=0A= byPresent_val |=3D LCD_ON_MASK;=0A= #ifdef MAIN_DEBUG=0A= printf("\nPMU: Switching LCD ON");=0A= #endif=0A= }=0A= else=0A= {=0A= byPresent_val &=3D ~LCD_ON_MASK;=0A= #ifdef MAIN_DEBUG=0A= printf("\nPMU: Switching LCD OFF");=0A= #endif=0A= }=0A= if(i2c_smbus_write_byte_data( fdI2C, = POWER_CONTROL, byPresent_val ) < 0) =0A= {=0A= perror("\nfn_SwitchDev: I2C POWER_CONTROL write Fail") ;=0A= }=0A= }=0A= }=0A= else if ( byDev =3D=3D LCD_BACKLIGHT )=0A= {=0A= if( (byPresent_val =3D i2c_smbus_read_byte_data( fdI2C , CURR_CONTROL = )) < 0)=0A= {=0A= perror("\nfn_SwitchDev: I2C CURR_CONTROL Read Fail") ;=0A= }=0A= else=0A= {=0A= //pthread_mutex_lock(&_mutgbyLCDBackOn);=0A= if ( byOp =3D=3D ON )=0A= {=0A= byPresent_val |=3D LCD_BACKLIGHT_ON_MASK;=0A= #ifdef MAIN_DEBUG=0A= printf("\nPMU: Switching LCD BACKLIGHT ON");=0A= #endif=0A= if(i2c_smbus_write_byte_data( fdI2C, CURR_CONTROL, byPresent_val ) < = 0)=0A= perror("\nfn_SwitchDev: I2C = CURR_CONTROL write Fail") ;=0A= else=0A= gbyLCDBackOn =3D 1;=0A= }=0A= else=0A= {=0A= byPresent_val &=3D ~LCD_BACKLIGHT_ON_MASK;=0A= #ifdef MAIN_DEBUG=0A= printf("\nPMU: Switching LCD BACKLIGHT OFF");=0A= #endif=0A= if(i2c_smbus_write_byte_data( fdI2C, CURR_CONTROL, byPresent_val ) < = 0)=0A= perror("\nfn_SwitchDev: I2C = CURR_CONTROL write Fail") ;=0A= else=0A= gbyLCDBackOn =3D 0;=0A= }=0A= //pthread_mutex_unlock(&_mutgbyLCDBackOn);=0A= }=0A= }=0A= }=0A= =0A= int main()=0A= {=0A= int i=3D-1;=0A= static unsigned int cntr =3D 0 ;=0A= char *poarray,*p2=3DNULL;=0A= =0A= system("cat /proc/meminfo");=0A= for (i=3D0;i/proc/sys/pm/suspend");=0A= =0A= system("cat /proc/meminfo");=0A= =0A= printf("\nInserting Modules\n");=0A= system("/sbin/insmod /lib/modules/2.6.13/alsa/soundcore.ko");=0A= sleep(REFERESH);=0A= system("cat /proc/buddyinfo");=0A= system("cat /proc/meminfo");=0A= sleep(REFERESH);=0A= system("/sbin/insmod /lib/modules/2.6.13/alsa/snd.ko");=0A= sleep(REFERESH);=0A= system("cat /proc/buddyinfo");=0A= system("cat /proc/meminfo");=0A= sleep(REFERESH);=0A= system("/sbin/insmod /lib/modules/2.6.13/alsa/snd-timer.ko");=0A= sleep(REFERESH);=0A= system("cat /proc/buddyinfo");=0A= system("cat /proc/meminfo");=0A= sleep(REFERESH);=0A= system("/sbin/insmod /lib/modules/2.6.13/alsa/snd-page-alloc.ko");=0A= sleep(REFERESH);=0A= system("cat /proc/buddyinfo");=0A= system("cat /proc/meminfo");=0A= sleep(REFERESH);=0A= system("/sbin/insmod /lib/modules/2.6.13/alsa/snd-pcm.ko");=0A= sleep(REFERESH);=0A= system("cat /proc/buddyinfo");=0A= system("cat /proc/meminfo");=0A= sleep(REFERESH);=0A= system("/sbin/insmod /lib/modules/2.6.13/alsa/snd-ac97-codec.ko");=0A= sleep(REFERESH);=0A= system("cat /proc/buddyinfo");=0A= system("cat /proc/meminfo");=0A= sleep(REFERESH);=0A= system("/sbin/insmod /lib/modules/2.6.13/alsa/snd-pxa2xx-pcm.ko");=0A= sleep(REFERESH);=0A= system("cat /proc/buddyinfo");=0A= system("cat /proc/meminfo");=0A= sleep(REFERESH);=0A= system("/sbin/insmod /lib/modules/2.6.13/alsa/snd-pxa2xx-ac97.ko");=0A= sleep(REFERESH);=0A= system("cat /proc/buddyinfo");=0A= system("cat /proc/meminfo");=0A= sleep(REFERESH);=0A= system("/sbin/insmod /lib/modules/2.6.13/alsa/snd-mixer-oss.ko");=0A= sleep(REFERESH);=0A= system("cat /proc/buddyinfo");=0A= system("cat /proc/meminfo");=0A= sleep(REFERESH);=0A= system("/sbin/insmod /lib/modules/2.6.13/alsa/snd-pcm-oss.ko");=0A= sleep(REFERESH);=0A= system("cat /proc/buddyinfo");=0A= system("rmmod linuxdrv");=0A= sleep(REFERESH);=0A= system("cat /proc/buddyinfo");=0A= system("cat /proc/meminfo");=0A= =0A= system("/sbin/insmod /root/linuxdrv.ko");=0A= system("cat /proc/meminfo");=0A= system("lsmod");=0A= system("cat /proc/buddyinfo");=0A= sleep(REFERESH);=0A= free(p2);=0A= p2 =3D NULL;=0A= }=0A= }=0A= ------=_NextPart_000_0000_01C68587.4A037EA0-- -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@kvack.org. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: email@kvack.org