Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 15 Nov 2001 15:21:07 +0800
From:      "David Xu" <davidx@viasoft.com.cn>
To:        "Matthew Dillon" <dillon@apollo.backplane.com>
Cc:        <freebsd-hackers@FreeBSD.ORG>
Subject:   Re: vm_map_protect()
Message-ID:  <001101c16da6$1834d980$ef01a8c0@davidwnt>
References:   <005a01c16d74$9e0c88a0$ef01a8c0@davidwnt> <200111150541.fAF5fbs18850@apollo.backplane.com>

next in thread | previous in thread | raw e-mail | index | archive | help
I like fast code. I want to avoid all object and entry=20
splitting and merging cost. besides, I think the code=20
is still very clear.

--
David Xu

----- Original Message -----=20
From: "Matthew Dillon" <dillon@apollo.backplane.com>
To: "David Xu" <davidx@viasoft.com.cn>
Cc: <freebsd-hackers@FreeBSD.ORG>
Sent: Thursday, November 15, 2001 1:41 PM
Subject: Re: vm_map_protect()


> :In FreeBSD 4.4-stable file /sys/vm/vm_map.c, function =
vm_map_protect()
> :will leave and have an entry splitted when first pass fails.
> :here is the patch to avoid such issue.
>=20
>     Hmm... don't you want to vm_map_simplify_entry() at the end =
instead
>     of vm_map_clip_start()?
>=20
> -Matt
> Matthew Dillon=20
> <dillon@backplane.com>
>=20
> :%diff -u vm_map.c.orig vm_map.c
> :--- vm_map.c.orig       Thu Nov 15 08:27:19 2001
> :+++ vm_map.c    Thu Nov 15 09:08:47 2001
> :@@ -999,13 +999,14 @@
> : {
> :        vm_map_entry_t current;
> :        vm_map_entry_t entry;
> :+       int clip_start =3D 0;
> :
> :        vm_map_lock(map);
> :
> :        VM_MAP_RANGE_CHECK(map, start, end);
> :
> :        if (vm_map_lookup_entry(map, start, &entry)) {
> :-               vm_map_clip_start(map, entry, start);
> :+               clip_start =3D 1;
> :        } else {
> :                entry =3D entry->next;
> :        }
> :@@ -1026,6 +1027,8 @@
> :                }
> :                current =3D current->next;
> :        }
> :+       if (clip_start)
> :+               vm_map_clip_start(map, entry, start);
> :
> :        /*
> :         * Go back and fix up protections. [Note that clipping is not
> :
> :--
> :David Xu
> :
> :
> :
> :To Unsubscribe: send mail to majordomo@FreeBSD.org
> :with "unsubscribe freebsd-hackers" in the body of the message
> :


To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-hackers" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?001101c16da6$1834d980$ef01a8c0>