Re: bluetooth: hci_sysfs work queue problem
On 10/1/07, Marcel Holtmann <[EMAIL PROTECTED]> wrote: > Hi Dave, > > > The hci_sysfs uses work queue to finish the sysfs add/del fuction. > > But when the same device connection failed, if another connection of > > same device come in before the delete work finish, sysfs will warn > > about duplicate filename creating. > > which kernel are we talking about. This problem should not exist > anymore. However the usage of a work queue is unavoidable. Recently, I encounted this issue again: Oct 26 16:57:00 darkstar kernel: sysfs: duplicate filename 'acl00194FA4E517' can not be created Oct 26 16:57:00 darkstar kernel: WARNING: at fs/sysfs/dir.c:424 sysfs_add_one() Oct 26 16:57:00 darkstar kernel: [] sysfs_add_one+0xa0/0xe0 Oct 26 16:57:00 darkstar kernel: [] sysfs_create_link+0x9b/0x140 Oct 26 16:57:00 darkstar kernel: [] create_files+0x31/0x60 Oct 26 16:57:00 darkstar kernel: [] bus_add_device+0x5b/0xf0 Oct 26 16:57:00 darkstar kernel: [] device_add+0x11c/0x350 Oct 26 16:57:00 darkstar kernel: [] add_conn+0x0/0x90 [bluetooth] Oct 26 16:57:00 darkstar kernel: [] add_conn+0xf/0x90 [bluetooth] Oct 26 16:57:00 darkstar kernel: [] run_workqueue+0x5e/0x110 Oct 26 16:57:00 darkstar kernel: [] worker_thread+0xac/0x100 Oct 26 16:57:00 darkstar kernel: [] autoremove_wake_function+0x0/0x50 Oct 26 16:57:00 darkstar kernel: [] autoremove_wake_function+0x0/0x50 Oct 26 16:57:00 darkstar kernel: [] worker_thread+0x0/0x100 Oct 26 16:57:00 darkstar kernel: [] kthread+0x59/0xa0 Oct 26 16:57:00 darkstar kernel: [] kthread+0x0/0xa0 Oct 26 16:57:00 darkstar kernel: [] kernel_thread_helper+0x7/0x14 Oct 26 16:57:00 darkstar kernel: === Oct 26 16:57:00 darkstar kernel: add_conn: Failed to register connection device Seems same problem as before. This time, I just used several rfcomm connections. I think if we can add an atomic variable 'going_away' like this: in hci_conn_del_sysfs: before INIT_WORK; atomic_set(_away, 1) in del_conn: after deleting completed atomic_set(_away, 0) in add_conn: busy waiting the going_away while (atomic_read(_away)) cpu_relax() Regards dave > Regards > > Marcel > > > - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: bluetooth: hci_sysfs work queue problem
On 10/1/07, Marcel Holtmann [EMAIL PROTECTED] wrote: Hi Dave, The hci_sysfs uses work queue to finish the sysfs add/del fuction. But when the same device connection failed, if another connection of same device come in before the delete work finish, sysfs will warn about duplicate filename creating. which kernel are we talking about. This problem should not exist anymore. However the usage of a work queue is unavoidable. Recently, I encounted this issue again: Oct 26 16:57:00 darkstar kernel: sysfs: duplicate filename 'acl00194FA4E517' can not be created Oct 26 16:57:00 darkstar kernel: WARNING: at fs/sysfs/dir.c:424 sysfs_add_one() Oct 26 16:57:00 darkstar kernel: [c01c0120] sysfs_add_one+0xa0/0xe0 Oct 26 16:57:00 darkstar kernel: [c01c0d7b] sysfs_create_link+0x9b/0x140 Oct 26 16:57:00 darkstar kernel: [c01c1671] create_files+0x31/0x60 Oct 26 16:57:00 darkstar kernel: [c02b537b] bus_add_device+0x5b/0xf0 Oct 26 16:57:00 darkstar kernel: [c02b391c] device_add+0x11c/0x350 Oct 26 16:57:00 darkstar kernel: [f8879410] add_conn+0x0/0x90 [bluetooth] Oct 26 16:57:00 darkstar kernel: [f887941f] add_conn+0xf/0x90 [bluetooth] Oct 26 16:57:00 darkstar kernel: [c013baee] run_workqueue+0x5e/0x110 Oct 26 16:57:00 darkstar kernel: [c013bc4c] worker_thread+0xac/0x100 Oct 26 16:57:00 darkstar kernel: [c014] autoremove_wake_function+0x0/0x50 Oct 26 16:57:00 darkstar kernel: [c014] autoremove_wake_function+0x0/0x50 Oct 26 16:57:00 darkstar kernel: [c013bba0] worker_thread+0x0/0x100 Oct 26 16:57:00 darkstar kernel: [c013fa39] kthread+0x59/0xa0 Oct 26 16:57:00 darkstar kernel: [c013f9e0] kthread+0x0/0xa0 Oct 26 16:57:00 darkstar kernel: [c0104f83] kernel_thread_helper+0x7/0x14 Oct 26 16:57:00 darkstar kernel: === Oct 26 16:57:00 darkstar kernel: add_conn: Failed to register connection device Seems same problem as before. This time, I just used several rfcomm connections. I think if we can add an atomic variable 'going_away' like this: in hci_conn_del_sysfs: before INIT_WORK; atomic_set(going_away, 1) in del_conn: after deleting completed atomic_set(going_away, 0) in add_conn: busy waiting the going_away while (atomic_read(going_away)) cpu_relax() Regards dave Regards Marcel - To unsubscribe from this list: send the line unsubscribe linux-kernel in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: bluetooth: hci_sysfs work queue problem
Hi Dave, > The hci_sysfs uses work queue to finish the sysfs add/del fuction. > But when the same device connection failed, if another connection of > same device come in before the delete work finish, sysfs will warn > about duplicate filename creating. which kernel are we talking about. This problem should not exist anymore. However the usage of a work queue is unavoidable. Regards Marcel - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: bluetooth: hci_sysfs work queue problem
Hi Dave, The hci_sysfs uses work queue to finish the sysfs add/del fuction. But when the same device connection failed, if another connection of same device come in before the delete work finish, sysfs will warn about duplicate filename creating. which kernel are we talking about. This problem should not exist anymore. However the usage of a work queue is unavoidable. Regards Marcel - To unsubscribe from this list: send the line unsubscribe linux-kernel in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
bluetooth: hci_sysfs work queue problem
Hi, The hci_sysfs uses work queue to finish the sysfs add/del fuction. But when the same device connection failed, if another connection of same device come in before the delete work finish, sysfs will warn about duplicate filename creating. Sep 19 12:30:27 darkstar kernel: sysfs: duplicate filename 'acl00194FDB6C71' can not be created Sep 19 12:30:27 darkstar kernel: WARNING: at fs/sysfs/dir.c:433 sysfs_add_one() Sep 19 12:30:27 darkstar kernel: [] sysfs_add_one+0xa0/0xe0 Sep 19 12:30:27 darkstar kernel: [] create_dir+0x48/0xb0 Sep 19 12:30:27 darkstar kernel: [] __slab_alloc+0x205/0x250 Sep 19 12:30:27 darkstar kernel: [] sysfs_create_dir+0x29/0x50 Sep 19 12:30:27 darkstar kernel: [] create_dir+0x1b/0x50 Sep 19 12:30:27 darkstar kernel: [] kobject_add+0x46/0x150 Sep 19 12:30:27 darkstar kernel: [] kobject_set_name+0x84/0xf0 Sep 19 12:30:27 darkstar kernel: [] device_add+0x95/0x350 Sep 19 12:30:27 darkstar kernel: [] add_conn+0x0/0x90 [bluetooth] Sep 19 12:30:27 darkstar kernel: [] add_conn+0xf/0x90 [bluetooth] Sep 19 12:30:27 darkstar kernel: [] vmstat_update+0x0/0x30 Sep 19 12:30:27 darkstar kernel: [] run_workqueue+0x5e/0x110 Sep 19 12:30:27 darkstar kernel: [] worker_thread+0xac/0x100 Sep 19 12:30:27 darkstar kernel: [] autoremove_wake_function+0x0/0x50 Sep 19 12:30:27 darkstar kernel: [] autoremove_wake_function+0x0/0x50 Sep 19 12:30:27 darkstar kernel: [] worker_thread+0x0/0x100 Sep 19 12:30:27 darkstar kernel: [] kthread+0x59/0xa0 Sep 19 12:30:27 darkstar kernel: [] kthread+0x0/0xa0 Sep 19 12:30:27 darkstar kernel: [] kernel_thread_helper+0x7/0x14 Sep 19 12:30:27 darkstar kernel: === Sep 19 12:30:27 darkstar kernel: kobject_add failed for acl00194FDB6C71 with -EEXIST, don't try to register things with the same name in the same directory. Sep 19 12:30:27 darkstar kernel: [] kobject_add+0xf6/0x150 Sep 19 12:30:27 darkstar kernel: [] device_add+0x95/0x350 Sep 19 12:30:27 darkstar kernel: [] add_conn+0x0/0x90 [bluetooth] Sep 19 12:30:27 darkstar kernel: [] add_conn+0xf/0x90 [bluetooth] Sep 19 12:30:27 darkstar kernel: [] vmstat_update+0x0/0x30 Sep 19 12:30:27 darkstar kernel: [] run_workqueue+0x5e/0x110 Sep 19 12:30:27 darkstar kernel: [] worker_thread+0xac/0x100 Sep 19 12:30:27 darkstar kernel: [] autoremove_wake_function+0x0/0x50 Sep 19 12:30:27 darkstar kernel: [] autoremove_wake_function+0x0/0x50 Sep 19 12:30:27 darkstar kernel: [] worker_thread+0x0/0x100 Sep 19 12:30:27 darkstar kernel: [] kthread+0x59/0xa0 Sep 19 12:30:27 darkstar kernel: [] kthread+0x0/0xa0 Sep 19 12:30:27 darkstar kernel: [] kernel_thread_helper+0x7/0x14 Sep 19 12:30:27 darkstar kernel: === Sep 19 12:30:27 darkstar kernel: add_conn: Failed to register connection device Sep 19 12:41:36 darkstar kernel: [] kernel_thread_helper+0x7/0x14 Marcel, how to resolve this problem? do you have some ideas? Regards dave - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
bluetooth: hci_sysfs work queue problem
Hi, The hci_sysfs uses work queue to finish the sysfs add/del fuction. But when the same device connection failed, if another connection of same device come in before the delete work finish, sysfs will warn about duplicate filename creating. Sep 19 12:30:27 darkstar kernel: sysfs: duplicate filename 'acl00194FDB6C71' can not be created Sep 19 12:30:27 darkstar kernel: WARNING: at fs/sysfs/dir.c:433 sysfs_add_one() Sep 19 12:30:27 darkstar kernel: [c01c3ad0] sysfs_add_one+0xa0/0xe0 Sep 19 12:30:27 darkstar kernel: [c01c3e38] create_dir+0x48/0xb0 Sep 19 12:30:27 darkstar kernel: [c0178df5] __slab_alloc+0x205/0x250 Sep 19 12:30:27 darkstar kernel: [c01c3ee9] sysfs_create_dir+0x29/0x50 Sep 19 12:30:27 darkstar kernel: [c024cf5b] create_dir+0x1b/0x50 Sep 19 12:30:27 darkstar kernel: [c024d226] kobject_add+0x46/0x150 Sep 19 12:30:27 darkstar kernel: [c024d404] kobject_set_name+0x84/0xf0 Sep 19 12:30:27 darkstar kernel: [c02b7035] device_add+0x95/0x350 Sep 19 12:30:27 darkstar kernel: [f88aec60] add_conn+0x0/0x90 [bluetooth] Sep 19 12:30:27 darkstar kernel: [f88aec6f] add_conn+0xf/0x90 [bluetooth] Sep 19 12:30:27 darkstar kernel: [c01663d0] vmstat_update+0x0/0x30 Sep 19 12:30:27 darkstar kernel: [c013bdfe] run_workqueue+0x5e/0x110 Sep 19 12:30:27 darkstar kernel: [c013bf5c] worker_thread+0xac/0x100 Sep 19 12:30:27 darkstar kernel: [c0140340] autoremove_wake_function+0x0/0x50 Sep 19 12:30:27 darkstar kernel: [c0140340] autoremove_wake_function+0x0/0x50 Sep 19 12:30:27 darkstar kernel: [c013beb0] worker_thread+0x0/0x100 Sep 19 12:30:27 darkstar kernel: [c013fd49] kthread+0x59/0xa0 Sep 19 12:30:27 darkstar kernel: [c013fcf0] kthread+0x0/0xa0 Sep 19 12:30:27 darkstar kernel: [c0104fb3] kernel_thread_helper+0x7/0x14 Sep 19 12:30:27 darkstar kernel: === Sep 19 12:30:27 darkstar kernel: kobject_add failed for acl00194FDB6C71 with -EEXIST, don't try to register things with the same name in the same directory. Sep 19 12:30:27 darkstar kernel: [c024d2d6] kobject_add+0xf6/0x150 Sep 19 12:30:27 darkstar kernel: [c02b7035] device_add+0x95/0x350 Sep 19 12:30:27 darkstar kernel: [f88aec60] add_conn+0x0/0x90 [bluetooth] Sep 19 12:30:27 darkstar kernel: [f88aec6f] add_conn+0xf/0x90 [bluetooth] Sep 19 12:30:27 darkstar kernel: [c01663d0] vmstat_update+0x0/0x30 Sep 19 12:30:27 darkstar kernel: [c013bdfe] run_workqueue+0x5e/0x110 Sep 19 12:30:27 darkstar kernel: [c013bf5c] worker_thread+0xac/0x100 Sep 19 12:30:27 darkstar kernel: [c0140340] autoremove_wake_function+0x0/0x50 Sep 19 12:30:27 darkstar kernel: [c0140340] autoremove_wake_function+0x0/0x50 Sep 19 12:30:27 darkstar kernel: [c013beb0] worker_thread+0x0/0x100 Sep 19 12:30:27 darkstar kernel: [c013fd49] kthread+0x59/0xa0 Sep 19 12:30:27 darkstar kernel: [c013fcf0] kthread+0x0/0xa0 Sep 19 12:30:27 darkstar kernel: [c0104fb3] kernel_thread_helper+0x7/0x14 Sep 19 12:30:27 darkstar kernel: === Sep 19 12:30:27 darkstar kernel: add_conn: Failed to register connection device Sep 19 12:41:36 darkstar kernel: [c0104fb3] kernel_thread_helper+0x7/0x14 Marcel, how to resolve this problem? do you have some ideas? Regards dave - To unsubscribe from this list: send the line unsubscribe linux-kernel in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/