linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Robert Love <rml@tech9.net>
To: iafilius@xs4all.nl, ledzep37@home.com
Cc: linux-kernel@vger.kernel.org
Subject: Re: Feedback on preemptible kernel patch
Date: 11 Sep 2001 18:53:43 -0400	[thread overview]
Message-ID: <1000248825.20106.33.camel@phantasy> (raw)

Arjan, Jordan, and anyone using preemption and highmem:

Can you _please_ test the following patch?  It is my final version of
the highmem patch, and the one I would like to include in the preempt
patch itself.

It should be faster than the patch you have been using before, the locks
in the previous patch were held for the duration that the entire page
remained map.  I don't see any reason for that.

I would appreciate if you could patch your kernel and let me know.  I am
putting 2.4.10-pre8 patches up at http://tech9.net/rml/linux shortly. 
2.4.9-ac10 patches are there, too.

If you test, please reply with: kernel version, do you lock/oops with
highmem enabled but no extra patch (you should), do you lock/oops with
highmem enabled and the original highmem patch (you should not), and do
you lock/oops/something with this new highmem patch (I hope not). 
Obviously enable CONFIG_PREEMPT and CONFIG_HIGHMEM, and test well. 
Please tell me if CONFIG_SMP is enabled (that is another bag of fun...).

Thank you...




--- linux-not-rml/include/asm-i386/highmem.h	Tue Sep 11 17:54:32 2001
+++ linux/include/asm-i386/highmem.h	Tue Sep 11 18:42:13 2001
@@ -88,6 +88,8 @@
 	if (page < highmem_start_page)
 		return page_address(page);
 
+	ctx_sw_off();
+
 	idx = type + KM_TYPE_NR*smp_processor_id();
 	vaddr = __fix_to_virt(FIX_KMAP_BEGIN + idx);
 #if HIGHMEM_DEBUG
@@ -97,6 +99,8 @@
 	set_pte(kmap_pte-idx, mk_pte(page, kmap_prot));
 	__flush_tlb_one(vaddr);
 
+	ctx_sw_on();
+
 	return (void*) vaddr;
 }
 
@@ -106,6 +110,8 @@
 	unsigned long vaddr = (unsigned long) kvaddr;
 	enum fixed_addresses idx = type + KM_TYPE_NR*smp_processor_id();
 
+	ctx_sw_off();
+
 	if (vaddr < FIXADDR_START) // FIXME
 		return;
 
@@ -118,6 +124,8 @@
 	 */
 	pte_clear(kmap_pte-idx);
 	__flush_tlb_one(vaddr);
+
+	ctx_sw_on();
 #endif
 }
 


-- 
Robert M. Love
rml at ufl.edu
rml at tech9.net


             reply	other threads:[~2001-09-11 22:53 UTC|newest]

Thread overview: 39+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2001-09-11 22:53 Robert Love [this message]
  -- strict thread matches above, loose matches on Subject: below --
2001-09-15 19:18 Feedback on preemptible kernel patch Robert Love
2001-09-16  1:28 ` Daniel Phillips
2001-09-16  1:54   ` Daniel Phillips
     [not found] <Pine.LNX.4.33.0109140838040.21992-100000@sjoerd.sjoerdnet>
2001-09-14 15:04 ` Robert Love
2001-09-15  9:44   ` Arjan Filius
2001-09-15 10:38     ` Erik Mouw
2001-09-15 17:57     ` Robert Love
     [not found] <200109150444.f8F4iEG19063@zero.tech9.net>
     [not found] ` <200109140302.f8E32LG13400@zero.tech9.net>
2001-09-14  4:35   ` Robert Love
2001-09-15  4:25     ` Dieter Nützel
2001-09-15  5:14     ` Robert Love
2001-09-18  4:06       ` Dieter Nützel
2001-09-18  8:35         ` Daniel Phillips
2001-09-18 18:18         ` Roger Larsson
2001-09-18 23:31         ` Robert Love
2001-09-20  6:40           ` Dieter Nützel
2001-09-18 23:31       ` Robert Love
2001-09-14  2:47 Dieter Nützel
2001-09-08  5:22 grue
2001-09-08  5:47 ` Robert Love
2001-09-08 17:33   ` Arjan Filius
2001-09-08 18:22     ` safemode
2001-09-09  4:40     ` Robert Love
2001-09-09 17:09     ` Robert Love
2001-09-09 21:07       ` Arjan Filius
2001-09-09 21:26         ` Robert Love
2001-09-09 21:23       ` Arjan Filius
2001-09-09 21:37         ` Robert Love
2001-09-10  3:24           ` Daniel Phillips
2001-09-10  3:37             ` Jeremy Zawodny
2001-09-10  5:09           ` Robert Love
2001-09-10 18:25             ` Daniel Phillips
2001-09-10 21:29             ` Arjan Filius
2001-09-13 17:27               ` Robert Love
2001-09-14  7:30                 ` george anzinger
2001-09-14 15:01                 ` Robert Love
2001-09-11 19:47           ` Arjan Filius
2001-09-09 18:57   ` grue
2001-09-09 21:44     ` Robert Love

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1000248825.20106.33.camel@phantasy \
    --to=rml@tech9.net \
    --cc=iafilius@xs4all.nl \
    --cc=ledzep37@home.com \
    --cc=linux-kernel@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).