Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • World
  • Users
  • Groups
Skins
  • Light
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
Code Project
  1. Home
  2. The Lounge
  3. Dual-core CPUs and Multi-threading [modified]

Dual-core CPUs and Multi-threading [modified]

Scheduled Pinned Locked Moved The Lounge
asp-nethardwareperformancequestion
30 Posts 19 Posters 0 Views 1 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • R Offline
    R Offline
    realJSOP
    wrote on last edited by
    #1

    When you have a dual core CPU, does a multi-threaded app "just know" that it can use the 2nd core, or can/must you set cpu affinity on a thread-by-thread basis in order to take advantage of the 2nd core? Now that I have a dual-core CPU, I was thinking about writing an app to compare the speed of using just one core versus using both cores to run a calculation-intensive thread. (It's fun to play with ne hardware.) -- modified at 8:33 Friday 4th August, 2006 (for spelling errors)

    "Why don't you tie a kerosene-soaked rag around your ankles so the ants won't climb up and eat your candy ass..." - Dale Earnhardt, 1997
    -----
    "...the staggering layers of obscenity in your statement make it a work of art on so many levels." - Jason Jystad, 10/26/2001

    J A M G M 9 Replies Last reply
    0
    • R realJSOP

      When you have a dual core CPU, does a multi-threaded app "just know" that it can use the 2nd core, or can/must you set cpu affinity on a thread-by-thread basis in order to take advantage of the 2nd core? Now that I have a dual-core CPU, I was thinking about writing an app to compare the speed of using just one core versus using both cores to run a calculation-intensive thread. (It's fun to play with ne hardware.) -- modified at 8:33 Friday 4th August, 2006 (for spelling errors)

      "Why don't you tie a kerosene-soaked rag around your ankles so the ants won't climb up and eat your candy ass..." - Dale Earnhardt, 1997
      -----
      "...the staggering layers of obscenity in your statement make it a work of art on so many levels." - Jason Jystad, 10/26/2001

      J Offline
      J Offline
      Jonathan Darka
      wrote on last edited by
      #2

      You do not have to specify affinity, windows 'should' do this for you and you application should make use of all of the available CPUs based on your processes default affinity. Typeically you only set affinity if you need to limit the process/thread to a single or specific CPU. -- modified at 8:12 Friday 4th August, 2006


      Darka [Xanya] "When you're taught to love everyone, to love your enemies, then what value does that place on love?"

      1 Reply Last reply
      0
      • R realJSOP

        When you have a dual core CPU, does a multi-threaded app "just know" that it can use the 2nd core, or can/must you set cpu affinity on a thread-by-thread basis in order to take advantage of the 2nd core? Now that I have a dual-core CPU, I was thinking about writing an app to compare the speed of using just one core versus using both cores to run a calculation-intensive thread. (It's fun to play with ne hardware.) -- modified at 8:33 Friday 4th August, 2006 (for spelling errors)

        "Why don't you tie a kerosene-soaked rag around your ankles so the ants won't climb up and eat your candy ass..." - Dale Earnhardt, 1997
        -----
        "...the staggering layers of obscenity in your statement make it a work of art on so many levels." - Jason Jystad, 10/26/2001

        A Offline
        A Offline
        AbhishekBK
        wrote on last edited by
        #3

        John Simmons / outlaw programmer wrote:

        It's fun to play with ne hardware.

        It always is.

        Abhishek

        1 Reply Last reply
        0
        • R realJSOP

          When you have a dual core CPU, does a multi-threaded app "just know" that it can use the 2nd core, or can/must you set cpu affinity on a thread-by-thread basis in order to take advantage of the 2nd core? Now that I have a dual-core CPU, I was thinking about writing an app to compare the speed of using just one core versus using both cores to run a calculation-intensive thread. (It's fun to play with ne hardware.) -- modified at 8:33 Friday 4th August, 2006 (for spelling errors)

          "Why don't you tie a kerosene-soaked rag around your ankles so the ants won't climb up and eat your candy ass..." - Dale Earnhardt, 1997
          -----
          "...the staggering layers of obscenity in your statement make it a work of art on so many levels." - Jason Jystad, 10/26/2001

          M Offline
          M Offline
          malockin
          wrote on last edited by
          #4

          I think that the OS kernel is supposed to take care of distributing the threads among available CPUs. -- I don't suffer from insanity.. I enjoy every minute of it.

          1 Reply Last reply
          0
          • R realJSOP

            When you have a dual core CPU, does a multi-threaded app "just know" that it can use the 2nd core, or can/must you set cpu affinity on a thread-by-thread basis in order to take advantage of the 2nd core? Now that I have a dual-core CPU, I was thinking about writing an app to compare the speed of using just one core versus using both cores to run a calculation-intensive thread. (It's fun to play with ne hardware.) -- modified at 8:33 Friday 4th August, 2006 (for spelling errors)

            "Why don't you tie a kerosene-soaked rag around your ankles so the ants won't climb up and eat your candy ass..." - Dale Earnhardt, 1997
            -----
            "...the staggering layers of obscenity in your statement make it a work of art on so many levels." - Jason Jystad, 10/26/2001

            G Offline
            G Offline
            Gary R Wheeler
            wrote on last edited by
            #5

            John Simmons / outlaw programmer wrote:

            It's fun to play with new hardware

            <voice_of_envy> And to brag about it :-D. </voice_of_envy>


            Software Zen: delete this;

            Fold With Us![^]

            R 1 Reply Last reply
            0
            • R realJSOP

              When you have a dual core CPU, does a multi-threaded app "just know" that it can use the 2nd core, or can/must you set cpu affinity on a thread-by-thread basis in order to take advantage of the 2nd core? Now that I have a dual-core CPU, I was thinking about writing an app to compare the speed of using just one core versus using both cores to run a calculation-intensive thread. (It's fun to play with ne hardware.) -- modified at 8:33 Friday 4th August, 2006 (for spelling errors)

              "Why don't you tie a kerosene-soaked rag around your ankles so the ants won't climb up and eat your candy ass..." - Dale Earnhardt, 1997
              -----
              "...the staggering layers of obscenity in your statement make it a work of art on so many levels." - Jason Jystad, 10/26/2001

              M Offline
              M Offline
              Mike Dimmick
              wrote on last edited by
              #6

              The OS allocates threads to logical processors, if they're runnable (not blocked or suspended), in order of priority. A thread will run for up to its quantum on any CPU on which it's allowed to run (you can set affinity to restrict a thread to specific logical processors) unless it's pre-empted by a higher priority thread. Windows boosts foreground apps by giving their threads a longer quantum than background apps. To take advantage of cache locality, Windows remembers which logical processor (logical HT core, physical core, physical processor) a thread last ran on, and a preferred logical processor for that thread. Each new thread in a process gets a different preferred processor from the previous one, rotating across the logical processors. If possible, it runs the thread on the last processor, or if that is not available, on the preferred processor. If neither are available it tries a nearby processor - another logical HT processor on the same core, another core in the same package, then other cores in the same memory domain (for Non-Uniform Memory Access [NUMA] systems), then finally any available core. The full details are in 'Windows Internals, 4th Edition' by Mark Russinovich and David Solomon. I'm hoping that Mark's SysInternals' acquisition by Microsoft doesn't get in the way of him updating this book!

              Stability. What an interesting concept. -- Chris Maunder

              J G L S 4 Replies Last reply
              0
              • M Mike Dimmick

                The OS allocates threads to logical processors, if they're runnable (not blocked or suspended), in order of priority. A thread will run for up to its quantum on any CPU on which it's allowed to run (you can set affinity to restrict a thread to specific logical processors) unless it's pre-empted by a higher priority thread. Windows boosts foreground apps by giving their threads a longer quantum than background apps. To take advantage of cache locality, Windows remembers which logical processor (logical HT core, physical core, physical processor) a thread last ran on, and a preferred logical processor for that thread. Each new thread in a process gets a different preferred processor from the previous one, rotating across the logical processors. If possible, it runs the thread on the last processor, or if that is not available, on the preferred processor. If neither are available it tries a nearby processor - another logical HT processor on the same core, another core in the same package, then other cores in the same memory domain (for Non-Uniform Memory Access [NUMA] systems), then finally any available core. The full details are in 'Windows Internals, 4th Edition' by Mark Russinovich and David Solomon. I'm hoping that Mark's SysInternals' acquisition by Microsoft doesn't get in the way of him updating this book!

                Stability. What an interesting concept. -- Chris Maunder

                J Offline
                J Offline
                Jonathan Darka
                wrote on last edited by
                #7

                Mike Dimmick wrote:

                I'm hoping that Mark's SysInternals' acquisition by Microsoft doesn't get in the way of him updating this book

                It is a great book, just over halfway through it.


                Darka [Xanya] "When you're taught to love everyone, to love your enemies, then what value does that place on love?"

                1 Reply Last reply
                0
                • G Gary R Wheeler

                  John Simmons / outlaw programmer wrote:

                  It's fun to play with new hardware

                  <voice_of_envy> And to brag about it :-D. </voice_of_envy>


                  Software Zen: delete this;

                  Fold With Us![^]

                  R Offline
                  R Offline
                  realJSOP
                  wrote on last edited by
                  #8

                  Don't get too envious yet. Apparently there are "issues" with multiple cores under Windows with several apps (mostly games, but I don't own any of the ones I've seen mentioned), and this is such a problem that AMD has issued a new driver, and MS has issued a patch to address it. I'm running Win2K on the system in question, and I haven't noticed any problems (yet), but if I do, I haven't found anything about whether or not the driver/patch combo will work on Win2K. I'm not sure what I need to do about it yet, either. -- modified at 8:31 Friday 4th August, 2006

                  "Why don't you tie a kerosene-soaked rag around your ankles so the ants won't climb up and eat your candy ass..." - Dale Earnhardt, 1997
                  -----
                  "...the staggering layers of obscenity in your statement make it a work of art on so many levels." - Jason Jystad, 10/26/2001

                  J G D D S 5 Replies Last reply
                  0
                  • R realJSOP

                    Don't get too envious yet. Apparently there are "issues" with multiple cores under Windows with several apps (mostly games, but I don't own any of the ones I've seen mentioned), and this is such a problem that AMD has issued a new driver, and MS has issued a patch to address it. I'm running Win2K on the system in question, and I haven't noticed any problems (yet), but if I do, I haven't found anything about whether or not the driver/patch combo will work on Win2K. I'm not sure what I need to do about it yet, either. -- modified at 8:31 Friday 4th August, 2006

                    "Why don't you tie a kerosene-soaked rag around your ankles so the ants won't climb up and eat your candy ass..." - Dale Earnhardt, 1997
                    -----
                    "...the staggering layers of obscenity in your statement make it a work of art on so many levels." - Jason Jystad, 10/26/2001

                    J Offline
                    J Offline
                    Jonathan Darka
                    wrote on last edited by
                    #9

                    John Simmons / outlaw programmer wrote:

                    Apparently there are "issues" with multiple cores under Windows with several apps

                    oh yes there are, it took ages to get Command & Conquer Generals working, but it did in the end. Not come across anything that didn't work straight away though, been multi-core for a couple of months now, wouldn't move back (2 Gb ram helps too!).


                    Darka [Xanya] "When you're taught to love everyone, to love your enemies, then what value does that place on love?"

                    1 Reply Last reply
                    0
                    • R realJSOP

                      When you have a dual core CPU, does a multi-threaded app "just know" that it can use the 2nd core, or can/must you set cpu affinity on a thread-by-thread basis in order to take advantage of the 2nd core? Now that I have a dual-core CPU, I was thinking about writing an app to compare the speed of using just one core versus using both cores to run a calculation-intensive thread. (It's fun to play with ne hardware.) -- modified at 8:33 Friday 4th August, 2006 (for spelling errors)

                      "Why don't you tie a kerosene-soaked rag around your ankles so the ants won't climb up and eat your candy ass..." - Dale Earnhardt, 1997
                      -----
                      "...the staggering layers of obscenity in your statement make it a work of art on so many levels." - Jason Jystad, 10/26/2001

                      R Offline
                      R Offline
                      Ryan Binns
                      wrote on last edited by
                      #10

                      As Darka and Mike have said, you don't have to do anything; Windows will do it for you. You can, however, limit which processors your threads will run on using the CPU affinity is you wish. If you have two threads sharing the same data that can be cached, then it makes sense to run them on the same processor, or different HT cores of the same CPU, so that they can use the same cache.

                      Ryan

                      "Punctuality is only a virtue for those who aren't smart enough to think of good excuses for being late" John Nichol "Point Of Impact"

                      1 Reply Last reply
                      0
                      • M Mike Dimmick

                        The OS allocates threads to logical processors, if they're runnable (not blocked or suspended), in order of priority. A thread will run for up to its quantum on any CPU on which it's allowed to run (you can set affinity to restrict a thread to specific logical processors) unless it's pre-empted by a higher priority thread. Windows boosts foreground apps by giving their threads a longer quantum than background apps. To take advantage of cache locality, Windows remembers which logical processor (logical HT core, physical core, physical processor) a thread last ran on, and a preferred logical processor for that thread. Each new thread in a process gets a different preferred processor from the previous one, rotating across the logical processors. If possible, it runs the thread on the last processor, or if that is not available, on the preferred processor. If neither are available it tries a nearby processor - another logical HT processor on the same core, another core in the same package, then other cores in the same memory domain (for Non-Uniform Memory Access [NUMA] systems), then finally any available core. The full details are in 'Windows Internals, 4th Edition' by Mark Russinovich and David Solomon. I'm hoping that Mark's SysInternals' acquisition by Microsoft doesn't get in the way of him updating this book!

                        Stability. What an interesting concept. -- Chris Maunder

                        G Offline
                        G Offline
                        Graham Shanks
                        wrote on last edited by
                        #11

                        A colleague told me the other day that he had tried to run one of our applications on a specified core (after your explanation I reckon that he set the affinity to a specified core) and that it actually slowed the application down. Is this because the thread restricted to a specific logical processor might be blocked by other threads, whilst if it wasn't restricted then it would be free to take up time on another logical processor? Graham My signature is not black, just a very, very dark blue

                        1 Reply Last reply
                        0
                        • R realJSOP

                          Don't get too envious yet. Apparently there are "issues" with multiple cores under Windows with several apps (mostly games, but I don't own any of the ones I've seen mentioned), and this is such a problem that AMD has issued a new driver, and MS has issued a patch to address it. I'm running Win2K on the system in question, and I haven't noticed any problems (yet), but if I do, I haven't found anything about whether or not the driver/patch combo will work on Win2K. I'm not sure what I need to do about it yet, either. -- modified at 8:31 Friday 4th August, 2006

                          "Why don't you tie a kerosene-soaked rag around your ankles so the ants won't climb up and eat your candy ass..." - Dale Earnhardt, 1997
                          -----
                          "...the staggering layers of obscenity in your statement make it a work of art on so many levels." - Jason Jystad, 10/26/2001

                          G Offline
                          G Offline
                          Gary R Wheeler
                          wrote on last edited by
                          #12

                          Based on comments from the device driver guy in my group, I wouldn't be surprised to see a lot of driver updates. Apparently it's pretty easy for a driver to assume a single processor environment and fail to take into account multiprocessor issues. This causes everything from performance problems to random BSOD's.

                          John Simmons / outlaw programmer wrote:

                          I'm running Win2K on the system in question

                          I didn't think Win2K supported multiple processors out of the box. Or are you running a server version?


                          Software Zen: delete this;

                          Fold With Us![^]

                          R D 2 Replies Last reply
                          0
                          • M Mike Dimmick

                            The OS allocates threads to logical processors, if they're runnable (not blocked or suspended), in order of priority. A thread will run for up to its quantum on any CPU on which it's allowed to run (you can set affinity to restrict a thread to specific logical processors) unless it's pre-empted by a higher priority thread. Windows boosts foreground apps by giving their threads a longer quantum than background apps. To take advantage of cache locality, Windows remembers which logical processor (logical HT core, physical core, physical processor) a thread last ran on, and a preferred logical processor for that thread. Each new thread in a process gets a different preferred processor from the previous one, rotating across the logical processors. If possible, it runs the thread on the last processor, or if that is not available, on the preferred processor. If neither are available it tries a nearby processor - another logical HT processor on the same core, another core in the same package, then other cores in the same memory domain (for Non-Uniform Memory Access [NUMA] systems), then finally any available core. The full details are in 'Windows Internals, 4th Edition' by Mark Russinovich and David Solomon. I'm hoping that Mark's SysInternals' acquisition by Microsoft doesn't get in the way of him updating this book!

                            Stability. What an interesting concept. -- Chris Maunder

                            L Offline
                            L Offline
                            Lost User
                            wrote on last edited by
                            #13

                            Mark is the man alright. I've got a lot of respect for him since the first time I used DebugView. Man, it was a real god send. And we use it really heavily now. I just hope he gets a Vista version going soon.

                            Truth is the subjection of reality to an individuals perception

                            D 1 Reply Last reply
                            0
                            • R realJSOP

                              When you have a dual core CPU, does a multi-threaded app "just know" that it can use the 2nd core, or can/must you set cpu affinity on a thread-by-thread basis in order to take advantage of the 2nd core? Now that I have a dual-core CPU, I was thinking about writing an app to compare the speed of using just one core versus using both cores to run a calculation-intensive thread. (It's fun to play with ne hardware.) -- modified at 8:33 Friday 4th August, 2006 (for spelling errors)

                              "Why don't you tie a kerosene-soaked rag around your ankles so the ants won't climb up and eat your candy ass..." - Dale Earnhardt, 1997
                              -----
                              "...the staggering layers of obscenity in your statement make it a work of art on so many levels." - Jason Jystad, 10/26/2001

                              J Offline
                              J Offline
                              John M Drescher
                              wrote on last edited by
                              #14

                              John Simmons / outlaw programmer wrote:

                              Now that I have a dual-core CPU, I was thinking about writing an app to compare the speed of using just one core versus using both cores to run a calculation-intensive thread. (It's fun to play with ne hardware.)

                              If your calculation is not mutlithreaded the result is the dual core will probably be slower considering that it is probably clocked slower than the processor it replaces.

                              John

                              R 1 Reply Last reply
                              0
                              • R realJSOP

                                Don't get too envious yet. Apparently there are "issues" with multiple cores under Windows with several apps (mostly games, but I don't own any of the ones I've seen mentioned), and this is such a problem that AMD has issued a new driver, and MS has issued a patch to address it. I'm running Win2K on the system in question, and I haven't noticed any problems (yet), but if I do, I haven't found anything about whether or not the driver/patch combo will work on Win2K. I'm not sure what I need to do about it yet, either. -- modified at 8:31 Friday 4th August, 2006

                                "Why don't you tie a kerosene-soaked rag around your ankles so the ants won't climb up and eat your candy ass..." - Dale Earnhardt, 1997
                                -----
                                "...the staggering layers of obscenity in your statement make it a work of art on so many levels." - Jason Jystad, 10/26/2001

                                D Offline
                                D Offline
                                daniilzol
                                wrote on last edited by
                                #15

                                Never had any problems with dual P3 config I had, but that was years ago. In any case, you can manually force affinity to one of the cores through task manager, shouldn't that fix the problem?

                                R 1 Reply Last reply
                                0
                                • R realJSOP

                                  Don't get too envious yet. Apparently there are "issues" with multiple cores under Windows with several apps (mostly games, but I don't own any of the ones I've seen mentioned), and this is such a problem that AMD has issued a new driver, and MS has issued a patch to address it. I'm running Win2K on the system in question, and I haven't noticed any problems (yet), but if I do, I haven't found anything about whether or not the driver/patch combo will work on Win2K. I'm not sure what I need to do about it yet, either. -- modified at 8:31 Friday 4th August, 2006

                                  "Why don't you tie a kerosene-soaked rag around your ankles so the ants won't climb up and eat your candy ass..." - Dale Earnhardt, 1997
                                  -----
                                  "...the staggering layers of obscenity in your statement make it a work of art on so many levels." - Jason Jystad, 10/26/2001

                                  D Offline
                                  D Offline
                                  dandy72
                                  wrote on last edited by
                                  #16

                                  > Apparently there are "issues" with multiple cores under Windows with several apps (mostly games The only problem I've seen with a game when I swapped my Athlon64 3200 with a 4800 was GTA San Andreas. The timing was *way* off, eg, the in-game clock and traffic moved as fast as the machine could make it (which was interesting in its own right) :-D My quick solution was to reinstall the game on top of itself (fortunately the installer was smart enough to realize it didn't actually have to transfer any files back from the media on the hard drive), so that took less than 30 seconds. I haven't encountered any other problem whatsoever, and I simply dropped the new CPU in without reinstalling anything. At some later point I stumbled upon AMD's newer driver and installed it, but I can't even comment whether that made any difference or not...

                                  D S 2 Replies Last reply
                                  0
                                  • L Lost User

                                    Mark is the man alright. I've got a lot of respect for him since the first time I used DebugView. Man, it was a real god send. And we use it really heavily now. I just hope he gets a Vista version going soon.

                                    Truth is the subjection of reality to an individuals perception

                                    D Offline
                                    D Offline
                                    dandy72
                                    wrote on last edited by
                                    #17

                                    > I just hope he gets a Vista version going soon. After going through an acquisition, if MS wants him to write any code at all, you can bet one of his first tasks would be to ensure his existing utilities work on Vista...

                                    1 Reply Last reply
                                    0
                                    • D dandy72

                                      > Apparently there are "issues" with multiple cores under Windows with several apps (mostly games The only problem I've seen with a game when I swapped my Athlon64 3200 with a 4800 was GTA San Andreas. The timing was *way* off, eg, the in-game clock and traffic moved as fast as the machine could make it (which was interesting in its own right) :-D My quick solution was to reinstall the game on top of itself (fortunately the installer was smart enough to realize it didn't actually have to transfer any files back from the media on the hard drive), so that took less than 30 seconds. I haven't encountered any other problem whatsoever, and I simply dropped the new CPU in without reinstalling anything. At some later point I stumbled upon AMD's newer driver and installed it, but I can't even comment whether that made any difference or not...

                                      D Offline
                                      D Offline
                                      Dan Neely
                                      wrote on last edited by
                                      #18

                                      AIUI the updated driver's primary fix was to a power/noise conservation feature that could underclock the two cores independently causing timers to fall out of syncronization.

                                      R 1 Reply Last reply
                                      0
                                      • G Gary R Wheeler

                                        Based on comments from the device driver guy in my group, I wouldn't be surprised to see a lot of driver updates. Apparently it's pretty easy for a driver to assume a single processor environment and fail to take into account multiprocessor issues. This causes everything from performance problems to random BSOD's.

                                        John Simmons / outlaw programmer wrote:

                                        I'm running Win2K on the system in question

                                        I didn't think Win2K supported multiple processors out of the box. Or are you running a server version?


                                        Software Zen: delete this;

                                        Fold With Us![^]

                                        R Offline
                                        R Offline
                                        realJSOP
                                        wrote on last edited by
                                        #19

                                        Gary R. Wheeler wrote:

                                        I didn't think Win2K supported multiple processors out of the box. Or are you running a server version?

                                        I'm using Win2k Pro. If you go into device manager, expand the tree item "Computer", double-click the sub item, and click the 2nd tab, you'll see two items listed - Single CPU, and Mulitple CPU. All I had to do was click the multiple CPU option, and reboot.

                                        "Why don't you tie a kerosene-soaked rag around your ankles so the ants won't climb up and eat your candy ass..." - Dale Earnhardt, 1997
                                        -----
                                        "...the staggering layers of obscenity in your statement make it a work of art on so many levels." - Jason Jystad, 10/26/2001

                                        1 Reply Last reply
                                        0
                                        • D daniilzol

                                          Never had any problems with dual P3 config I had, but that was years ago. In any case, you can manually force affinity to one of the cores through task manager, shouldn't that fix the problem?

                                          R Offline
                                          R Offline
                                          realJSOP
                                          wrote on last edited by
                                          #20

                                          Yeah, but that's a pain. :)

                                          "Why don't you tie a kerosene-soaked rag around your ankles so the ants won't climb up and eat your candy ass..." - Dale Earnhardt, 1997
                                          -----
                                          "...the staggering layers of obscenity in your statement make it a work of art on so many levels." - Jason Jystad, 10/26/2001

                                          1 Reply Last reply
                                          0
                                          Reply
                                          • Reply as topic
                                          Log in to reply
                                          • Oldest to Newest
                                          • Newest to Oldest
                                          • Most Votes


                                          • Login

                                          • Don't have an account? Register

                                          • Login or register to search.
                                          • First post
                                            Last post
                                          0
                                          • Categories
                                          • Recent
                                          • Tags
                                          • Popular
                                          • World
                                          • Users
                                          • Groups