From: NIIBE Y. <gn...@ch...> - 2000-08-18 10:54:30
|
Hi Stuart, it's really nice to see your info. on: > The good news is that I think the cache related problems have been fixed. > I'd been looking at this last week, and came to almost exactly the same > conclusion about the changes for cache.c and fault.c (I still haven't got > the hang of this release early and release often mentality...). What I'd > not done is found the problems in memory.c, well done on that. Nice. Now the problem is found, I think that it would be better to maintain the difference between standard kernel and ours as small as possible, reverting some of my changes. Possible way is changing the semantice of flush_ram_to_page of our implementation. flush_ram_to_page: write back the kernel cache line to the page (D-cache) as well as flush (purge) the cache line (both of user and kernel) Then, the important change we need is just one thing, that is, the change of do_swap_page. This is real bug. In the old code, when we get the page from swap cache, the cache of the page is not flushed. When the swap cache is read asynchronously, it may causes problem, as the user stale data may remain on the cache. Standerd kernel will be changed with flush_dcache_page, which is introduced recently... But I'm not sure when such changes will be done. So, for a while, I think changing the implementation of flush_ram_to_page for SuperH would be good (although the name and functionality is slightly different). > Humm, what to do next? Is anyone else looking at gdb/ptrace? Fixing VGER, now we don't have THE mailing list... ;-) Currently, I'm not looking ptrace issue. I'm testing BSC of CqREEK SH-4, for ISA Bus and IDE... So far, so bad. It's good for me to have different implementations of SH-4. At the first CqREEK was stable, while SolutionEngine SH-4 was not. Now with the ISA/IDE bridge, CqREEK SH-4 is unstable. I can see the difference of two board, that's good thing. Besides, when/if you think the directory sh/overdrive is ready or worth to inclusion of standard kernel, just say so. When I'll send next update to Linus, I'll include that part. -- |