Messages in this thread | | | Subject | Re: RCU issue with SELinux (Re: SELINUX performance issues) | From | Stephen Smalley <> | Date | Thu, 26 Aug 2004 09:24:12 -0400 |
| |
On Thu, 2004-08-26 at 03:53, Kaigai Kohei wrote: > In my understanding, your worry about robustness is the execution path > when kmalloc() returns NULL.
Correct.
> (But avc_insert() always returns 0, because avc_insert() reclaim a avc_node > under the spinlock when free_list is empty.)
Yes, this is the point. avc_has_perm could not fail previously from an out of memory condition, as the cache nodes were preallocated, maintained on their own freelist, and reclaimed as needed.
> By this method, the decision-making is available irrespective of > the result of kmalloc(). Is it robustless? > The original implementation has too many lock contensitons in Big-SMP > environment. It is more positive to consider the method using RCU.
Yes, that would address my concern. However, I'm still unclear as to why using RCU mandates that we migrate from preallocated nodes to dynamic allocation. I certainly agree that the existing global spinlock doesn't scale.
> Please wait for a patch, thanks.
Thanks for working on this. Could you also supply updated performance data when you have a newer patch? Thanks.
-- Stephen Smalley <sds@epoch.ncsc.mil> National Security Agency
- 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/
| |