All of lore.kernel.org
 help / color / mirror / Atom feed
* flush_icache_range
@ 2005-03-15 12:40 Zoltan Menyhart
  2005-03-15 18:21 ` flush_icache_range David Mosberger
                   ` (30 more replies)
  0 siblings, 31 replies; 37+ messages in thread
From: Zoltan Menyhart @ 2005-03-15 12:40 UTC (permalink / raw)
  To: linux-ia64

Apparently, the function flush_icache_range() flushes the
caches 32 by 32 bytes.
According to some measures on a Tiger box, an "fc" instruction
costs 200 nanosec. if no other CPU has the line its cache,
there is no traffic on the bus, everything is ideal.
If all the others CPUs have the line in their caches, they post
bus transactions, then the cost of an "fc" instruction is 5
microsec.
To flush a full page of 64 Kbytes, it can take 400 microsec. to
10 millisec.

Cannot we test at the boot time the characteristics of the
CPUs and select the optimal flush_icache_range() ? E.g.:
- if the CPU has 64 bytes / L1 lines =>
	flush by use of 64 byte steps
- if the CPU implements the "fc.i" instruction =>
	flush the I-caches only

Thanks,

Zoltan Menyhart

^ permalink raw reply	[flat|nested] 37+ messages in thread
* flush_icache_range
@ 2000-07-23  1:07 Kanoj Sarcar
  2000-07-23 18:36 ` flush_icache_range Ralf Baechle
  0 siblings, 1 reply; 37+ messages in thread
From: Kanoj Sarcar @ 2000-07-23  1:07 UTC (permalink / raw)
  To: linux-kernel, linux-mm; +Cc: alan, torvalds, Kanoj Sarcar

Can anyone point out the logic of continued existance of flush_icache_range
after the introduction of flush_icache_page()? I admit that 
flush_icache_range is still needed in the module loading code, but do we
need it anymore in the a.out loading code? That code should be incurring
page faults, which will do the flush_icache_page anyway. Seems like
double work to me to do flush_icache_range again after the loading has
been done.

This argument to delete the flush_icache_range calls from the a.out
loading code assumes that the f_op->read() code behaves sanely, ie does
not do unexpected things like touch the user address (thus allocating
the page, and doing the icache flush via the page fault handler much
earlier) before it starts reading the a.out sections in ...

Kanoj

--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org.  For more info on Linux MM,
see: http://www.linux.eu.org/Linux-MM/

^ permalink raw reply	[flat|nested] 37+ messages in thread

end of thread, other threads:[~2005-06-13 11:20 UTC | newest]

Thread overview: 37+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2005-03-15 12:40 flush_icache_range Zoltan Menyhart
2005-03-15 18:21 ` flush_icache_range David Mosberger
2005-03-16 10:58 ` flush_icache_range Zoltan Menyhart
2005-03-16 11:19 ` flush_icache_range Duraid Madina
2005-03-16 18:31 ` flush_icache_range David Mosberger
2005-05-20 14:17 ` flush_icache_range Zoltan Menyhart
2005-05-20 15:03 ` flush_icache_range David Mosberger
2005-05-23 13:43 ` flush_icache_range Zoltan Menyhart
2005-05-26 17:21 ` flush_icache_range David Mosberger
2005-05-26 17:39 ` flush_icache_range Seth, Rohit
2005-05-27 15:45 ` flush_icache_range Zoltan Menyhart
2005-05-27 15:56 ` flush_icache_range David Mosberger
2005-05-27 16:45 ` flush_icache_range Zoltan Menyhart
2005-05-27 16:55 ` flush_icache_range David Mosberger
2005-05-27 18:27 ` flush_icache_range Grant Grundler
2005-05-27 19:00 ` flush_icache_range Russ Anderson
2005-05-29 20:23 ` flush_icache_range Menyhart, Zoltan
2005-06-01 23:50 ` flush_icache_range David Mosberger
2005-06-02  3:00 ` flush_icache_range Jim Hull
2005-06-02 12:12 ` flush_icache_range Zoltan Menyhart
2005-06-02 14:25 ` flush_icache_range Zoltan Menyhart
2005-06-02 17:36 ` flush_icache_range David Mosberger
2005-06-02 18:28 ` flush_icache_range David Mosberger
2005-06-02 18:31 ` flush_icache_range David Mosberger
2005-06-02 19:00 ` flush_icache_range Jim Hull
2005-06-02 21:37 ` flush_icache_range Menyhart, Zoltan
2005-06-02 22:23 ` flush_icache_range David Mosberger
2005-06-02 22:55 ` flush_icache_range Menyhart, Zoltan
2005-06-02 23:07 ` flush_icache_range David Mosberger
2005-06-03 12:35 ` flush_icache_range Zoltan Menyhart
2005-06-03 21:09 ` flush_icache_range David Mosberger
2005-06-13 11:20 ` flush_icache_range Zoltan Menyhart
  -- strict thread matches above, loose matches on Subject: below --
2000-07-23  1:07 flush_icache_range Kanoj Sarcar
2000-07-23 18:36 ` flush_icache_range Ralf Baechle
2000-07-24 16:10   ` flush_icache_range Kanoj Sarcar
2000-07-25  0:06     ` flush_icache_range Ralf Baechle
2000-07-25  1:11       ` flush_icache_range Kanoj Sarcar

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.