lkml.org 
[lkml]   [2004]   [Mar]   [2]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
From
SubjectRe: AIO Oops on 2.6.3-mm3
Date
Hi,

I found the problem.. But no fix yet !!

Here is whats happening..

io_submit_one() :

gets iocb with 2 refs
calls file->f_op->aio_write() which returns EFAULT...
This calls aio_complete() with EFAULT. aio_complete() drops a ref.
calls aio_put_req() which drops a ref - since the count is
zero it frees iocb.
Since we got EFAULT, io_submit_one() calls aio_complete()
with freed up iocb - so we get OOPS.

The problem here is we are calling aio_complete() twice.

Daneil, didn't you fix this earlier ?

int io_submit_one(struct kioctx *ctx, struct iocb __user *user_iocb,
{

...
req = aio_get_req(ctx); /* returns with 2 references to req */
..
case IOCB_CMD_PWRITE:
...
ret = file->f_op->aio_write(req, buf,
iocb->aio_nbytes, req->ki_pos);
...
aio_put_req(req); /* drop extra ref to req */
if (likely(-EIOCBQUEUED == ret))
return 0;
aio_complete(req, ret, 0); /* will drop i/o ref to req */
return 0;
....

}



Thanks,
Badari

On Friday 27 February 2004 06:48 pm, Tobias Diedrich wrote:
> Hi,
>
> When trying to use async IO I'm getting the following Oops
> on 2.6.3-mm3 with debugging options enabled:
>
> Feb 28 03:41:14 melchior kernel: Unable to handle kernel paging request at
> virtual address d680df68 Feb 28 03:41:14 melchior kernel: printing eip:
> Feb 28 03:41:14 melchior kernel: c0188068
> Feb 28 03:41:14 melchior kernel: *pde = 00057063
> Feb 28 03:41:14 melchior kernel: *pte = 1680d000
> Feb 28 03:41:14 melchior kernel: Oops: 0000 [#1]
> Feb 28 03:41:14 melchior kernel: DEBUG_PAGEALLOC
> Feb 28 03:41:14 melchior kernel: CPU: 0
> Feb 28 03:41:14 melchior kernel: EIP: 0060:[<c0188068>] Not tainted
> VLI Feb 28 03:41:14 melchior kernel: EFLAGS: 00010286
> Feb 28 03:41:14 melchior kernel: EIP is at aio_complete+0x12/0x309
> Feb 28 03:41:14 melchior kernel: eax: d680df58 ebx: fffffff2 ecx:
> 00000000 edx: fffffff2 Feb 28 03:41:14 melchior kernel: esi: 00020000
> edi: 00000000 ebp: d67dff28 esp: d67dff00 Feb 28 03:41:14 melchior
> kernel: ds: 007b es: 007b ss: 0068
> Feb 28 03:41:14 melchior kernel: Process odirect (pid: 1692,
> threadinfo=d67de000 task=d680b9d0) Feb 28 03:41:14 melchior kernel: Stack:
> d6856ef8 00000000 d67dff18 c0187ad0 00000000 fffffff2 d680df58 fffffff2 Feb
> 28 03:41:14 melchior kernel: 00020000 00000000 d67dff58 c0188c21
> c040f960 d67dff6c 00020000 00000000 Feb 28 03:41:14 melchior kernel:
> d680df58 d6873f54 bfffd880 d6856ef8 bfffd880 00000000 d67dffbc c0188d37 Feb
> 28 03:41:14 melchior kernel: Call Trace:
> Feb 28 03:41:14 melchior kernel: [<c0187ad0>] __aio_put_req+0x1d9/0x208
> Feb 28 03:41:14 melchior kernel: [<c0188c21>] io_submit_one+0x272/0x290
> Feb 28 03:41:14 melchior kernel: [<c0188d37>] sys_io_submit+0xf8/0x143
> Feb 28 03:41:14 melchior kernel: [<c0390c8b>] syscall_call+0x7/0xb
> Feb 28 03:41:14 melchior kernel:
> Feb 28 03:41:14 melchior kernel: Code: 65 f4 8d 83 b4 00 00 00 5b 5e 5f c9
> e9 8a a0 fa ff 8d 65 f4 5b 5e 5f c9 c3 55 89 e5 57 56 53 83 ec 1c 89 4d e8
> 89 55 ec 89 45 f0 <83> 78 10 ff 8b 78 18 0f 85 18 01 00 00 8b 4d f0 89 d0
> 99 83 79 Feb 28 03:41:14 melchior kernel: <7>exit_aio:ioctx still alive: 2
> 1 0 Feb 28 03:41:21 melchior kernel: Unable to handle kernel paging request
> at virtual address d682af68 Feb 28 03:41:21 melchior kernel: printing eip:
> Feb 28 03:41:21 melchior kernel: c0188068
> Feb 28 03:41:21 melchior kernel: *pde = 00057063
> Feb 28 03:41:21 melchior kernel: *pte = 1682a000
> Feb 28 03:41:21 melchior kernel: Oops: 0000 [#2]
> Feb 28 03:41:21 melchior kernel: DEBUG_PAGEALLOC
> Feb 28 03:41:21 melchior kernel: CPU: 0
> Feb 28 03:41:21 melchior kernel: EIP: 0060:[<c0188068>] Not tainted
> VLI Feb 28 03:41:21 melchior kernel: EFLAGS: 00010286
> Feb 28 03:41:21 melchior kernel: EIP is at aio_complete+0x12/0x309
> Feb 28 03:41:21 melchior kernel: eax: d682af58 ebx: fffffff2 ecx:
> 00000000 edx: fffffff2 Feb 28 03:41:21 melchior kernel: esi: 00020000
> edi: 00000000 ebp: d91e7f28 esp: d91e7f00 Feb 28 03:41:21 melchior
> kernel: ds: 007b es: 007b ss: 0068
> Feb 28 03:41:21 melchior kernel: Process odirect (pid: 1766,
> threadinfo=d91e6000 task=d92249d0) Feb 28 03:41:21 melchior kernel: Stack:
> d67c4ef8 00000000 d91e7f18 c0187ad0 00000000 fffffff2 d682af58 fffffff2 Feb
> 28 03:41:21 melchior kernel: 00020000 00000000 d91e7f58 c0188c21
> c040f960 d91e7f6c 00020000 00000000 Feb 28 03:41:21 melchior kernel:
> d682af58 d67e2f54 bfffd880 d67c4ef8 bfffd880 00000000 d91e7fbc c0188d37 Feb
> 28 03:41:21 melchior kernel: Call Trace:
> Feb 28 03:41:21 melchior kernel: [<c0187ad0>] __aio_put_req+0x1d9/0x208
> Feb 28 03:41:21 melchior kernel: [<c0188c21>] io_submit_one+0x272/0x290
> Feb 28 03:41:21 melchior kernel: [<c0188d37>] sys_io_submit+0xf8/0x143
> Feb 28 03:41:21 melchior kernel: [<c0390c8b>] syscall_call+0x7/0xb
> Feb 28 03:41:21 melchior kernel:
> Feb 28 03:41:21 melchior kernel: Code: 65 f4 8d 83 b4 00 00 00 5b 5e 5f c9
> e9 8a a0 fa ff 8d 65 f4 5b 5e 5f c9 c3 55 89 e5 57 56 53 83 ec 1c 89 4d e8
> 89 55 ec 89 45 f0 <83> 78 10 ff 8b 78 18 0f 85 18 01 00 00 8b 4d f0 89 d0
> 99 83 79 Feb 28 03:41:21 melchior kernel: <7>exit_aio:ioctx still alive: 2
> 1 0
>
>
>
> Without debugging options I got this one (Tainted due to vmware modules):
>
> Feb 28 01:50:00 melchior kernel: ------------[ cut here ]------------
> Feb 28 01:50:00 melchior kernel: kernel BUG at fs/nfs/inode.c:154!
> Feb 28 01:50:00 melchior kernel: invalid operand: 0000 [#1]
> Feb 28 01:50:00 melchior kernel: PREEMPT
> Feb 28 01:50:00 melchior kernel: CPU: 0
> Feb 28 01:50:00 melchior kernel: EIP: 0060:[<c0192d01>] Tainted: P
> VLI Feb 28 01:50:00 melchior kernel: EFLAGS: 00010202
> Feb 28 01:50:00 melchior kernel: EIP is at nfs_clear_inode+0x2f/0x39
> Feb 28 01:50:00 melchior kernel: eax: 0000000b ebx: d7e62a80 ecx:
> 00000001 edx: dfd0f4d4 Feb 28 01:50:00 melchior kernel: esi: c0192c8d
> edi: d4174c80 ebp: d7e62b7c esp: cf265f60 Feb 28 01:50:00 melchior
> kernel: ds: 007b es: 007b ss: 0068
> Feb 28 01:50:00 melchior kernel: Process rm (pid: 3170, threadinfo=cf264000
> task=cf2677c0) Feb 28 01:50:00 melchior kernel: Stack: d7e62b7c c0156266
> d7e62b7c c0156e4a 00000000 d4ea2000 c015706f c014ebb5 Feb 28 01:50:00
> melchior kernel: d4184300 dffe0180 d4ea200c 00000003 0024db2a
> 00000010 00000000 c0150940 Feb 28 01:50:00 melchior kernel: d7f73b8c
> 00000000 bffffbf4 00000004 bffffbf4 bffffbf4 08050858 cf264000 Feb 28
> 01:50:00 melchior kernel: Call Trace:
> Feb 28 01:50:00 melchior kernel: [<c0156266>] clear_inode+0x5a/0x86
> Feb 28 01:50:00 melchior kernel: [<c0156e4a>]
> generic_delete_inode+0x82/0xeb Feb 28 01:50:00 melchior kernel:
> [<c015706f>] iput_final+0x20/0x21 Feb 28 01:50:00 melchior kernel:
> [<c014ebb5>] sys_unlink+0xc6/0xf3 Feb 28 01:50:00 melchior kernel:
> [<c0150940>] sys_ioctl+0x232/0x23e Feb 28 01:50:00 melchior kernel:
> [<c03086ab>] syscall_call+0x7/0xb Feb 28 01:50:00 melchior kernel:
> Feb 28 01:50:00 melchior kernel: Code: ff ff ff 8b 83 f0 00 00 00 85 c0 74
> 05 e8 91 bf 16 00 8b 83 b4 00 00 00 85 c0 74 05 e8 82 bf 16 00 8b 83 ac 00
> 00 00 85 c0 74 08 <0f> 0b 9a 00 9f c2 32 c0 5b c3 53 8b 98 6c 01 00 00 8b
> 03 85 c0 Feb 28 03:11:44 melchior kernel: <1>Unable to handle kernel NULL
> pointer dereference at virtual address 0000003c Feb 28 03:11:44 melchior
> kernel: printing eip:
> Feb 28 03:11:44 melchior kernel: c015f0a9
> Feb 28 03:11:44 melchior kernel: *pde = 00000000
> Feb 28 03:11:44 melchior kernel: Oops: 0000 [#2]
> Feb 28 03:11:44 melchior kernel: PREEMPT
> Feb 28 03:11:44 melchior kernel: CPU: 0
> Feb 28 03:11:44 melchior kernel: EIP: 0060:[<c015f0a9>] Tainted: P
> VLI Feb 28 03:11:44 melchior kernel: EFLAGS: 00010002
> Feb 28 03:11:44 melchior kernel: EIP is at aio_complete+0x8e/0x188
> Feb 28 03:11:44 melchior kernel: eax: c777fa40 ebx: d9776000 ecx:
> 00000000 edx: 00000034 Feb 28 03:11:44 melchior kernel: esi: 00000000
> edi: c1000000 ebp: c777fa40 esp: d9777f00 Feb 28 03:11:44 melchior
> kernel: ds: 007b es: 007b ss: 0068
> Feb 28 03:11:44 melchior kernel: Process odirect (pid: 24408,
> threadinfo=d9776000 task=c4183390) Feb 28 03:11:44 melchior kernel: Stack:
> c777fa64 c46ccbc0 d9776000 00000213 00000034 00000000 fffffff2 fffffff2 Feb
> 28 03:11:44 melchior kernel: 00b50000 00000000 c777fa40 c015f8d2
> 00000000 000028b4 c037fe40 000004bb Feb 28 03:11:44 melchior kernel:
> 00b50000 00000000 c41d8d40 bffff720 c46ccbc0 bffff720 00000000 fffffff2 Feb
> 28 03:11:44 melchior kernel: Call Trace:
> Feb 28 03:11:44 melchior kernel: [<c015f8d2>] io_submit_one+0x26c/0x288
> Feb 28 03:11:44 melchior kernel: [<c015f9d7>] sys_io_submit+0xe9/0x137
> Feb 28 03:11:44 melchior kernel: [<c03086ab>] syscall_call+0x7/0xb
> Feb 28 03:11:44 melchior kernel:
> Feb 28 03:11:44 melchior kernel: Code: e8 0c 69 fb ff e9 11 01 00 00 8d 56
> 34 89 54 24 10 9c 8f 44 24 0c fa bb 00 e0 ff ff 21 e3 89 5c 24 08 ff 43 14
> 8b 3d d0 2a 45 c0 <8b> 4a 08 8b 19 29 fb c1 fb 03 69 db cd cc cc cc c1 e3
> 0c 81 eb Feb 28 03:11:44 melchior kernel: <6>note: odirect[24408] exited
> with preempt_count 1 Feb 28 03:11:44 melchior kernel: exit_aio:ioctx still
> alive: 2 1 0 Feb 28 03:11:44 melchior kernel: bad: scheduling while atomic!
> Feb 28 03:11:44 melchior kernel: Call Trace:
> Feb 28 03:11:44 melchior kernel: [<c0116174>] schedule+0x3c/0x4d7
> Feb 28 03:11:44 melchior kernel: [<c0136910>] zap_pmd_range+0x41/0x4b
> Feb 28 03:11:44 melchior kernel: [<c0136952>] unmap_page_range+0x38/0x52
> Feb 28 03:11:44 melchior kernel: [<c0136aab>] unmap_vmas+0x13f/0x1ba
> Feb 28 03:11:44 melchior kernel: [<c0139d91>] exit_mmap+0x54/0x126
> Feb 28 03:11:44 melchior kernel: [<c0117c33>] mmput+0x73/0x87
> Feb 28 03:11:44 melchior kernel: [<c011b114>] do_exit+0x175/0x348
> Feb 28 03:11:44 melchior kernel: [<c010a88c>] do_divide_error+0x0/0xaa
> Feb 28 03:11:44 melchior kernel: [<c0114d84>] do_page_fault+0x31b/0x45b
> Feb 28 03:11:44 melchior kernel: [<c01ed91c>] opost_block+0x18a/0x197
> Feb 28 03:11:44 melchior kernel: [<c01f01a2>] pty_write+0x168/0x175
> Feb 28 03:11:44 melchior kernel: [<c0114a69>] do_page_fault+0x0/0x45b
> Feb 28 03:11:44 melchior kernel: [<c0308857>] error_code+0x2f/0x38
> Feb 28 03:11:44 melchior kernel: [<c015f0a9>] aio_complete+0x8e/0x188
> Feb 28 03:11:44 melchior kernel: [<c015f8d2>] io_submit_one+0x26c/0x288
> Feb 28 03:11:44 melchior kernel: [<c015f9d7>] sys_io_submit+0xe9/0x137
> Feb 28 03:11:44 melchior kernel: [<c03086ab>] syscall_call+0x7/0xb
> Feb 28 03:11:44 melchior kernel:
> Feb 28 03:13:44 melchior kernel: Unable to handle kernel NULL pointer
> dereference at virtual address 0000003c Feb 28 03:13:44 melchior kernel:
> printing eip:
> Feb 28 03:13:44 melchior kernel: c015f0a9
> Feb 28 03:13:44 melchior kernel: *pde = 00000000
> Feb 28 03:13:44 melchior kernel: Oops: 0000 [#3]
> Feb 28 03:13:44 melchior kernel: PREEMPT
> Feb 28 03:13:44 melchior kernel: CPU: 0
> Feb 28 03:13:44 melchior kernel: EIP: 0060:[<c015f0a9>] Tainted: P
> VLI Feb 28 03:13:44 melchior kernel: EFLAGS: 00010002
> Feb 28 03:13:44 melchior kernel: EIP is at aio_complete+0x8e/0x188
> Feb 28 03:13:44 melchior kernel: eax: d8d2d480 ebx: d92e2000 ecx:
> 00000000 edx: 00000034 Feb 28 03:13:44 melchior kernel: esi: 00000000
> edi: c1000000 ebp: d8d2d480 esp: d92e3f00 Feb 28 03:13:44 melchior
> kernel: ds: 007b es: 007b ss: 0068
> Feb 28 03:13:44 melchior kernel: Process odirect (pid: 25625,
> threadinfo=d92e2000 task=c4182830) Feb 28 03:13:44 melchior kernel: Stack:
> d8d2d4a4 c46ccc80 d92e2000 00000213 00000034 00000000 fffffff2 fffffff2 Feb
> 28 03:13:44 melchior kernel: 0a2f0000 00000000 d8d2d480 c015f8d2
> 00000000 c70a2c40 c037fe40 40018000 Feb 28 03:13:44 melchior kernel:
> 0a2f0000 00000000 c429e0c0 bffff8e0 c46ccc80 bffff8e0 00000000 fffffff2 Feb
> 28 03:13:44 melchior kernel: Call Trace:
> Feb 28 03:13:44 melchior kernel: [<c015f8d2>] io_submit_one+0x26c/0x288
> Feb 28 03:13:44 melchior kernel: [<c015f9d7>] sys_io_submit+0xe9/0x137
> Feb 28 03:13:44 melchior kernel: [<c03086ab>] syscall_call+0x7/0xb
> Feb 28 03:13:44 melchior kernel:
> Feb 28 03:13:44 melchior kernel: Code: e8 0c 69 fb ff e9 11 01 00 00 8d 56
> 34 89 54 24 10 9c 8f 44 24 0c fa bb 00 e0 ff ff 21 e3 89 5c 24 08 ff 43 14
> 8b 3d d0 2a 45 c0 <8b> 4a 08 8b 19 29 fb c1 fb 03 69 db cd cc cc cc c1 e3
> 0c 81 eb Feb 28 03:13:44 melchior kernel: <6>note: odirect[25625] exited
> with preempt_count 1 Feb 28 03:13:44 melchior kernel: exit_aio:ioctx still
> alive: 2 1 0 Feb 28 03:13:44 melchior kernel: bad: scheduling while atomic!
> Feb 28 03:13:44 melchior kernel: Call Trace:
> Feb 28 03:13:44 melchior kernel: [<c0116174>] schedule+0x3c/0x4d7
> Feb 28 03:13:44 melchior kernel: [<c0136910>] zap_pmd_range+0x41/0x4b
> Feb 28 03:13:44 melchior kernel: [<c0136952>] unmap_page_range+0x38/0x52
> Feb 28 03:13:44 melchior kernel: [<c0136aab>] unmap_vmas+0x13f/0x1ba
> Feb 28 03:13:44 melchior kernel: [<c0139d91>] exit_mmap+0x54/0x126
> Feb 28 03:13:44 melchior kernel: [<c0117c33>] mmput+0x73/0x87
> Feb 28 03:13:44 melchior kernel: [<c011b114>] do_exit+0x175/0x348
> Feb 28 03:13:44 melchior kernel: [<c010a88c>] do_divide_error+0x0/0xaa
> Feb 28 03:13:44 melchior kernel: [<c0114d84>] do_page_fault+0x31b/0x45b
> Feb 28 03:13:44 melchior kernel: [<c010b6ac>] do_IRQ+0xad/0xf7
> Feb 28 03:13:44 melchior kernel: [<c0308818>] common_interrupt+0x18/0x20
> Feb 28 03:13:44 melchior kernel: [<c0114a69>] do_page_fault+0x0/0x45b
> Feb 28 03:13:44 melchior kernel: [<c0308857>] error_code+0x2f/0x38
> Feb 28 03:13:44 melchior kernel: [<c015f0a9>] aio_complete+0x8e/0x188
> Feb 28 03:13:44 melchior kernel: [<c015f8d2>] io_submit_one+0x26c/0x288
> Feb 28 03:13:44 melchior kernel: [<c015f9d7>] sys_io_submit+0xe9/0x137
> Feb 28 03:13:44 melchior kernel: [<c03086ab>] syscall_call+0x7/0xb
> Feb 28 03:13:44 melchior kernel:
> Feb 28 03:15:39 melchior kernel: Unable to handle kernel NULL pointer
> dereference at virtual address 0000003c Feb 28 03:15:39 melchior kernel:
> printing eip:
> Feb 28 03:15:39 melchior kernel: c015f0a9
> Feb 28 03:15:39 melchior kernel: *pde = 00000000
> Feb 28 03:15:39 melchior kernel: Oops: 0000 [#4]
> Feb 28 03:15:39 melchior kernel: PREEMPT
> Feb 28 03:15:39 melchior kernel: CPU: 0
> Feb 28 03:15:39 melchior kernel: EIP: 0060:[<c015f0a9>] Tainted: P
> VLI Feb 28 03:15:39 melchior kernel: EFLAGS: 00010002
> Feb 28 03:15:39 melchior kernel: EIP is at aio_complete+0x8e/0x188
> Feb 28 03:15:39 melchior kernel: eax: d8cbeb00 ebx: d8cb4000 ecx:
> 00000000 edx: 00000034 Feb 28 03:15:39 melchior kernel: esi: 00000000
> edi: c1000000 ebp: d8cbeb00 esp: d8cb5f00 Feb 28 03:15:39 melchior
> kernel: ds: 007b es: 007b ss: 0068
> Feb 28 03:15:39 melchior kernel: Process odirect (pid: 26940,
> threadinfo=d8cb4000 task=c78872d0) Feb 28 03:15:39 melchior kernel: Stack:
> d8cbeb24 c46ccd40 d8cb4000 00000213 00000034 00000000 fffffff2 fffffff2 Feb
> 28 03:15:39 melchior kernel: 0a2f0000 00000000 d8cbeb00 c015f8d2
> 00000000 c70a2c40 c037fe40 40018000 Feb 28 03:15:39 melchior kernel:
> 0a2f0000 00000000 c41d8ec0 bffff9a0 c46ccd40 bffff9a0 00000000 fffffff2 Feb
> 28 03:15:39 melchior kernel: Call Trace:
> Feb 28 03:15:39 melchior kernel: [<c015f8d2>] io_submit_one+0x26c/0x288
> Feb 28 03:15:39 melchior kernel: [<c015f9d7>] sys_io_submit+0xe9/0x137
> Feb 28 03:15:39 melchior kernel: [<c03086ab>] syscall_call+0x7/0xb
> Feb 28 03:15:39 melchior kernel:
> Feb 28 03:15:39 melchior kernel: Code: e8 0c 69 fb ff e9 11 01 00 00 8d 56
> 34 89 54 24 10 9c 8f 44 24 0c fa bb 00 e0 ff ff 21 e3 89 5c 24 08 ff 43 14
> 8b 3d d0 2a 45 c0 <8b> 4a 08 8b 19 29 fb c1 fb 03 69 db cd cc cc cc c1 e3
> 0c 81 eb Feb 28 03:15:39 melchior kernel: <6>note: odirect[26940] exited
> with preempt_count 1 Feb 28 03:15:39 melchior kernel: exit_aio:ioctx still
> alive: 2 1 0 Feb 28 03:15:39 melchior kernel: bad: scheduling while atomic!
> Feb 28 03:15:39 melchior kernel: Call Trace:
> Feb 28 03:15:39 melchior kernel: [<c0116174>] schedule+0x3c/0x4d7
> Feb 28 03:15:39 melchior kernel: [<c0136910>] zap_pmd_range+0x41/0x4b
> Feb 28 03:15:39 melchior kernel: [<c0136952>] unmap_page_range+0x38/0x52
> Feb 28 03:15:39 melchior kernel: [<c0136aab>] unmap_vmas+0x13f/0x1ba
> Feb 28 03:15:39 melchior kernel: [<c0139d91>] exit_mmap+0x54/0x126
> Feb 28 03:15:39 melchior kernel: [<c0117c33>] mmput+0x73/0x87
> Feb 28 03:15:39 melchior kernel: [<c011b114>] do_exit+0x175/0x348
> Feb 28 03:15:39 melchior kernel: [<c010a88c>] do_divide_error+0x0/0xaa
> Feb 28 03:15:39 melchior kernel: [<c0114d84>] do_page_fault+0x31b/0x45b
> Feb 28 03:15:39 melchior kernel: [<c026e379>] stall_callback+0x139/0x141
> Feb 28 03:15:39 melchior kernel: [<c010b6e2>] do_IRQ+0xe3/0xf7
> Feb 28 03:15:39 melchior kernel: [<c0308818>] common_interrupt+0x18/0x20
> Feb 28 03:15:39 melchior kernel: [<c0114a69>] do_page_fault+0x0/0x45b
> Feb 28 03:15:39 melchior kernel: [<c0308857>] error_code+0x2f/0x38
> Feb 28 03:15:39 melchior kernel: [<c015f0a9>] aio_complete+0x8e/0x188
> Feb 28 03:15:39 melchior kernel: [<c015f8d2>] io_submit_one+0x26c/0x288
> Feb 28 03:15:39 melchior kernel: [<c015f9d7>] sys_io_submit+0xe9/0x137
> Feb 28 03:15:39 melchior kernel: [<c03086ab>] syscall_call+0x7/0xb
>
>
>
> This is the test program:
>
> #define _GNU_SOURCE
> #include <unistd.h>
> #include <fcntl.h>
> #include <errno.h>
> #include <linux/aio_abi.h>
> #include <sys/syscall.h>
>
> _syscall2(int, io_setup, int, maxevents, aio_context_t *, ctxp);
> _syscall3(int, io_submit, aio_context_t, ctx, long, nr, struct iocb **,
> iocbs); _syscall5(int, io_getevents, aio_context_t, ctx, long, min_nr,
> long, nr, struct io_event *, events, struct timespec *, timeout);
>
> #define QUEUELEN 128
>
> struct aio_info {
> void *buf;
> int inuse;
> };
>
> int main(int argc, char **argv)
> {
> char *buf;
> int fd;
> int order, buflen, pagesize = getpagesize();
> aio_context_t aio_ctx = 0;
> struct iocb iocb[QUEUELEN];
> struct aio_info info[QUEUELEN];
> int i;
> off_t filepos = 0;
>
> order = 0;
>
> if (argc != 3) {
> printf("Usage: %s <file> <order>\n", argv[0]);
> exit(1);
> }
>
> fd = open(argv[1], O_WRONLY | O_CREAT | O_DIRECT, 0644);
> if (fd < 0) {
> perror("open");
> exit(1);
> }
> sscanf(argv[2], "%d", &order);
> buflen = pagesize << order;
> buflen *= QUEUELEN;
> printf("Pagesize: %d, order %d, buflen %d\n", pagesize, order, buflen);
>
> if (posix_memalign((void **)&buf, pagesize, pagesize) != 0) {
> perror("posix_memalign");
> exit(1);
> }
>
> if (io_setup(QUEUELEN, &aio_ctx) != 0) {
> perror("io_setup");
> exit(1);
> }
> printf("aio_ctx=%d\n", aio_ctx);
>
> memset(&iocb, 0, sizeof(iocb));
> for (i=0; i<QUEUELEN; i++) {
> iocb[i].aio_fildes = fd;
> iocb[i].aio_lio_opcode = IOCB_CMD_PWRITE;
> iocb[i].aio_reqprio = 0;
> iocb[i].aio_data = i;
> iocb[i].aio_nbytes = pagesize << order;
> info[i].inuse = 0;
> info[i].buf = buf + (pagesize << order)*i;
> }
>
> while (1) {
> struct iocb *piocb;
> struct io_event ioev;
> int ret;
>
> i = 0;
> while (i<QUEUELEN) {
> for (i=0; i<QUEUELEN && info[i].inuse != 0; i++);
>
> if (i<QUEUELEN) {
> info[i].inuse = 1;
> iocb[i].aio_buf = (unsigned long)info[i].buf;
> iocb[i].aio_offset = filepos;
> piocb = &iocb[i];
> if (io_submit(aio_ctx, 1, &piocb) != 1) {
> perror("io_submit");
> exit(1);
> }
> printf("submitted iocb %d, filepos %d\n", i, filepos);
> filepos += iocb[i].aio_nbytes;
> };
> }
>
> ret = io_getevents(aio_ctx, 1, 1, &ioev, NULL);
> if (ret < 0) {
> perror("io_getevents");
> exit(1);
> }
> if (ret == 1) {
> printf("iocb %d completed with status %d\n", ioev.data, ioev.res);
> info[ioev.data].inuse = 0;
> }
> }
>
> return 0;
> }
>
>
> And my kernel config:
> #
> # Automatically generated make config: don't edit
> #
> CONFIG_X86=y
> CONFIG_MMU=y
> CONFIG_UID16=y
> CONFIG_GENERIC_ISA_DMA=y
>
> #
> # Code maturity level options
> #
> CONFIG_EXPERIMENTAL=y
> CONFIG_CLEAN_COMPILE=y
> CONFIG_STANDALONE=y
> CONFIG_BROKEN_ON_SMP=y
>
> #
> # General setup
> #
> CONFIG_SWAP=y
> CONFIG_SYSVIPC=y
> # CONFIG_BSD_PROCESS_ACCT is not set
> CONFIG_SYSCTL=y
> CONFIG_LOG_BUF_SHIFT=14
> # CONFIG_HOTPLUG is not set
> CONFIG_IKCONFIG=y
> CONFIG_IKCONFIG_PROC=y
> CONFIG_EMBEDDED=y
> CONFIG_KALLSYMS=y
> CONFIG_FUTEX=y
> CONFIG_EPOLL=y
> CONFIG_IOSCHED_NOOP=y
> CONFIG_IOSCHED_AS=y
> CONFIG_IOSCHED_DEADLINE=y
> CONFIG_IOSCHED_CFQ=y
> CONFIG_CC_OPTIMIZE_FOR_SIZE=y
>
> #
> # Loadable module support
> #
> CONFIG_MODULES=y
> CONFIG_MODULE_UNLOAD=y
> CONFIG_MODULE_FORCE_UNLOAD=y
> CONFIG_OBSOLETE_MODPARM=y
> # CONFIG_MODVERSIONS is not set
> CONFIG_KMOD=y
>
> #
> # Processor type and features
> #
> CONFIG_X86_PC=y
> # CONFIG_X86_ELAN is not set
> # CONFIG_X86_VOYAGER is not set
> # CONFIG_X86_NUMAQ is not set
> # CONFIG_X86_SUMMIT is not set
> # CONFIG_X86_BIGSMP is not set
> # CONFIG_X86_VISWS is not set
> # CONFIG_X86_GENERICARCH is not set
> # CONFIG_X86_ES7000 is not set
> # CONFIG_M386 is not set
> # CONFIG_M486 is not set
> # CONFIG_M586 is not set
> # CONFIG_M586TSC is not set
> # CONFIG_M586MMX is not set
> # CONFIG_M686 is not set
> # CONFIG_MPENTIUMII is not set
> # CONFIG_MPENTIUMIII is not set
> # CONFIG_MPENTIUMM is not set
> # CONFIG_MPENTIUM4 is not set
> # CONFIG_MK6 is not set
> CONFIG_MK7=y
> # CONFIG_MK8 is not set
> # CONFIG_MELAN is not set
> # CONFIG_MCRUSOE is not set
> # CONFIG_MWINCHIPC6 is not set
> # CONFIG_MWINCHIP2 is not set
> # CONFIG_MWINCHIP3D is not set
> # CONFIG_MCYRIXIII is not set
> # CONFIG_MVIAC3_2 is not set
> # CONFIG_X86_GENERIC is not set
> CONFIG_X86_CMPXCHG=y
> CONFIG_X86_XADD=y
> CONFIG_X86_L1_CACHE_SHIFT=6
> CONFIG_RWSEM_XCHGADD_ALGORITHM=y
> CONFIG_X86_WP_WORKS_OK=y
> CONFIG_X86_INVLPG=y
> CONFIG_X86_BSWAP=y
> CONFIG_X86_POPAD_OK=y
> CONFIG_X86_GOOD_APIC=y
> CONFIG_X86_INTEL_USERCOPY=y
> CONFIG_X86_USE_PPRO_CHECKSUM=y
> CONFIG_X86_USE_3DNOW=y
> # CONFIG_X86_4G is not set
> # CONFIG_X86_SWITCH_PAGETABLES is not set
> # CONFIG_X86_4G_VM_LAYOUT is not set
> # CONFIG_X86_UACCESS_INDIRECT is not set
> # CONFIG_X86_HIGH_ENTRY is not set
> # CONFIG_HPET_TIMER is not set
> # CONFIG_HPET_EMULATE_RTC is not set
> # CONFIG_SMP is not set
> # CONFIG_PREEMPT is not set
> # CONFIG_X86_UP_APIC is not set
> CONFIG_X86_TSC=y
> CONFIG_X86_MCE=y
> CONFIG_X86_MCE_NONFATAL=y
> # CONFIG_TOSHIBA is not set
> # CONFIG_I8K is not set
> # CONFIG_MICROCODE is not set
> # CONFIG_X86_MSR is not set
> # CONFIG_X86_CPUID is not set
> # CONFIG_EDD is not set
> CONFIG_NOHIGHMEM=y
> # CONFIG_HIGHMEM4G is not set
> # CONFIG_HIGHMEM64G is not set
> # CONFIG_MATH_EMULATION is not set
> CONFIG_MTRR=y
> CONFIG_REGPARM=y
>
> #
> # Power management options (ACPI, APM)
> #
> CONFIG_PM=y
> # CONFIG_SOFTWARE_SUSPEND is not set
> # CONFIG_PM_DISK is not set
>
> #
> # ACPI (Advanced Configuration and Power Interface) Support
> #
> # CONFIG_ACPI is not set
> CONFIG_ACPI_BOOT=y
>
> #
> # APM (Advanced Power Management) BIOS Support
> #
> CONFIG_APM=y
> # CONFIG_APM_IGNORE_USER_SUSPEND is not set
> # CONFIG_APM_DO_ENABLE is not set
> # CONFIG_APM_CPU_IDLE is not set
> # CONFIG_APM_DISPLAY_BLANK is not set
> # CONFIG_APM_RTC_IS_GMT is not set
> # CONFIG_APM_ALLOW_INTS is not set
> # CONFIG_APM_REAL_MODE_POWER_OFF is not set
>
> #
> # CPU Frequency scaling
> #
> # CONFIG_CPU_FREQ is not set
>
> #
> # Bus options (PCI, PCMCIA, EISA, MCA, ISA)
> #
> CONFIG_PCI=y
> # CONFIG_PCI_GOBIOS is not set
> # CONFIG_PCI_GOMMCONFIG is not set
> # CONFIG_PCI_GODIRECT is not set
> CONFIG_PCI_GOANY=y
> CONFIG_PCI_BIOS=y
> CONFIG_PCI_DIRECT=y
> CONFIG_PCI_MMCONFIG=y
> CONFIG_PCI_LEGACY_PROC=y
> CONFIG_PCI_NAMES=y
> # CONFIG_ISA is not set
> # CONFIG_MCA is not set
> # CONFIG_SCx200 is not set
>
> #
> # Executable file formats
> #
> CONFIG_BINFMT_ELF=y
> # CONFIG_BINFMT_AOUT is not set
> # CONFIG_BINFMT_MISC is not set
>
> #
> # Device Drivers
> #
>
> #
> # Generic Driver Options
> #
>
> #
> # Memory Technology Devices (MTD)
> #
> # CONFIG_MTD is not set
>
> #
> # Parallel port support
> #
> CONFIG_PARPORT=y
> CONFIG_PARPORT_PC=y
> CONFIG_PARPORT_PC_CML1=y
> # CONFIG_PARPORT_SERIAL is not set
> CONFIG_PARPORT_PC_FIFO=y
> CONFIG_PARPORT_PC_SUPERIO=y
> # CONFIG_PARPORT_OTHER is not set
> # CONFIG_PARPORT_1284 is not set
>
> #
> # Plug and Play support
> #
>
> #
> # Block devices
> #
> CONFIG_BLK_DEV_FD=y
> # CONFIG_PARIDE is not set
> # CONFIG_BLK_CPQ_DA is not set
> # CONFIG_BLK_CPQ_CISS_DA is not set
> # CONFIG_BLK_DEV_DAC960 is not set
> # CONFIG_BLK_DEV_UMEM is not set
> CONFIG_BLK_DEV_LOOP=y
> # CONFIG_BLK_DEV_CRYPTOLOOP is not set
> # CONFIG_BLK_DEV_NBD is not set
> # CONFIG_BLK_DEV_RAM is not set
> # CONFIG_BLK_DEV_INITRD is not set
> # CONFIG_LBD is not set
> # CONFIG_DCSSBLK is not set
>
> #
> # ATA/ATAPI/MFM/RLL support
> #
> CONFIG_IDE=y
> CONFIG_BLK_DEV_IDE=y
>
> #
> # Please see Documentation/ide.txt for help/info on IDE drives
> #
> # CONFIG_BLK_DEV_HD_IDE is not set
> CONFIG_BLK_DEV_IDEDISK=y
> CONFIG_IDEDISK_MULTI_MODE=y
> # CONFIG_IDEDISK_STROKE is not set
> CONFIG_BLK_DEV_IDECD=y
> # CONFIG_BLK_DEV_IDETAPE is not set
> # CONFIG_BLK_DEV_IDEFLOPPY is not set
> # CONFIG_BLK_DEV_IDESCSI is not set
> CONFIG_IDE_TASK_IOCTL=y
> CONFIG_IDE_TASKFILE_IO=y
>
> #
> # IDE chipset support/bugfixes
> #
> CONFIG_IDE_GENERIC=y
> # CONFIG_BLK_DEV_CMD640 is not set
> CONFIG_BLK_DEV_IDEPCI=y
> CONFIG_IDEPCI_SHARE_IRQ=y
> # CONFIG_BLK_DEV_OFFBOARD is not set
> CONFIG_BLK_DEV_GENERIC=y
> # CONFIG_BLK_DEV_OPTI621 is not set
> # CONFIG_BLK_DEV_RZ1000 is not set
> CONFIG_BLK_DEV_IDEDMA_PCI=y
> # CONFIG_BLK_DEV_IDEDMA_FORCED is not set
> CONFIG_IDEDMA_PCI_AUTO=y
> # CONFIG_IDEDMA_ONLYDISK is not set
> CONFIG_BLK_DEV_ADMA=y
> # CONFIG_BLK_DEV_AEC62XX is not set
> # CONFIG_BLK_DEV_ALI15X3 is not set
> # CONFIG_BLK_DEV_AMD74XX is not set
> # CONFIG_BLK_DEV_CMD64X is not set
> # CONFIG_BLK_DEV_TRIFLEX is not set
> # CONFIG_BLK_DEV_CY82C693 is not set
> # CONFIG_BLK_DEV_CS5520 is not set
> # CONFIG_BLK_DEV_CS5530 is not set
> # CONFIG_BLK_DEV_HPT34X is not set
> # CONFIG_BLK_DEV_HPT366 is not set
> # CONFIG_BLK_DEV_SC1200 is not set
> # CONFIG_BLK_DEV_PIIX is not set
> # CONFIG_BLK_DEV_NS87415 is not set
> # CONFIG_BLK_DEV_PDC202XX_OLD is not set
> # CONFIG_BLK_DEV_PDC202XX_NEW is not set
> # CONFIG_BLK_DEV_SVWKS is not set
> # CONFIG_BLK_DEV_SIIMAGE is not set
> # CONFIG_BLK_DEV_SIS5513 is not set
> # CONFIG_BLK_DEV_SLC90E66 is not set
> # CONFIG_BLK_DEV_TRM290 is not set
> CONFIG_BLK_DEV_VIA82CXXX=y
> CONFIG_BLK_DEV_IDEDMA=y
> # CONFIG_IDEDMA_IVB is not set
> CONFIG_IDEDMA_AUTO=y
> # CONFIG_DMA_NONPCI is not set
> # CONFIG_BLK_DEV_HD is not set
>
> #
> # SCSI device support
> #
> CONFIG_SCSI=y
> # CONFIG_SCSI_PROC_FS is not set
>
> #
> # SCSI support type (disk, tape, CD-ROM)
> #
> # CONFIG_BLK_DEV_SD is not set
> # CONFIG_CHR_DEV_ST is not set
> # CONFIG_CHR_DEV_OSST is not set
> # CONFIG_BLK_DEV_SR is not set
> # CONFIG_CHR_DEV_SG is not set
>
> #
> # Some SCSI devices (e.g. CD jukebox) support multiple LUNs
> #
> # CONFIG_SCSI_MULTI_LUN is not set
> # CONFIG_SCSI_REPORT_LUNS is not set
> # CONFIG_SCSI_CONSTANTS is not set
> # CONFIG_SCSI_LOGGING is not set
>
> #
> # SCSI low-level drivers
> #
> # CONFIG_BLK_DEV_3W_XXXX_RAID is not set
> # CONFIG_SCSI_ACARD is not set
> # CONFIG_SCSI_AACRAID is not set
> # CONFIG_SCSI_AIC7XXX is not set
> # CONFIG_SCSI_AIC7XXX_OLD is not set
> # CONFIG_SCSI_AIC79XX is not set
> # CONFIG_SCSI_ADVANSYS is not set
> # CONFIG_SCSI_MEGARAID is not set
> # CONFIG_SCSI_SATA is not set
> # CONFIG_SCSI_BUSLOGIC is not set
> # CONFIG_SCSI_CPQFCTS is not set
> # CONFIG_SCSI_DMX3191D is not set
> # CONFIG_SCSI_EATA is not set
> # CONFIG_SCSI_EATA_PIO is not set
> # CONFIG_SCSI_FUTURE_DOMAIN is not set
> # CONFIG_SCSI_GDTH is not set
> # CONFIG_SCSI_IPS is not set
> # CONFIG_SCSI_INIA100 is not set
> # CONFIG_SCSI_PPA is not set
> # CONFIG_SCSI_IMM is not set
> # CONFIG_SCSI_SYM53C8XX_2 is not set
> # CONFIG_SCSI_QLOGIC_ISP is not set
> # CONFIG_SCSI_QLOGIC_FC is not set
> # CONFIG_SCSI_QLOGIC_1280 is not set
> CONFIG_SCSI_QLA2XXX=y
> # CONFIG_SCSI_QLA21XX is not set
> # CONFIG_SCSI_QLA22XX is not set
> # CONFIG_SCSI_QLA2300 is not set
> # CONFIG_SCSI_QLA2322 is not set
> # CONFIG_SCSI_QLA6312 is not set
> # CONFIG_SCSI_QLA6322 is not set
> # CONFIG_SCSI_DC395x is not set
> # CONFIG_SCSI_DC390T is not set
> # CONFIG_SCSI_NSP32 is not set
> # CONFIG_SCSI_DEBUG is not set
>
> #
> # Multi-device support (RAID and LVM)
> #
> # CONFIG_MD is not set
>
> #
> # Fusion MPT device support
> #
>
> #
> # IEEE 1394 (FireWire) support
> #
> # CONFIG_IEEE1394 is not set
>
> #
> # I2O device support
> #
> # CONFIG_I2O is not set
>
> #
> # Macintosh device drivers
> #
>
> #
> # Networking support
> #
> CONFIG_NET=y
>
> #
> # Networking options
> #
> CONFIG_PACKET=y
> # CONFIG_PACKET_MMAP is not set
> CONFIG_NETLINK_DEV=y
> CONFIG_UNIX=y
> CONFIG_NET_KEY=y
> CONFIG_INET=y
> CONFIG_IP_MULTICAST=y
> # CONFIG_IP_ADVANCED_ROUTER is not set
> # CONFIG_IP_PNP is not set
> # CONFIG_NET_IPIP is not set
> # CONFIG_NET_IPGRE is not set
> # CONFIG_IP_MROUTE is not set
> # CONFIG_ARPD is not set
> CONFIG_INET_ECN=y
> CONFIG_SYN_COOKIES=y
> CONFIG_INET_AH=y
> CONFIG_INET_ESP=y
> CONFIG_INET_IPCOMP=y
> # CONFIG_IPV6 is not set
> # CONFIG_DECNET is not set
> # CONFIG_BRIDGE is not set
> # CONFIG_NETFILTER is not set
> CONFIG_XFRM=y
> CONFIG_XFRM_USER=y
>
> #
> # SCTP Configuration (EXPERIMENTAL)
> #
> CONFIG_IPV6_SCTP__=y
> # CONFIG_IP_SCTP is not set
> # CONFIG_ATM is not set
> # CONFIG_VLAN_8021Q is not set
> CONFIG_LLC=y
> # CONFIG_LLC2 is not set
> # CONFIG_IPX is not set
> # CONFIG_ATALK is not set
> # CONFIG_X25 is not set
> # CONFIG_LAPB is not set
> # CONFIG_NET_DIVERT is not set
> # CONFIG_ECONET is not set
> # CONFIG_WAN_ROUTER is not set
> # CONFIG_NET_FASTROUTE is not set
> # CONFIG_NET_HW_FLOWCONTROL is not set
>
> #
> # QoS and/or fair queueing
> #
> # CONFIG_NET_SCHED is not set
>
> #
> # Network testing
> #
> # CONFIG_NET_PKTGEN is not set
> CONFIG_NETDEVICES=y
>
> #
> # ARCnet devices
> #
> # CONFIG_ARCNET is not set
> # CONFIG_DUMMY is not set
> # CONFIG_BONDING is not set
> # CONFIG_EQUALIZER is not set
> # CONFIG_TUN is not set
> # CONFIG_ETHERTAP is not set
>
> #
> # Ethernet (10 or 100Mbit)
> #
> CONFIG_NET_ETHERNET=y
> CONFIG_MII=y
> # CONFIG_HAPPYMEAL is not set
> # CONFIG_SUNGEM is not set
> CONFIG_NET_VENDOR_3COM=y
> CONFIG_VORTEX=y
> # CONFIG_TYPHOON is not set
>
> #
> # Tulip family network device support
> #
> CONFIG_NET_TULIP=y
> # CONFIG_DE2104X is not set
> CONFIG_TULIP=y
> CONFIG_TULIP_MWI=y
> CONFIG_TULIP_MMIO=y
> CONFIG_TULIP_NAPI=y
> CONFIG_TULIP_NAPI_HW_MITIGATION=y
> # CONFIG_DE4X5 is not set
> # CONFIG_WINBOND_840 is not set
> # CONFIG_DM9102 is not set
> # CONFIG_HP100 is not set
> CONFIG_NET_PCI=y
> # CONFIG_PCNET32 is not set
> # CONFIG_AMD8111_ETH is not set
> # CONFIG_ADAPTEC_STARFIRE is not set
> # CONFIG_B44 is not set
> # CONFIG_FORCEDETH is not set
> # CONFIG_DGRS is not set
> # CONFIG_EEPRO100 is not set
> CONFIG_E100=y
> CONFIG_E100_NAPI=y
> # CONFIG_FEALNX is not set
> # CONFIG_NATSEMI is not set
> # CONFIG_NE2K_PCI is not set
> # CONFIG_8139CP is not set
> CONFIG_8139TOO=y
> # CONFIG_8139TOO_PIO is not set
> # CONFIG_8139TOO_TUNE_TWISTER is not set
> # CONFIG_8139TOO_8129 is not set
> # CONFIG_8139_OLD_RX_RESET is not set
> CONFIG_8139_RXBUF_IDX=2
> # CONFIG_SIS900 is not set
> # CONFIG_EPIC100 is not set
> # CONFIG_SUNDANCE is not set
> # CONFIG_TLAN is not set
> # CONFIG_VIA_RHINE is not set
>
> #
> # Ethernet (1000 Mbit)
> #
> # CONFIG_ACENIC is not set
> # CONFIG_DL2K is not set
> # CONFIG_E1000 is not set
> # CONFIG_NS83820 is not set
> # CONFIG_HAMACHI is not set
> # CONFIG_YELLOWFIN is not set
> # CONFIG_R8169 is not set
> # CONFIG_SIS190 is not set
> # CONFIG_SK98LIN is not set
> # CONFIG_TIGON3 is not set
>
> #
> # Ethernet (10000 Mbit)
> #
> # CONFIG_IXGB is not set
> # CONFIG_FDDI is not set
> # CONFIG_HIPPI is not set
> # CONFIG_PLIP is not set
> # CONFIG_PPP is not set
> # CONFIG_SLIP is not set
>
> #
> # Wireless LAN (non-hamradio)
> #
> # CONFIG_NET_RADIO is not set
>
> #
> # Token Ring devices
> #
> CONFIG_TR=y
> CONFIG_IBMOL=y
> CONFIG_IBMLS=y
> CONFIG_3C359=y
> CONFIG_TMS380TR=y
> CONFIG_TMSPCI=y
> CONFIG_ABYSS=y
> # CONFIG_NET_FC is not set
> # CONFIG_RCPCI is not set
> # CONFIG_SHAPER is not set
> CONFIG_NETCONSOLE=y
>
> #
> # Wan interfaces
> #
> # CONFIG_WAN is not set
>
> #
> # Amateur Radio support
> #
> # CONFIG_HAMRADIO is not set
>
> #
> # IrDA (infrared) support
> #
> # CONFIG_IRDA is not set
>
> #
> # Bluetooth support
> #
> # CONFIG_BT is not set
> # CONFIG_KGDBOE is not set
> CONFIG_NETPOLL=y
> # CONFIG_NETPOLL_RX is not set
> # CONFIG_NETPOLL_TRAP is not set
> CONFIG_NET_POLL_CONTROLLER=y
>
> #
> # ISDN subsystem
> #
> # CONFIG_ISDN is not set
>
> #
> # Telephony Support
> #
> # CONFIG_PHONE is not set
>
> #
> # Input device support
> #
> CONFIG_INPUT=y
>
> #
> # Userland interfaces
> #
> CONFIG_INPUT_MOUSEDEV=y
> CONFIG_INPUT_MOUSEDEV_PSAUX=y
> CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024
> CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768
> CONFIG_INPUT_JOYDEV=y
> # CONFIG_INPUT_TSDEV is not set
> CONFIG_INPUT_EVDEV=y
> # CONFIG_INPUT_EVBUG is not set
>
> #
> # Input I/O drivers
> #
> # CONFIG_GAMEPORT is not set
> CONFIG_SOUND_GAMEPORT=y
> CONFIG_SERIO=y
> CONFIG_SERIO_I8042=y
> CONFIG_SERIO_SERPORT=y
> # CONFIG_SERIO_CT82C710 is not set
> # CONFIG_SERIO_PARKBD is not set
> # CONFIG_SERIO_PCIPS2 is not set
>
> #
> # Input Device Drivers
> #
> CONFIG_INPUT_KEYBOARD=y
> CONFIG_KEYBOARD_ATKBD=y
> # CONFIG_KEYBOARD_SUNKBD is not set
> # CONFIG_KEYBOARD_XTKBD is not set
> # CONFIG_KEYBOARD_NEWTON is not set
> CONFIG_INPUT_MOUSE=y
> CONFIG_MOUSE_PS2=y
> # CONFIG_MOUSE_SERIAL is not set
> # CONFIG_INPUT_JOYSTICK is not set
> # CONFIG_INPUT_TOUCHSCREEN is not set
> # CONFIG_INPUT_MISC is not set
>
> #
> # Character devices
> #
> CONFIG_VT=y
> CONFIG_VT_CONSOLE=y
> CONFIG_HW_CONSOLE=y
> # CONFIG_SERIAL_NONSTANDARD is not set
>
> #
> # Serial drivers
> #
> CONFIG_SERIAL_8250=y
> CONFIG_SERIAL_8250_CONSOLE=y
> CONFIG_SERIAL_8250_NR_UARTS=4
> # CONFIG_SERIAL_8250_EXTENDED is not set
>
> #
> # Non-8250 serial port support
> #
> CONFIG_SERIAL_CORE=y
> CONFIG_SERIAL_CORE_CONSOLE=y
> CONFIG_UNIX98_PTYS=y
> CONFIG_LEGACY_PTYS=y
> CONFIG_LEGACY_PTY_COUNT=256
> CONFIG_PRINTER=y
> # CONFIG_LP_CONSOLE is not set
> # CONFIG_PPDEV is not set
> # CONFIG_TIPAR is not set
> # CONFIG_QIC02_TAPE is not set
>
> #
> # IPMI
> #
> # CONFIG_IPMI_HANDLER is not set
>
> #
> # Watchdog Cards
> #
> # CONFIG_WATCHDOG is not set
> # CONFIG_HW_RANDOM is not set
> # CONFIG_NVRAM is not set
> CONFIG_RTC=y
> # CONFIG_DTLK is not set
> # CONFIG_R3964 is not set
> # CONFIG_APPLICOM is not set
> # CONFIG_SONYPI is not set
>
> #
> # Ftape, the floppy tape device driver
> #
> # CONFIG_FTAPE is not set
> CONFIG_AGP=y
> # CONFIG_AGP_ALI is not set
> # CONFIG_AGP_ATI is not set
> # CONFIG_AGP_AMD is not set
> # CONFIG_AGP_AMD64 is not set
> # CONFIG_AGP_INTEL is not set
> # CONFIG_AGP_NVIDIA is not set
> # CONFIG_AGP_SIS is not set
> # CONFIG_AGP_SWORKS is not set
> CONFIG_AGP_VIA=y
> # CONFIG_AGP_EFFICEON is not set
> CONFIG_DRM=y
> # CONFIG_DRM_TDFX is not set
> # CONFIG_DRM_GAMMA is not set
> # CONFIG_DRM_R128 is not set
> CONFIG_DRM_RADEON=y
> # CONFIG_DRM_MGA is not set
> # CONFIG_DRM_SIS is not set
> # CONFIG_MWAVE is not set
> # CONFIG_RAW_DRIVER is not set
> # CONFIG_HANGCHECK_TIMER is not set
>
> #
> # I2C support
> #
> CONFIG_I2C=y
> CONFIG_I2C_CHARDEV=y
>
> #
> # I2C Algorithms
> #
> CONFIG_I2C_ALGOBIT=y
> # CONFIG_I2C_ALGOPCF is not set
>
> #
> # I2C Hardware Bus support
> #
> # CONFIG_I2C_ALI1535 is not set
> # CONFIG_I2C_ALI15X3 is not set
> # CONFIG_I2C_AMD756 is not set
> # CONFIG_I2C_AMD8111 is not set
> # CONFIG_I2C_ELV is not set
> # CONFIG_I2C_I801 is not set
> # CONFIG_I2C_I810 is not set
> # CONFIG_I2C_ISA is not set
> # CONFIG_I2C_NFORCE2 is not set
> # CONFIG_I2C_PHILIPSPAR is not set
> # CONFIG_I2C_PARPORT is not set
> # CONFIG_I2C_PARPORT_LIGHT is not set
> # CONFIG_I2C_PIIX4 is not set
> # CONFIG_I2C_PROSAVAGE is not set
> # CONFIG_I2C_SAVAGE4 is not set
> # CONFIG_SCx200_ACB is not set
> # CONFIG_I2C_SIS5595 is not set
> # CONFIG_I2C_SIS630 is not set
> # CONFIG_I2C_SIS96X is not set
> # CONFIG_I2C_VELLEMAN is not set
> CONFIG_I2C_VIA=y
> CONFIG_I2C_VIAPRO=y
> # CONFIG_I2C_VOODOO3 is not set
>
> #
> # I2C Hardware Sensors Chip support
> #
> CONFIG_I2C_SENSOR=y
> # CONFIG_SENSORS_ADM1021 is not set
> # CONFIG_SENSORS_ASB100 is not set
> # CONFIG_SENSORS_EEPROM is not set
> # CONFIG_SENSORS_FSCHER is not set
> # CONFIG_SENSORS_GL518SM is not set
> # CONFIG_SENSORS_IT87 is not set
> # CONFIG_SENSORS_LM75 is not set
> # CONFIG_SENSORS_LM78 is not set
> # CONFIG_SENSORS_LM80 is not set
> # CONFIG_SENSORS_LM83 is not set
> # CONFIG_SENSORS_LM85 is not set
> # CONFIG_SENSORS_LM90 is not set
> # CONFIG_SENSORS_VIA686A is not set
> CONFIG_SENSORS_W83781D=y
> # CONFIG_SENSORS_W83L785TS is not set
> # CONFIG_I2C_DEBUG_CORE is not set
> # CONFIG_I2C_DEBUG_BUS is not set
> # CONFIG_I2C_DEBUG_CHIP is not set
>
> #
> # Multimedia devices
> #
> CONFIG_VIDEO_DEV=y
>
> #
> # Video For Linux
> #
>
> #
> # Video Adapters
> #
> CONFIG_VIDEO_BT848=m
> # CONFIG_VIDEO_BWQCAM is not set
> # CONFIG_VIDEO_CQCAM is not set
> # CONFIG_VIDEO_CPIA is not set
> # CONFIG_VIDEO_SAA5249 is not set
> # CONFIG_TUNER_3036 is not set
> # CONFIG_VIDEO_STRADIS is not set
> # CONFIG_VIDEO_ZORAN is not set
> # CONFIG_VIDEO_SAA7134 is not set
> # CONFIG_VIDEO_MXB is not set
> # CONFIG_VIDEO_DPC is not set
> # CONFIG_VIDEO_HEXIUM_ORION is not set
> # CONFIG_VIDEO_HEXIUM_GEMINI is not set
> # CONFIG_VIDEO_CX88 is not set
>
> #
> # Radio Adapters
> #
> # CONFIG_RADIO_GEMTEK_PCI is not set
> # CONFIG_RADIO_MAXIRADIO is not set
> # CONFIG_RADIO_MAESTRO is not set
>
> #
> # Digital Video Broadcasting Devices
> #
> # CONFIG_DVB is not set
> CONFIG_VIDEO_TUNER=m
> CONFIG_VIDEO_BUF=m
> CONFIG_VIDEO_BTCX=m
> CONFIG_VIDEO_IR=m
>
> #
> # Graphics support
> #
> # CONFIG_FB is not set
> CONFIG_VIDEO_SELECT=y
>
> #
> # Console display driver support
> #
> CONFIG_VGA_CONSOLE=y
> # CONFIG_MDA_CONSOLE is not set
> CONFIG_DUMMY_CONSOLE=y
>
> #
> # Sound
> #
> CONFIG_SOUND=y
>
> #
> # Advanced Linux Sound Architecture
> #
> CONFIG_SND=y
> # CONFIG_SND_SEQUENCER is not set
> CONFIG_SND_OSSEMUL=y
> CONFIG_SND_MIXER_OSS=y
> CONFIG_SND_PCM_OSS=y
> # CONFIG_SND_RTCTIMER is not set
> # CONFIG_SND_VERBOSE_PRINTK is not set
> # CONFIG_SND_DEBUG is not set
>
> #
> # Generic devices
> #
> # CONFIG_SND_DUMMY is not set
> # CONFIG_SND_MTPAV is not set
> # CONFIG_SND_SERIAL_U16550 is not set
> # CONFIG_SND_MPU401 is not set
>
> #
> # PCI devices
> #
> # CONFIG_SND_ALI5451 is not set
> # CONFIG_SND_AZT3328 is not set
> CONFIG_SND_BT87X=m
> # CONFIG_SND_CS46XX is not set
> # CONFIG_SND_CS4281 is not set
> # CONFIG_SND_EMU10K1 is not set
> # CONFIG_SND_KORG1212 is not set
> # CONFIG_SND_MIXART is not set
> # CONFIG_SND_NM256 is not set
> # CONFIG_SND_RME32 is not set
> # CONFIG_SND_RME96 is not set
> # CONFIG_SND_RME9652 is not set
> # CONFIG_SND_HDSP is not set
> # CONFIG_SND_TRIDENT is not set
> # CONFIG_SND_YMFPCI is not set
> # CONFIG_SND_ALS4000 is not set
> CONFIG_SND_CMIPCI=y
> # CONFIG_SND_ENS1370 is not set
> # CONFIG_SND_ENS1371 is not set
> # CONFIG_SND_ES1938 is not set
> # CONFIG_SND_ES1968 is not set
> # CONFIG_SND_MAESTRO3 is not set
> # CONFIG_SND_FM801 is not set
> # CONFIG_SND_ICE1712 is not set
> # CONFIG_SND_ICE1724 is not set
> # CONFIG_SND_INTEL8X0 is not set
> # CONFIG_SND_SONICVIBES is not set
> # CONFIG_SND_VIA82XX is not set
> # CONFIG_SND_VX222 is not set
>
> #
> # ALSA USB devices
> #
> # CONFIG_SND_USB_AUDIO is not set
>
> #
> # Open Sound System
> #
> # CONFIG_SOUND_PRIME is not set
>
> #
> # USB support
> #
> CONFIG_USB=y
> CONFIG_USB_DEBUG=y
>
> #
> # Miscellaneous USB options
> #
> CONFIG_USB_DEVICEFS=y
> # CONFIG_USB_BANDWIDTH is not set
> # CONFIG_USB_DYNAMIC_MINORS is not set
>
> #
> # USB Host Controller Drivers
> #
> CONFIG_USB_EHCI_HCD=y
> # CONFIG_USB_OHCI_HCD is not set
> CONFIG_USB_UHCI_HCD=y
>
> #
> # USB Device Class drivers
> #
> # CONFIG_USB_AUDIO is not set
> # CONFIG_USB_BLUETOOTH_TTY is not set
> # CONFIG_USB_MIDI is not set
> # CONFIG_USB_ACM is not set
> # CONFIG_USB_PRINTER is not set
> CONFIG_USB_STORAGE=y
> # CONFIG_USB_STORAGE_DEBUG is not set
> # CONFIG_USB_STORAGE_DATAFAB is not set
> CONFIG_USB_STORAGE_FREECOM=y
> CONFIG_USB_STORAGE_ISD200=y
> # CONFIG_USB_STORAGE_DPCM is not set
> # CONFIG_USB_STORAGE_HP8200e is not set
> CONFIG_USB_STORAGE_SDDR09=y
> CONFIG_USB_STORAGE_SDDR55=y
> # CONFIG_USB_STORAGE_JUMPSHOT is not set
>
> #
> # USB Human Interface Devices (HID)
> #
> CONFIG_USB_HID=y
> CONFIG_USB_HIDINPUT=y
> # CONFIG_HID_FF is not set
> # CONFIG_USB_HIDDEV is not set
> # CONFIG_USB_AIPTEK is not set
> # CONFIG_USB_WACOM is not set
> # CONFIG_USB_KBTAB is not set
> # CONFIG_USB_POWERMATE is not set
> # CONFIG_USB_XPAD is not set
>
> #
> # USB Imaging devices
> #
> # CONFIG_USB_MDC800 is not set
> # CONFIG_USB_MICROTEK is not set
> # CONFIG_USB_HPUSBSCSI is not set
>
> #
> # USB Multimedia devices
> #
> # CONFIG_USB_DABUSB is not set
> # CONFIG_USB_VICAM is not set
> # CONFIG_USB_DSBR is not set
> # CONFIG_USB_IBMCAM is not set
> # CONFIG_USB_KONICAWC is not set
> # CONFIG_USB_OV511 is not set
> # CONFIG_USB_PWC is not set
> # CONFIG_USB_SE401 is not set
> # CONFIG_USB_STV680 is not set
> # CONFIG_USB_W9968CF is not set
>
> #
> # USB Network adaptors
> #
> # CONFIG_USB_CATC is not set
> # CONFIG_USB_KAWETH is not set
> # CONFIG_USB_PEGASUS is not set
> # CONFIG_USB_RTL8150 is not set
> # CONFIG_USB_USBNET is not set
>
> #
> # USB port drivers
> #
> # CONFIG_USB_USS720 is not set
>
> #
> # USB Serial Converter support
> #
> # CONFIG_USB_SERIAL is not set
>
> #
> # USB Miscellaneous drivers
> #
> # CONFIG_USB_EMI62 is not set
> # CONFIG_USB_EMI26 is not set
> # CONFIG_USB_TIGL is not set
> # CONFIG_USB_AUERSWALD is not set
> # CONFIG_USB_RIO500 is not set
> # CONFIG_USB_LEGOTOWER is not set
> # CONFIG_USB_BRLVGER is not set
> # CONFIG_USB_LCD is not set
> # CONFIG_USB_LED is not set
> # CONFIG_USB_TEST is not set
>
> #
> # USB Gadget Support
> #
> # CONFIG_USB_GADGET is not set
>
> #
> # File systems
> #
> CONFIG_EXT2_FS=y
> CONFIG_EXT2_FS_XATTR=y
> # CONFIG_EXT2_FS_POSIX_ACL is not set
> # CONFIG_EXT2_FS_SECURITY is not set
> CONFIG_EXT3_FS=y
> CONFIG_EXT3_FS_XATTR=y
> # CONFIG_EXT3_FS_POSIX_ACL is not set
> # CONFIG_EXT3_FS_SECURITY is not set
> CONFIG_JBD=y
> # CONFIG_JBD_DEBUG is not set
> CONFIG_FS_MBCACHE=y
> # CONFIG_REISERFS_FS is not set
> # CONFIG_JFS_FS is not set
> # CONFIG_XFS_FS is not set
> # CONFIG_MINIX_FS is not set
> # CONFIG_ROMFS_FS is not set
> # CONFIG_QUOTA is not set
> # CONFIG_AUTOFS_FS is not set
> CONFIG_AUTOFS4_FS=y
>
> #
> # CD-ROM/DVD Filesystems
> #
> CONFIG_ISO9660_FS=y
> CONFIG_JOLIET=y
> # CONFIG_ZISOFS is not set
> # CONFIG_UDF_FS is not set
>
> #
> # DOS/FAT/NT Filesystems
> #
> CONFIG_FAT_FS=y
> # CONFIG_MSDOS_FS is not set
> CONFIG_VFAT_FS=y
> # CONFIG_NTFS_FS is not set
>
> #
> # Pseudo filesystems
> #
> CONFIG_PROC_FS=y
> CONFIG_PROC_KCORE=y
> CONFIG_SYSFS=y
> # CONFIG_DEVFS_FS is not set
> # CONFIG_DEVPTS_FS_XATTR is not set
> CONFIG_TMPFS=y
> # CONFIG_HUGETLBFS is not set
> # CONFIG_HUGETLB_PAGE is not set
> CONFIG_RAMFS=y
>
> #
> # Miscellaneous filesystems
> #
> # CONFIG_ADFS_FS is not set
> # CONFIG_AFFS_FS is not set
> # CONFIG_HFS_FS is not set
> # CONFIG_HFSPLUS_FS is not set
> # CONFIG_BEFS_FS is not set
> # CONFIG_BFS_FS is not set
> # CONFIG_EFS_FS is not set
> # CONFIG_CRAMFS is not set
> # CONFIG_VXFS_FS is not set
> # CONFIG_HPFS_FS is not set
> # CONFIG_QNX4FS_FS is not set
> # CONFIG_SYSV_FS is not set
> # CONFIG_UFS_FS is not set
>
> #
> # Network File Systems
> #
> CONFIG_NFS_FS=y
> CONFIG_NFS_V3=y
> # CONFIG_NFS_V4 is not set
> CONFIG_NFS_DIRECTIO=y
> CONFIG_NFSD=y
> CONFIG_NFSD_V3=y
> # CONFIG_NFSD_V4 is not set
> CONFIG_NFSD_TCP=y
> CONFIG_LOCKD=y
> CONFIG_LOCKD_V4=y
> CONFIG_EXPORTFS=y
> CONFIG_SUNRPC=y
> # CONFIG_SUNRPC_GSS is not set
> CONFIG_SMB_FS=y
> CONFIG_SMB_NLS_DEFAULT=y
> CONFIG_SMB_NLS_REMOTE="euc-jp"
> # CONFIG_CIFS is not set
> # CONFIG_NCP_FS is not set
> # CONFIG_CODA_FS is not set
> # CONFIG_AFS_FS is not set
>
> #
> # Partition Types
> #
> CONFIG_PARTITION_ADVANCED=y
> # CONFIG_ACORN_PARTITION is not set
> # CONFIG_OSF_PARTITION is not set
> # CONFIG_AMIGA_PARTITION is not set
> # CONFIG_ATARI_PARTITION is not set
> # CONFIG_MAC_PARTITION is not set
> CONFIG_MSDOS_PARTITION=y
> # CONFIG_BSD_DISKLABEL is not set
> # CONFIG_MINIX_SUBPARTITION is not set
> # CONFIG_SOLARIS_X86_PARTITION is not set
> # CONFIG_UNIXWARE_DISKLABEL is not set
> CONFIG_LDM_PARTITION=y
> # CONFIG_LDM_DEBUG is not set
> # CONFIG_NEC98_PARTITION is not set
> # CONFIG_SGI_PARTITION is not set
> # CONFIG_ULTRIX_PARTITION is not set
> # CONFIG_SUN_PARTITION is not set
> # CONFIG_EFI_PARTITION is not set
>
> #
> # Native Language Support
> #
> CONFIG_NLS=y
> CONFIG_NLS_DEFAULT="iso8859-1"
> CONFIG_NLS_CODEPAGE_437=y
> # CONFIG_NLS_CODEPAGE_737 is not set
> # CONFIG_NLS_CODEPAGE_775 is not set
> CONFIG_NLS_CODEPAGE_850=y
> # CONFIG_NLS_CODEPAGE_852 is not set
> # CONFIG_NLS_CODEPAGE_855 is not set
> # CONFIG_NLS_CODEPAGE_857 is not set
> # CONFIG_NLS_CODEPAGE_860 is not set
> # CONFIG_NLS_CODEPAGE_861 is not set
> # CONFIG_NLS_CODEPAGE_862 is not set
> # CONFIG_NLS_CODEPAGE_863 is not set
> # CONFIG_NLS_CODEPAGE_864 is not set
> # CONFIG_NLS_CODEPAGE_865 is not set
> # CONFIG_NLS_CODEPAGE_866 is not set
> # CONFIG_NLS_CODEPAGE_869 is not set
> # CONFIG_NLS_CODEPAGE_936 is not set
> # CONFIG_NLS_CODEPAGE_950 is not set
> CONFIG_NLS_CODEPAGE_932=y
> # CONFIG_NLS_CODEPAGE_949 is not set
> # CONFIG_NLS_CODEPAGE_874 is not set
> # CONFIG_NLS_ISO8859_8 is not set
> # CONFIG_NLS_CODEPAGE_1250 is not set
> # CONFIG_NLS_CODEPAGE_1251 is not set
> CONFIG_NLS_ISO8859_1=y
> # CONFIG_NLS_ISO8859_2 is not set
> # CONFIG_NLS_ISO8859_3 is not set
> # CONFIG_NLS_ISO8859_4 is not set
> # CONFIG_NLS_ISO8859_5 is not set
> # CONFIG_NLS_ISO8859_6 is not set
> # CONFIG_NLS_ISO8859_7 is not set
> # CONFIG_NLS_ISO8859_9 is not set
> # CONFIG_NLS_ISO8859_13 is not set
> # CONFIG_NLS_ISO8859_14 is not set
> CONFIG_NLS_ISO8859_15=y
> # CONFIG_NLS_KOI8_R is not set
> # CONFIG_NLS_KOI8_U is not set
> CONFIG_NLS_UTF8=y
>
> #
> # Profiling support
> #
> # CONFIG_PROFILING is not set
>
> #
> # Kernel hacking
> #
> CONFIG_DEBUG_KERNEL=y
> # CONFIG_EARLY_PRINTK is not set
> CONFIG_DEBUG_STACKOVERFLOW=y
> # CONFIG_DEBUG_STACK_USAGE is not set
> CONFIG_DEBUG_SLAB=y
> # CONFIG_DEBUG_IOVIRT is not set
> # CONFIG_MAGIC_SYSRQ is not set
> CONFIG_DEBUG_SPINLOCK=y
> CONFIG_DEBUG_PAGEALLOC=y
> # CONFIG_SPINLINE is not set
> CONFIG_DEBUG_INFO=y
> CONFIG_DEBUG_SPINLOCK_SLEEP=y
> # CONFIG_KGDB is not set
> CONFIG_FRAME_POINTER=y
>
> #
> # Security options
> #
> # CONFIG_SECURITY is not set
>
> #
> # Cryptographic options
> #
> CONFIG_CRYPTO=y
> CONFIG_CRYPTO_HMAC=y
> CONFIG_CRYPTO_NULL=y
> CONFIG_CRYPTO_MD4=y
> CONFIG_CRYPTO_MD5=y
> CONFIG_CRYPTO_SHA1=y
> CONFIG_CRYPTO_SHA256=y
> CONFIG_CRYPTO_SHA512=y
> CONFIG_CRYPTO_DES=y
> CONFIG_CRYPTO_BLOWFISH=y
> CONFIG_CRYPTO_TWOFISH=y
> CONFIG_CRYPTO_SERPENT=y
> CONFIG_CRYPTO_AES=y
> CONFIG_CRYPTO_CAST5=y
> CONFIG_CRYPTO_CAST6=y
> CONFIG_CRYPTO_DEFLATE=y
> # CONFIG_CRYPTO_TEST is not set
>
> #
> # Library routines
> #
> CONFIG_CRC32=y
> CONFIG_ZLIB_INFLATE=y
> CONFIG_ZLIB_DEFLATE=y
> CONFIG_X86_BIOS_REBOOT=y

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/

\
 
 \ /
  Last update: 2005-03-22 14:01    [W:0.120 / U:0.176 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site