Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
L
linux
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
nexedi
linux
Commits
abe95e13
Commit
abe95e13
authored
Aug 08, 2004
by
Linus Torvalds
Browse files
Options
Browse Files
Download
Plain Diff
Merge
http://lia64.bkbits.net/to-base-2.6
into ppc970.osdl.org:/home/torvalds/v2.6/linux
parents
0a72d6c4
961bb779
Changes
2
Show whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
20 additions
and
2 deletions
+20
-2
arch/ia64/mm/init.c
arch/ia64/mm/init.c
+2
-0
include/asm-ia64/pgalloc.h
include/asm-ia64/pgalloc.h
+18
-2
No files found.
arch/ia64/mm/init.c
View file @
abe95e13
...
@@ -63,6 +63,7 @@ check_pgt_cache (void)
...
@@ -63,6 +63,7 @@ check_pgt_cache (void)
low
=
pgt_cache_water
[
0
];
low
=
pgt_cache_water
[
0
];
high
=
pgt_cache_water
[
1
];
high
=
pgt_cache_water
[
1
];
preempt_disable
();
if
(
pgtable_cache_size
>
(
u64
)
high
)
{
if
(
pgtable_cache_size
>
(
u64
)
high
)
{
do
{
do
{
if
(
pgd_quicklist
)
if
(
pgd_quicklist
)
...
@@ -71,6 +72,7 @@ check_pgt_cache (void)
...
@@ -71,6 +72,7 @@ check_pgt_cache (void)
free_page
((
unsigned
long
)
pmd_alloc_one_fast
(
0
,
0
));
free_page
((
unsigned
long
)
pmd_alloc_one_fast
(
0
,
0
));
}
while
(
pgtable_cache_size
>
(
u64
)
low
);
}
while
(
pgtable_cache_size
>
(
u64
)
low
);
}
}
preempt_enable
();
}
}
void
void
...
...
include/asm-ia64/pgalloc.h
View file @
abe95e13
...
@@ -37,14 +37,20 @@
...
@@ -37,14 +37,20 @@
static
inline
pgd_t
*
static
inline
pgd_t
*
pgd_alloc_one_fast
(
struct
mm_struct
*
mm
)
pgd_alloc_one_fast
(
struct
mm_struct
*
mm
)
{
{
unsigned
long
*
ret
=
pgd_quicklist
;
unsigned
long
*
ret
=
NULL
;
preempt_disable
();
ret
=
pgd_quicklist
;
if
(
likely
(
ret
!=
NULL
))
{
if
(
likely
(
ret
!=
NULL
))
{
pgd_quicklist
=
(
unsigned
long
*
)(
*
ret
);
pgd_quicklist
=
(
unsigned
long
*
)(
*
ret
);
ret
[
0
]
=
0
;
ret
[
0
]
=
0
;
--
pgtable_cache_size
;
--
pgtable_cache_size
;
}
else
}
else
ret
=
NULL
;
ret
=
NULL
;
preempt_enable
();
return
(
pgd_t
*
)
ret
;
return
(
pgd_t
*
)
ret
;
}
}
...
@@ -65,9 +71,11 @@ pgd_alloc (struct mm_struct *mm)
...
@@ -65,9 +71,11 @@ pgd_alloc (struct mm_struct *mm)
static
inline
void
static
inline
void
pgd_free
(
pgd_t
*
pgd
)
pgd_free
(
pgd_t
*
pgd
)
{
{
preempt_disable
();
*
(
unsigned
long
*
)
pgd
=
(
unsigned
long
)
pgd_quicklist
;
*
(
unsigned
long
*
)
pgd
=
(
unsigned
long
)
pgd_quicklist
;
pgd_quicklist
=
(
unsigned
long
*
)
pgd
;
pgd_quicklist
=
(
unsigned
long
*
)
pgd
;
++
pgtable_cache_size
;
++
pgtable_cache_size
;
preempt_enable
();
}
}
static
inline
void
static
inline
void
...
@@ -80,13 +88,19 @@ pgd_populate (struct mm_struct *mm, pgd_t *pgd_entry, pmd_t *pmd)
...
@@ -80,13 +88,19 @@ pgd_populate (struct mm_struct *mm, pgd_t *pgd_entry, pmd_t *pmd)
static
inline
pmd_t
*
static
inline
pmd_t
*
pmd_alloc_one_fast
(
struct
mm_struct
*
mm
,
unsigned
long
addr
)
pmd_alloc_one_fast
(
struct
mm_struct
*
mm
,
unsigned
long
addr
)
{
{
unsigned
long
*
ret
=
(
unsigned
long
*
)
pmd_quicklist
;
unsigned
long
*
ret
=
NULL
;
preempt_disable
();
ret
=
(
unsigned
long
*
)
pmd_quicklist
;
if
(
likely
(
ret
!=
NULL
))
{
if
(
likely
(
ret
!=
NULL
))
{
pmd_quicklist
=
(
unsigned
long
*
)(
*
ret
);
pmd_quicklist
=
(
unsigned
long
*
)(
*
ret
);
ret
[
0
]
=
0
;
ret
[
0
]
=
0
;
--
pgtable_cache_size
;
--
pgtable_cache_size
;
}
}
preempt_enable
();
return
(
pmd_t
*
)
ret
;
return
(
pmd_t
*
)
ret
;
}
}
...
@@ -103,9 +117,11 @@ pmd_alloc_one (struct mm_struct *mm, unsigned long addr)
...
@@ -103,9 +117,11 @@ pmd_alloc_one (struct mm_struct *mm, unsigned long addr)
static
inline
void
static
inline
void
pmd_free
(
pmd_t
*
pmd
)
pmd_free
(
pmd_t
*
pmd
)
{
{
preempt_disable
();
*
(
unsigned
long
*
)
pmd
=
(
unsigned
long
)
pmd_quicklist
;
*
(
unsigned
long
*
)
pmd
=
(
unsigned
long
)
pmd_quicklist
;
pmd_quicklist
=
(
unsigned
long
*
)
pmd
;
pmd_quicklist
=
(
unsigned
long
*
)
pmd
;
++
pgtable_cache_size
;
++
pgtable_cache_size
;
preempt_enable
();
}
}
#define __pmd_free_tlb(tlb, pmd) pmd_free(pmd)
#define __pmd_free_tlb(tlb, pmd) pmd_free(pmd)
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment