2010-04-04 05:33:17

by tek-life

[permalink] [raw]
Subject: Fwd: Can we remove the Zone_DMA?

Thanks for your reply.And do you means that , If I use a modern PC,such as
my pc (CPU:Intel dual-core 2.6GHZ; Memory 2GB; And no pci ).I can remove the
ZONE_DMA .And make sure this system also run smoothly as before?

?? 2010??4??4?? ????1:07??Daniel Hazelton <[email protected]>д????

On Sunday 04 April 2010 12:21:54 am tek-life wrote:
> > I??m a newbie on the linux kernel. Now I am reading the source code of
> > Linux . I have a question in the following about ZONE_DMA.
> >
> >
> > In Linux , The Memory is divided to three zone. They are ZONE_DMA
> > ??ZONE_NORMAL and ZONE_HIGHMEM. From the book of "Undstand the Linux
> > kernel ", the ZONE_DMA has the effect that the Direct Memory Access
> > (DMA) processors for old ISA buses have a strong limitation: they are
> > able to address only the first 16 MB of RAM. SO ,we must set a zone
> > for the DMA on ISA bus. And I suspect that the hardware has
> > developed so quickly .And in this days the ISA has been weeded out.
> > And so ,if we not defined the ZONE_DMA, is the system be effected? And
> > why not remove ZONE_DMA from the kernel . If it cann??t to do so??the
> > compatibility is the only reason?
>
> While ISA is gone as a true peripheral interconnect for new systems it
> does,
> actually, still live on in a lot of systems that Linux still supports.
> While
> those systems, generally, are running the same kernel and userspace they
> were
> a decade ago I have no doubt that somebody might find an old machine and
> put
> Linux on it - just because they could.
>
> And that also discounts the non-IBM PC machines that are out there that
> Linux
> also supports. While I don't know enough about them to say for sure, I am
> quite certain that at least some of them are still using the ISA bus.
>
> DRH
>



--
Laboratory of Service Computing Technology and System

p-web:http://tek-life.org/blog
QQ:150439216



--
Laboratory of Service Computing Technology and System

p-web:http://tek-life.org/blog
QQ:150439216


2010-04-04 07:49:32

by Daniel Hazelton

[permalink] [raw]
Subject: Re: Fwd: Can we remove the Zone_DMA?

On Sunday 04 April 2010 01:33:09 am tek-life wrote:
> Thanks for your reply.And do you means that , If I use a modern PC,such as
> my pc (CPU:Intel dual-core 2.6GHZ; Memory 2GB; And no pci ).I can remove
> the ZONE_DMA .And make sure this system also run smoothly as before?

*MAYBE* - if you don't use parallel ports, floppy drives or similar. There
actually are still a lot of devices that use the ISA bus in a modern PC - even
the keyboard (well, not USB ones) is an ISA device.

Simple fact is that if it was possible to configure it out and not cause
massive problems somebody would have already spun out a patch to allow just
that.

DRH

> ?? 2010??4??4?? ????1:07??Daniel Hazelton <[email protected]>д????
>
> On Sunday 04 April 2010 12:21:54 am tek-life wrote:
> > > I??m a newbie on the linux kernel. Now I am reading the source code of
> > > Linux . I have a question in the following about ZONE_DMA.
> > >
> > >
> > > In Linux , The Memory is divided to three zone. They are ZONE_DMA
> > > ??ZONE_NORMAL and ZONE_HIGHMEM. From the book of "Undstand the Linux
> > > kernel ", the ZONE_DMA has the effect that the Direct Memory Access
> > > (DMA) processors for old ISA buses have a strong limitation: they are
> > > able to address only the first 16 MB of RAM. SO ,we must set a zone
> > > for the DMA on ISA bus. And I suspect that the hardware has
> > > developed so quickly .And in this days the ISA has been weeded out.
> > > And so ,if we not defined the ZONE_DMA, is the system be effected? And
> > > why not remove ZONE_DMA from the kernel . If it cann??t to do so??the
> > > compatibility is the only reason?
> >
> > While ISA is gone as a true peripheral interconnect for new systems it
> > does,
> > actually, still live on in a lot of systems that Linux still supports.
> > While
> > those systems, generally, are running the same kernel and userspace they
> > were
> > a decade ago I have no doubt that somebody might find an old machine and
> > put
> > Linux on it - just because they could.
> >
> > And that also discounts the non-IBM PC machines that are out there that
> > Linux
> > also supports. While I don't know enough about them to say for sure, I am
> > quite certain that at least some of them are still using the ISA bus.
> >
> > DRH

