Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 08 Jul 2009 16:01:22 +0200
From:      Michal Hajduk <mih@semihalf.com>
To:        Mark Tinguely <tinguely@casselton.net>
Cc:        stas@FreeBSD.org, freebsd-arm@FreeBSD.org
Subject:   Re: pmap problem in FreeBSD current
Message-ID:  <4A54A6B2.1020400@semihalf.com>
In-Reply-To: <200907071554.n67Fsouv016804@casselton.net>
References:  <200907071554.n67Fsouv016804@casselton.net>

next in thread | previous in thread | raw e-mail | index | archive | help
Mark Tinguely wrote:
> Apologies for the noise. I am not familiar with the sf_buf_alloc/sf_buf_free
> code and sent a bad code sequence. If we remove the mapping, it has to
> come off the active list also:
>
> /*
>  * Detatch mapped page and release resources back to the system.
>  */
> void
> sf_buf_free(struct sf_buf *sf)
> {
> #ifndef ARM_USE_SMALL_ALLOC
> 	mtx_lock(&sf_buf_lock);
> 	sf->ref_count--;
> 	if (sf->ref_count == 0) {
> 		TAILQ_INSERT_TAIL(&sf_buf_freelist, sf, free_entry);
> 		nsfbufsused--;
> +		pmap_kremove(sf->kva);
> +		sf->m = NULL;
> +		LIST_REMOVE(sf, list_entry);
> 		if (sf_buf_alloc_want > 0)
> 			wakeup_one(&sf_buf_freelist);
> 	}
> 	mtx_unlock(&sf_buf_lock);
> #endif
>
> --Mark Tinguely.
>
>   
Hello Mark,
Thank you for looking again on r194459.

I've tried to compile kernel using your patch with
changes regarding PG_WRITABLE and arm_unmap_nocache(),
but it didn't help.

My problems are rather related to memory corruption, which
I've observed in uma_core (pointers had bad values and
count of free items in slab had negative value).

I am still concerned about LOR, which has appeared in
svn commit r194459 (I wrote about it in my first mail).
Could you take a look at this LOR?

Thanks for your help.

Best regards,
MichaƂ Hajduk




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?4A54A6B2.1020400>