Re: [PATCH] fs/buffer.c: Revoke LRU when trying to drop buffers

2021-01-05 Thread Chris Goldsworthy
On 2020-11-24 07:39, Matthew Wilcox wrote: On Mon, Nov 23, 2020 at 10:49:38PM -0800, Chris Goldsworthy wrote: +static void __evict_bh_lru(void *arg) +{ + struct bh_lru *b = &get_cpu_var(bh_lrus); + struct buffer_head *bh = arg; + int i; + + for (i = 0; i < BH_LRU_SIZE; i+

Re: [PATCH] fs/buffer.c: Revoke LRU when trying to drop buffers

2020-11-24 Thread Matthew Wilcox
On Mon, Nov 23, 2020 at 10:49:38PM -0800, Chris Goldsworthy wrote: > +static void __evict_bh_lru(void *arg) > +{ > + struct bh_lru *b = &get_cpu_var(bh_lrus); > + struct buffer_head *bh = arg; > + int i; > + > + for (i = 0; i < BH_LRU_SIZE; i++) { > + if (b->bhs[i] == bh

[PATCH] fs/buffer.c: Revoke LRU when trying to drop buffers

2020-11-23 Thread Chris Goldsworthy
From: Laura Abbott When a buffer is added to the LRU list, a reference is taken which is not dropped until the buffer is evicted from the LRU list. This is the correct behavior, however this LRU reference will prevent the buffer from being dropped. This means that the buffer can't actually be dro

Re: [RFC][PATCH] fs/buffer.c: Revoke LRU when trying to drop buffers

2013-07-04 Thread Damian Hobson-Garcia
Hi, I've come across a problem allocating chunks of CMA memory on a system under heavy disk access load which seems very similar to the situation described as the rationale for this patch: https://lkml.org/lkml/2012/9/11/335 Basically buffer headers sitting on the LRU list preventing them from b

Re: [RFC][PATCH] fs/buffer.c: Revoke LRU when trying to drop buffers

2012-09-17 Thread Laura Abbott
Hi, On 9/14/2012 6:41 PM, Hugh Dickins wrote: On Tue, 11 Sep 2012, Laura Abbott wrote: When a buffer is added to the LRU list, a reference is taken which is not dropped until the buffer is evicted from the LRU list. This is the correct behavior, however this LRU reference will prevent the buffe

Re: [RFC][PATCH] fs/buffer.c: Revoke LRU when trying to drop buffers

2012-09-14 Thread Hugh Dickins
On Tue, 11 Sep 2012, Laura Abbott wrote: > When a buffer is added to the LRU list, a reference is taken which is > not dropped until the buffer is evicted from the LRU list. This is the > correct behavior, however this LRU reference will prevent the buffer > from being dropped. This means that the

[RFC][PATCH] fs/buffer.c: Revoke LRU when trying to drop buffers

2012-09-11 Thread Laura Abbott
When a buffer is added to the LRU list, a reference is taken which is not dropped until the buffer is evicted from the LRU list. This is the correct behavior, however this LRU reference will prevent the buffer from being dropped. This means that the buffer can't actually be dropped until it is sele