2010-04-04 08:28:56

by tek-life

[permalink] [raw]
Subject: Re: Can we remove the Zone_DMA?

Thanks for your replys.
I was confused. The motherboard of Intel i810 chipset in early 1999
had not supported the ISA. You say keyboard should use ISA, what
should work for the pc using the i810 motherboard. More important ,
the keyboard don't use DMA.

2010/4/4, Daniel Hazelton <[email protected]>:
> On Sunday 04 April 2010 01:33:09 am tek-life wrote:
>> Thanks for your reply.And do you means that , If I use a modern PC,such
>> as
>> my pc (CPU:Intel dual-core 2.6GHZ; Memory 2GB; And no pci ).I can remove
>> the ZONE_DMA .And make sure this system also run smoothly as before?
>
> *MAYBE* - if you don't use parallel ports, floppy drives or similar. There
> actually are still a lot of devices that use the ISA bus in a modern PC -
> even
> the keyboard (well, not USB ones) is an ISA device.
>
> Simple fact is that if it was possible to configure it out and not cause
> massive problems somebody would have already spun out a patch to allow just
>
> that.
>
> DRH
>
>> ?? 2010??4??4?? ????1:07??Daniel Hazelton <[email protected]>д????
>>
>> On Sunday 04 April 2010 12:21:54 am tek-life wrote:
>> > > I??m a newbie on the linux kernel. Now I am reading the source code of
>> > > Linux . I have a question in the following about ZONE_DMA.
>> > >
>> > >
>> > > In Linux , The Memory is divided to three zone. They are ZONE_DMA
>> > > ??ZONE_NORMAL and ZONE_HIGHMEM. From the book of "Undstand the Linux
>> > > kernel ", the ZONE_DMA has the effect that the Direct Memory Access
>> > > (DMA) processors for old ISA buses have a strong limitation: they are
>> > > able to address only the first 16 MB of RAM. SO ,we must set a zone
>> > > for the DMA on ISA bus. And I suspect that the hardware has
>> > > developed so quickly .And in this days the ISA has been weeded out.
>> > > And so ,if we not defined the ZONE_DMA, is the system be effected?
>> > > And
>> > > why not remove ZONE_DMA from the kernel . If it cann??t to do so??the
>> > > compatibility is the only reason?
>> >
>> > While ISA is gone as a true peripheral interconnect for new systems it
>> > does,
>> > actually, still live on in a lot of systems that Linux still supports.
>> > While
>> > those systems, generally, are running the same kernel and userspace
>> > they
>> > were
>> > a decade ago I have no doubt that somebody might find an old machine
>> > and
>> > put
>> > Linux on it - just because they could.
>> >
>> > And that also discounts the non-IBM PC machines that are out there that
>> > Linux
>> > also supports. While I don't know enough about them to say for sure, I
>> > am
>> > quite certain that at least some of them are still using the ISA bus.
>> >
>> > DRH
>


--
Laboratory of Service Computing Technology and System

p-web:http://tek-life.org/blog
QQ:150439216

2010-04-04 08:29:19

by tek-life

[permalink] [raw]
Subject: Re: Can we remove the Zone_DMA?

