> On Wed, 3 Oct 2007, Yasunori Goto wrote:
>
> > >
> > > That would work. But it would be better to shrink the cache first. The
> > > first 2 slabs on a node may be empty and the shrinking will remove those.
> > > If you do not shrink then the code may falsely assume that there are
> > >
On Wed, 3 Oct 2007, Yasunori Goto wrote:
> >
> > That would work. But it would be better to shrink the cache first. The
> > first 2 slabs on a node may be empty and the shrinking will remove those.
> > If you do not shrink then the code may falsely assume that there are
> > objects on the
> On Tue, 2 Oct 2007, Yasunori Goto wrote:
>
> > Do you mean that just nr_slabs should be checked like followings?
> > I'm not sure this is enough.
> >
> > :
> > if (s->node[nid]) {
> > n = get_node(s, nid);
> > if (!atomic_read(>nr_slabs)) {
> > s->node[nid] = NULL;
> >
On Tue, 2 Oct 2007, Yasunori Goto wrote:
Do you mean that just nr_slabs should be checked like followings?
I'm not sure this is enough.
:
if (s-node[nid]) {
n = get_node(s, nid);
if (!atomic_read(n-nr_slabs)) {
s-node[nid] = NULL;
On Wed, 3 Oct 2007, Yasunori Goto wrote:
That would work. But it would be better to shrink the cache first. The
first 2 slabs on a node may be empty and the shrinking will remove those.
If you do not shrink then the code may falsely assume that there are
objects on the node.
I'm
On Wed, 3 Oct 2007, Yasunori Goto wrote:
That would work. But it would be better to shrink the cache first. The
first 2 slabs on a node may be empty and the shrinking will remove those.
If you do not shrink then the code may falsely assume that there are
objects on the node.
On Tue, 2 Oct 2007, Yasunori Goto wrote:
> Do you mean that just nr_slabs should be checked like followings?
> I'm not sure this is enough.
>
> :
> if (s->node[nid]) {
> n = get_node(s, nid);
> if (!atomic_read(>nr_slabs)) {
> s->node[nid] = NULL;
>
On Tue, 2 Oct 2007, Yasunori Goto wrote:
Do you mean that just nr_slabs should be checked like followings?
I'm not sure this is enough.
:
if (s-node[nid]) {
n = get_node(s, nid);
if (!atomic_read(n-nr_slabs)) {
s-node[nid] = NULL;
> On Mon, 1 Oct 2007, Yasunori Goto wrote:
>
> > +#ifdef CONFIG_MEMORY_HOTPLUG
> > +static void __slab_callback_offline(int nid)
> > +{
> > + struct kmem_cache_node *n;
> > + struct kmem_cache *s;
> > +
> > + list_for_each_entry(s, _caches, list) {
> > + if (s->node[nid]) {
> > +
On Mon, 1 Oct 2007, Yasunori Goto wrote:
> +#ifdef CONFIG_MEMORY_HOTPLUG
> +static void __slab_callback_offline(int nid)
> +{
> + struct kmem_cache_node *n;
> + struct kmem_cache *s;
> +
> + list_for_each_entry(s, _caches, list) {
> + if (s->node[nid]) {
> +
On Mon, 1 Oct 2007, Yasunori Goto wrote:
+#ifdef CONFIG_MEMORY_HOTPLUG
+static void __slab_callback_offline(int nid)
+{
+ struct kmem_cache_node *n;
+ struct kmem_cache *s;
+
+ list_for_each_entry(s, slab_caches, list) {
+ if (s-node[nid]) {
+
On Mon, 1 Oct 2007, Yasunori Goto wrote:
+#ifdef CONFIG_MEMORY_HOTPLUG
+static void __slab_callback_offline(int nid)
+{
+ struct kmem_cache_node *n;
+ struct kmem_cache *s;
+
+ list_for_each_entry(s, slab_caches, list) {
+ if (s-node[nid]) {
+
12 matches
Mail list logo