lkml.org 
[lkml]   [2008]   [Mar]   [11]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [RFC] [Patch] calgary iommu: Use the first kernel's tce tables in kdump
On Mon, Mar 10, 2008 at 06:50:29PM +0530, Chandru wrote:

[..]
> - specified_table_size = determine_tce_table_size(end_pfn *
> PAGE_SIZE);
> + max_pfn = is_kdump_kernel() ? saved_max_pfn : end_pfn ;
> + specified_table_size = determine_tce_table_size(max_pfn *
> PAGE_SIZE);
>
> for (bus = 0; bus < MAX_PHB_BUS_NUM; bus++) {
> struct calgary_bus_info *info = &bus_info[bus];
> @@ -1411,10 +1480,16 @@ void __init detect_calgary(void)
>
> if (calgary_bus_has_devices(bus, pci_device) ||
> translate_empty_slots) {
> - tbl = alloc_tce_table();
> - if (!tbl)
> - goto cleanup;
> - info->tce_space = tbl;
> + /*
> + * If this is a kdump kernel find and use
> + * the tce tables from first kernel
> + */
> + if (!is_kdump_kernel()) {
> + tbl = alloc_tce_table();
> + if (!tbl)
> + goto cleanup;
> + info->tce_space = tbl;
> + }

Hi Chandru,

- How do we make sure that previous kernel's TCE tables are not
overwritten
by new kernel (In case previous kernel allocated TCE tables in first
640 KB?)

- How do we make sure that when new kernel tries to setup an entry in
TCE table, then it does not try to clear up an existing entry which is
still in use?

Did you try the Muli suggestion of ignoring DMA error in exception
handler? What happens if I setup new table and try to switch to new
table? Some sort of error will occur. Can't we modify the handler and
ignore it for kdump case and move on?

Thanks
Vivek


\
 
 \ /
  Last update: 2008-03-11 14:45    [W:0.086 / U:5.092 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site