Thread (34 messages) 34 messages, 7 authors, 2015-12-18

Re: rhashtable: Prevent spurious EBUSY errors on insertion

From: David Miller <davem@davemloft.net>
Date: 2015-12-17 17:00:29
Also in: lkml, oe-lkp

From: Xin Long <lucien.xin@gmail.com>
Date: Thu, 17 Dec 2015 17:00:35 +0800
On Thu, Dec 17, 2015 at 4:48 PM, Herbert Xu [off-list ref] wrote:
quoted
On Thu, Dec 17, 2015 at 04:46:00PM +0800, Xin Long wrote:
quoted
sorry for late test, but unfortunately, my case with rhashtalbe still
return EBUSY.
I added some debug code in rhashtable_insert_rehash(), and found:
*future_tbl is null*

fail:
        /* Do not fail the insert if someone else did a rehash. */
        if (likely(rcu_dereference_raw(tbl->future_tbl))) {
                printk("future_tbl is there\n");
                return 0;
        } else {
                printk("future_tbl is null\n");
        }

any idea why ?
That's presumably because you got a genuine double rehash.

Until you post your code we can't really help you.
i wish i could , but my codes is a big patch for sctp, and this issue
happens in a special stress test based on this patch.
im trying to think how i can show you. :)
Simply post it.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help