Thanks for your replys.
I was confused. The motherboard of Intel i810 chipset in early 1999
had not supported the ISA. You say keyboard should use ISA, what
should work for the pc using the i810 motherboard. More important ,
the keyboard don't use DMA.

2010/4/4, Daniel Hazelton <[email protected]>:
> On Sunday 04 April 2010 01:33:09 am tek-life wrote:
>> Thanks for your reply.And do you means that , If I use a modern PC,such
>> as
>> my pc (CPU:Intel dual-core 2.6GHZ; Memory 2GB; And no pci ).I can remove
>> the ZONE_DMA .And make sure this system also run smoothly as before?
>
> *MAYBE* - if you don't use parallel ports, floppy drives or similar. There
> actually are still a lot of devices that use the ISA bus in a modern PC -
> even
> the keyboard (well, not USB ones) is an ISA device.
>
> Simple fact is that if it was possible to configure it out and not cause
> massive problems somebody would have already spun out a patch to allow just
>
> that.
>
> DRH
>
>> ?? 2010??4??4?? ????1:07??Daniel Hazelton <[email protected]>д????
>>
>> On Sunday 04 April 2010 12:21:54 am tek-life wrote:
>> > > I??m a newbie on the linux kernel. Now I am reading the source code of
>> > > Linux . I have a question in the following about ZONE_DMA.
>> > >
>> > >
>> > > In Linux , The Memory is divided to three zone. They are ZONE_DMA
>> > > ??ZONE_NORMAL and ZONE_HIGHMEM. From the book of "Undstand the Linux
>> > > kernel ", the ZONE_DMA has the effect that the Direct Memory Access
>> > > (DMA) processors for old ISA buses have a strong limitation: they are
>> > > able to address only the first 16 MB of RAM. SO ,we must set a zone
>> > > for the DMA on ISA bus. And I suspect that the hardware has
>> > > developed so quickly .And in this days the ISA has been weeded out.
>> > > And so ,if we not defined the ZONE_DMA, is the system be effected?
>> > > And
>> > > why not remove ZONE_DMA from the kernel . If it cann??t to do so??the
>> > > compatibility is the only reason?
>> >
>> > While ISA is gone as a true peripheral interconnect for new systems it
>> > does,
>> > actually, still live on in a lot of systems that Linux still supports.
>> > While
>> > those systems, generally, are running the same kernel and userspace
>> > they
>> > were
>> > a decade ago I have no doubt that somebody might find an old machine
>> > and
>> > put
>> > Linux on it - just because they could.
>> >
>> > And that also discounts the non-IBM PC machines that are out there that
>> > Linux
>> > also supports. While I don't know enough about them to say for sure, I
>> > am
>> > quite certain that at least some of them are still using the ISA bus.
>> >
>> > DRH
>

2010-04-04 08:38:30

by Eric W. Biederman

[permalink] [raw]
Subject: Re: Can we remove the Zone_DMA?

tek-life <[email protected]> writes:

> Thanks for your replys.
> I was confused. The motherboard of Intel i810 chipset in early 1999
> had not supported the ISA. You say keyboard should use ISA, what
> should work for the pc using the i810 motherboard. More important ,
> the keyboard don't use DMA.

Last I heard this discussed it was mentioned that there were some
fairly common integrated sound devices using ISA DMA.

As for the i810 chipset not supporting ISA that isn't really true. No
one implements ISA plug-in slots, but at least in the for of LPC
hardware that is effectively ISA continues to be supported for various
legacy devices.

Ultimately I don't see much point in disabling ZONE_DMA. It is a lot of
work to track down if it is really needed, and it only costs 16MB. So
unless someone shows me that ZONE_DMA triggers the OOM killer unnecessarily
or otherwise impacts the system what does legacy code hurt?

Eric

2010-04-04 09:02:26

by Thomas Fjellstrom

[permalink] [raw]
Subject: Re: Fwd: Can we remove the Zone_DMA?

