lkml.org 
[lkml]   [2003]   [Feb]   [21]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
From
SubjectRe: [PATCH][2.5] replace flush_map() in arch/i386/mm/pageattr.c with flush_tlb_all()
Date
On Thu, Feb 20, 2003 21:50, Dave Jones wrote:
> Its hinting at a possible optimisation, not saying
> that it is unneeded.

OK, sorry, than I just misunderstood the comment...

So here is a minimal change patch that should solve the preempt issue in
flush_map().

Instead of just doing a preempt_disable() before and a preempt_enable() after
the flush_kernel_map() calls I just changed the order so that the preempt
point is not between them...

Thomas--- linux-2.5.62/arch/i386/mm/pageattr.c.orig Fri Feb 21 11:47:19 2003
+++ linux-2.5.62/arch/i386/mm/pageattr.c Fri Feb 21 12:12:15 2003
@@ -131,10 +131,10 @@

static inline void flush_map(void)
{
+ flush_kernel_map(NULL);
#ifdef CONFIG_SMP
smp_call_function(flush_kernel_map, NULL, 1, 1);
#endif
- flush_kernel_map(NULL);
}

struct deferred_page {
--- linux-2.5.62/arch/x86_64/mm/pageattr.c.orig Fri Feb 21 12:14:25 2003
+++ linux-2.5.62/arch/x86_64/mm/pageattr.c Fri Feb 21 12:14:30 2003
@@ -123,10 +123,10 @@

static inline void flush_map(unsigned long address)
{
+ flush_kernel_map((void *)address);
#ifdef CONFIG_SMP
smp_call_function(flush_kernel_map, (void *)address, 1, 1);
#endif
- flush_kernel_map((void *)address);
}

struct deferred_page { [unhandled content-type:application/pgp-signature]
\
 
 \ /
  Last update: 2005-03-22 13:33    [W:0.050 / U:1.988 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site