public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* [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