On April 4, 2010, Daniel Hazelton wrote:
> On Sunday 04 April 2010 01:33:09 am tek-life wrote:
> > Thanks for your reply.And do you means that , If I use a modern PC,such
> > as my pc (CPU:Intel dual-core 2.6GHZ; Memory 2GB; And no pci ).I can
> > remove the ZONE_DMA .And make sure this system also run smoothly as
> > before?
>
> *MAYBE* - if you don't use parallel ports, floppy drives or similar.
> There actually are still a lot of devices that use the ISA bus in a
> modern PC - even the keyboard (well, not USB ones) is an ISA device.
>
> Simple fact is that if it was possible to configure it out and not cause
> massive problems somebody would have already spun out a patch to allow
> just that.

Some onboard motherboard devices may also be ISA devices.

> DRH
>
> > ?? 2010??4??4?? ????1:07??Daniel Hazelton <[email protected]>д????
> >
> > On Sunday 04 April 2010 12:21:54 am tek-life wrote:
> > > > I??m a newbie on the linux kernel. Now I am reading the source code
> > > > of Linux . I have a question in the following about ZONE_DMA.
> > > >
> > > >
> > > > In Linux , The Memory is divided to three zone. They are ZONE_DMA
> > > > ??ZONE_NORMAL and ZONE_HIGHMEM. From the book of "Undstand the
> > > > Linux kernel ", the ZONE_DMA has the effect that the Direct Memory
> > > > Access (DMA) processors for old ISA buses have a strong
> > > > limitation: they are able to address only the first 16 MB of RAM.
> > > > SO ,we must set a zone for the DMA on ISA bus. And I suspect
> > > > that the hardware has developed so quickly .And in this days the
> > > > ISA has been weeded out. And so ,if we not defined the ZONE_DMA,
> > > > is the system be effected? And why not remove ZONE_DMA from the
> > > > kernel . If it cann??t to do so??the compatibility is the only
> > > > reason?
> > >
> > > While ISA is gone as a true peripheral interconnect for new systems
> > > it does,
> > > actually, still live on in a lot of systems that Linux still
> > > supports. While
> > > those systems, generally, are running the same kernel and userspace
> > > they were
> > > a decade ago I have no doubt that somebody might find an old machine
> > > and put
> > > Linux on it - just because they could.
> > >
> > > And that also discounts the non-IBM PC machines that are out there
> > > that Linux
> > > also supports. While I don't know enough about them to say for sure,
> > > I am quite certain that at least some of them are still using the
> > > ISA bus.
> > >
> > > DRH
>
> --
> To unsubscribe from this list: send the line "unsubscribe linux-kernel"
> in the body of a message to [email protected]
> More majordomo info at http://vger.kernel.org/majordomo-info.html
> Please read the FAQ at http://www.tux.org/lkml/


--
Thomas Fjellstrom
[email protected]

2010-04-12 08:41:06

by Andi Kleen

[permalink] [raw]
Subject: Re: Can we remove the Zone_DMA?

[email protected] (Eric W. Biederman) writes:

Revisiting old posts. Sorry for digging up this old thread
from its grave.

> Ultimately I don't see much point in disabling ZONE_DMA. It is a lot of
> work to track down if it is really needed, and it only costs 16MB. So
> unless someone shows me that ZONE_DMA triggers the OOM killer unnecessarily
> or otherwise impacts the system what does legacy code hurt?

It has quite a lot of impact on slab for example.

The main users today are mostly some users who need to have less tha 4GB
on 64bit systems. The problem is for those often 16MB is not enough.
So on many systems 16MB is too much and on others it isn't enough.

A long time ago I had a patchkit to replace it with a range allocator,
merge it with softiotlb and replace all the allocations with real masks.

It never got quite merged and still needed some more work.

ftp://firstfloor.org/pub/ak/dma/INTRO

All the issues described in the INTRO are still there.

-Andi
--
[email protected] -- Speaking for myself only.