* [KJ PATCH] Replacing memset(<addr>,0,PAGE_SIZE) with clear_page() in kernel/kexec.c
@ 2007-05-08 10:50 Shani Moideen
2007-05-08 11:10 ` Michael Tokarev
0 siblings, 1 reply; 5+ messages in thread
From: Shani Moideen @ 2007-05-08 10:50 UTC (permalink / raw)
To: ebiederm; +Cc: linux-kernel, kernel-janitors
Hi,
Replacing memset(<addr>,0,PAGE_SIZE) with clear_page() in
kernel/kexec.c
Signed-off-by: Shani Moideen <shani.moideen@wipro.com>
----
thanks.
diff --git a/kernel/kexec.c b/kernel/kexec.c
index 2a59c8a..1a1afdd 100644
--- a/kernel/kexec.c
+++ b/kernel/kexec.c
@@ -787,7 +787,7 @@ static int kimage_load_normal_segment(struct kimage *image,
ptr = kmap(page);
/* Start with a clear page */
- memset(ptr, 0, PAGE_SIZE);
+ clear_page(ptr);
ptr += maddr & ~PAGE_MASK;
mchunk = PAGE_SIZE - (maddr & ~PAGE_MASK);
if (mchunk > mbytes)
--
Shani
^ permalink raw reply related [flat|nested] 5+ messages in thread* Re: [KJ PATCH] Replacing memset(<addr>,0,PAGE_SIZE) with clear_page() in kernel/kexec.c
2007-05-08 10:50 [KJ PATCH] Replacing memset(<addr>,0,PAGE_SIZE) with clear_page() in kernel/kexec.c Shani Moideen
@ 2007-05-08 11:10 ` Michael Tokarev
2007-05-08 12:21 ` Pekka Enberg
0 siblings, 1 reply; 5+ messages in thread
From: Michael Tokarev @ 2007-05-08 11:10 UTC (permalink / raw)
To: Shani Moideen; +Cc: ebiederm, linux-kernel, kernel-janitors
Shani Moideen wrote:
> ptr = kmap(page);
> - memset(ptr, 0, PAGE_SIZE);
> + clear_page(ptr);
I wonder if it's worth to invent kzmap() or something like that... ;)
/mjt
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [KJ PATCH] Replacing memset(<addr>,0,PAGE_SIZE) with clear_page() in kernel/kexec.c
2007-05-08 11:10 ` Michael Tokarev
@ 2007-05-08 12:21 ` Pekka Enberg
2007-05-08 17:13 ` Satyam Sharma
0 siblings, 1 reply; 5+ messages in thread
From: Pekka Enberg @ 2007-05-08 12:21 UTC (permalink / raw)
To: Michael Tokarev; +Cc: Shani Moideen, ebiederm, linux-kernel, kernel-janitors
Shani Moideen wrote:
> > ptr = kmap(page);
> > - memset(ptr, 0, PAGE_SIZE);
> > + clear_page(ptr);
On 5/8/07, Michael Tokarev <mjt@tls.msk.ru> wrote:
> I wonder if it's worth to invent kzmap() or something like that... ;)
I am counting 59 kmap + memset pairs in the kernel, so perhaps it is
worth it to reduce kernel text size.
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [KJ PATCH] Replacing memset(<addr>,0,PAGE_SIZE) with clear_page() in kernel/kexec.c
2007-05-08 12:21 ` Pekka Enberg
@ 2007-05-08 17:13 ` Satyam Sharma
2007-05-08 17:40 ` Eric W. Biederman
0 siblings, 1 reply; 5+ messages in thread
From: Satyam Sharma @ 2007-05-08 17:13 UTC (permalink / raw)
To: Pekka Enberg
Cc: Michael Tokarev, Shani Moideen, ebiederm, linux-kernel,
kernel-janitors
On 5/8/07, Pekka Enberg <penberg@cs.helsinki.fi> wrote:
> Shani Moideen wrote:
> > > ptr = kmap(page);
> > > - memset(ptr, 0, PAGE_SIZE);
> > > + clear_page(ptr);
>
> On 5/8/07, Michael Tokarev <mjt@tls.msk.ru> wrote:
> > I wonder if it's worth to invent kzmap() or something like that... ;)
>
> I am counting 59 kmap + memset pairs in the kernel, so perhaps it is
> worth it to reduce kernel text size.
Stuff of the sort already exists. Look for clear_highpage(),
clear_user_highpage() and memclear_highpage_flush (recently renamed to
zero_user_page, see -mm). But they all use kmap_atomic() -- kmap()
variants would have to be added. Also, they're all inlines, so I'm not
sure you'd be able to cut down text size, but still getting rid of
open-coding is always good.
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [KJ PATCH] Replacing memset(<addr>,0,PAGE_SIZE) with clear_page() in kernel/kexec.c
2007-05-08 17:13 ` Satyam Sharma
@ 2007-05-08 17:40 ` Eric W. Biederman
0 siblings, 0 replies; 5+ messages in thread
From: Eric W. Biederman @ 2007-05-08 17:40 UTC (permalink / raw)
To: Satyam Sharma
Cc: Pekka Enberg, Michael Tokarev, Shani Moideen, ebiederm,
linux-kernel, kernel-janitors
"Satyam Sharma" <satyam.sharma@gmail.com> writes:
> On 5/8/07, Pekka Enberg <penberg@cs.helsinki.fi> wrote:
>> Shani Moideen wrote:
>> > > ptr = kmap(page);
>> > > - memset(ptr, 0, PAGE_SIZE);
>> > > + clear_page(ptr);
>>
>> On 5/8/07, Michael Tokarev <mjt@tls.msk.ru> wrote:
>> > I wonder if it's worth to invent kzmap() or something like that... ;)
>>
>> I am counting 59 kmap + memset pairs in the kernel, so perhaps it is
>> worth it to reduce kernel text size.
>
> Stuff of the sort already exists. Look for clear_highpage(),
> clear_user_highpage() and memclear_highpage_flush (recently renamed to
> zero_user_page, see -mm). But they all use kmap_atomic() -- kmap()
> variants would have to be added. Also, they're all inlines, so I'm not
> sure you'd be able to cut down text size, but still getting rid of
> open-coding is always good.
In this instance a clear_page variant should be ok. The combined
variants are likely not because I use the mapping after it is cleared.
Eric
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2007-05-08 17:42 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2007-05-08 10:50 [KJ PATCH] Replacing memset(<addr>,0,PAGE_SIZE) with clear_page() in kernel/kexec.c Shani Moideen
2007-05-08 11:10 ` Michael Tokarev
2007-05-08 12:21 ` Pekka Enberg
2007-05-08 17:13 ` Satyam Sharma
2007-05-08 17:40 ` Eric W. Biederman
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox