Messages in this thread | | | Date | Mon, 17 May 2010 21:03:57 +0900 | Subject | Re: [PATCH 3/3] ramzswap: Handler for swap slot free callback | From | Minchan Kim <> |
| |
On Mon, May 17, 2010 at 2:32 PM, Nitin Gupta <ngupta@vflare.org> wrote: > Install handler for swap_slot_free_notify callback which is called > when a swap slot is no longer used. This handler immediately frees > memory allocated corresponding to the given swap slot. > > Signed-off-by: Nitin Gupta <ngupta@vflare.org> > --- > drivers/staging/ramzswap/TODO | 5 ----- > drivers/staging/ramzswap/ramzswap_drv.c | 22 +++++++++++++--------- > 2 files changed, 13 insertions(+), 14 deletions(-) > delete mode 100644 drivers/staging/ramzswap/TODO > > diff --git a/drivers/staging/ramzswap/TODO b/drivers/staging/ramzswap/TODO > deleted file mode 100644 > index 8d64e28..0000000 > --- a/drivers/staging/ramzswap/TODO > +++ /dev/null > @@ -1,5 +0,0 @@ > -TODO: > - - Add support for swap notifiers > - > -Please send patches to Greg Kroah-Hartman <greg@kroah.com> and > -Nitin Gupta <ngupta@vflare.org> > diff --git a/drivers/staging/ramzswap/ramzswap_drv.c b/drivers/staging/ramzswap/ramzswap_drv.c > index ee5eb12..ab15276 100644 > --- a/drivers/staging/ramzswap/ramzswap_drv.c > +++ b/drivers/staging/ramzswap/ramzswap_drv.c > @@ -795,14 +795,6 @@ static int ramzswap_write(struct ramzswap *rzs, struct bio *bio) > > src = rzs->compress_buffer; > > - /* > - * System swaps to same sector again when the stored page > - * is no longer referenced by any process. So, its now safe > - * to free the memory that was allocated for this page. > - */ > - if (rzs->table[index].page || rzs_test_flag(rzs, index, RZS_ZERO)) > - ramzswap_free_page(rzs, index); > - > mutex_lock(&rzs->lock); > > user_mem = kmap_atomic(page, KM_USER0); > @@ -1295,9 +1287,21 @@ out: > return ret; > } > > +void ramzswap_slot_free_notify(struct block_device *bdev, unsigned long index) > +{ > + struct ramzswap *rzs; > + > + rzs = bdev->bd_disk->private_data; > + ramzswap_free_page(rzs, index); > + rzs_stat64_inc(rzs, &rzs->stats.notify_free); > + > + return; > +}
Mistake. Let's remove _return_ in void function. Otherwise, looks good to me.
Reviewed-by: Minchan Kim <minchan.kim@gmail.com>
-- Kind regards, Minchan Kim -- 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/
| |