[OpenAFS] Question about GCPAGs
Mike Polek
mike@pictage.com
Fri, 29 Feb 2008 11:05:26 -0800
Hi, All,
I haven't heard anything on this previous post.... and it may be
becoming more of an issue. Is the following kernel BUG report
related to the PAGs not being garbage collected? Is it something
I should be seriously worried about? And is it something that
has already been fixed post 1.4.4? I've seen it in my testing
under heavy loads, and it just showed up on a production machine
today under not-so-heavy load. Below snippet is from the production
server.
Thanks!
Mike
openafs: afs global lock not held at
/usr/src/redhat/BUILD/openafs-1.4.3/src/libafs/MODLOAD-2.6.20-1.2962.fc6-SP/afs_lock.c:133
------------[ cut here ]------------
kernel BUG at
/usr/src/redhat/BUILD/openafs-1.4.3/src/libafs/MODLOAD-2.6.20-1.2962.fc6-SP/afs_lock.c:133!
invalid opcode: 0000 [#1]
SMP
last sysfs file: /block/ram0/range
Modules linked in: ipv6 sunrpc ipip tunnel4 dm_mirror dm_multipath dm_mod
video sbs i2c_ec dock button battery asus_acpi backlight ac parport_pc lp
parport scb2_flash mtdcore chipreg map_funcs ide_cd floppy i2c_piix4 cdrom
serio_raw i2c_core pcspkr ehci_hcd ohci_hcd uhci_hcd openafs(P)(U) e100 mii
e1000
CPU: 1
EIP: 0060:[<cf902413>] Tainted: P VLI
EFLAGS: 00010286 (2.6.20-1.2962.fc6 #1)
EIP is at Afs_Lock_Obtain+0x40/0x181 [openafs]
eax: 00000083 ebx: cf966920 ecx: c0701090 edx: 00000086
esi: ffffffff edi: 00000002 ebp: c070c70c esp: c24c3f20
ds: 007b es: 007b ss: 0068
Process events/1 (pid: 9, ti=c24c3000 task=c24be050 task.ti=c24c3000)
Stack: cf946a39 cf9469e2 00000085 c0434842 00000000 00000286 00000286 c620f2a0
ffffffff 41b70613 cf909d40 c620f2a0 c620f2a8 00000296 cf935487 c04bee0c
c070c710 c24b9dc0 c043471e 00000000 00000282 c24a8f08 c0620a17 c04bed56
Call Trace:
[<c0434842>] __queue_work+0x51/0x5e
[<cf909d40>] afs_FindUser+0x31/0x99 [openafs]
[<cf935487>] afs_pag_destroy+0x10/0x2d [openafs]
[<c04bee0c>] key_cleanup+0xb6/0xcf
[<c043471e>] run_workqueue+0x85/0x125
[<c0620a17>] _spin_lock_irqsave+0x9/0xd
[<c04bed56>] key_cleanup+0x0/0xcf
[<c0435090>] worker_thread+0xf9/0x124
[<c042264f>] default_wake_function+0x0/0xc
[<c0434f97>] worker_thread+0x0/0x124
[<c04376a3>] kthread+0xb0/0xd9
[<c04375f3>] kthread+0x0/0xd9
[<c0404b33>] kernel_thread_helper+0x7/0x10
=======================
Code: 65 8b 15 08 00 00 00 3b 82 a8 00 00 00 74 20 c7 44 24 08 85 00 00 00
c7 44 24 04 e2 69 94 cf c7 04 24 39 6a 94 cf e8 72 56 b2 f0 <0f> 0b eb fe 8d
44 24 14 e8 32 bc b2 f0 83 ff 02 74 38 7f 0b 83
EIP: [<cf902413>] Afs_Lock_Obtain+0x40/0x181 [openafs] SS:ESP 0068:c24c3f20
Mike Polek wrote:
> Hi, All,
> I'm attempting to make sure that my PAGs get garbage collected,
> so I don't have issues with running out on my ftp server.
> It seems that after I set /proc/sys/afs/GCPAGs to 1, it's
> being reset to 8 after a period of time. I'm guessing it's
> this piece of code in afs_user.c:afs_GCPAGs() :
>
>
>
> /* If there is an internal problem and afs_GCPAGs_perproc_func()
> * does not get called, disable gcpags so that we do not
> * accidentally expire all the tokens in the system.
> */
> if (afs_gcpags == AFS_GCPAGS_OK && !afs_GCPAGs_perproc_count) {
> afs_gcpags = AFS_GCPAGS_EPROCWALK;
> }
>
>
>
>
> It's not clear to me under what conditions this gets triggered..
> i.e. why is afs_GCPAGs_perproc_func() not getting called?
> What might the "internal problem" be that the writer had in mind?
>
> Is there a known solution to the issue? I found a prior email on
> the subject in the archives from last year, but there didn't
> seem to be any response.
>
> Thanks in advance,
>
> Mike
> _______________________________________________
> OpenAFS-info mailing list
> OpenAFS-info@openafs.org
> https://lists.openafs.org/mailman/listinfo/openafs-info
>